The Bamboo Blog

Our thoughts on agile development and web technology

  1. Makoto Inoue

    Web makers gather for 24 hour "App making" marathon for the summer of sport.


    Many of us join the game as spectators, but a group of web designers and programmers decided to stay together in the centre of London to participate App making marathon called Londinium MMXII Hackathon.

    “Hackathon” is the combination of “Hack” + “Marathon”. “Hack” does not mean attacking the Olympics website, but means to make some “Cool Apps”, such as data visualisation, geo mashup, games, and even some gadgets. Since this is called “Marathon”, these technologist gather for a whole weekend, and some of them stays over the venue with sleeping bags to work on their apps in a theme of London and summer of sports.

    Continue reading

  2. Makoto Inoue

    Olympic Medal Rivalry


    Olympic Medal Rivalry



    Whether you bought many game tickets or are ready to pack your clothes to fly away from chaotic London, there is one thing you can not ignore during the Olympic game period: the medal counts race among countries. The IOC states that the competition is among individuals, not countries, but that’s what most people get excited or emotional about.

    I analysed the past Olympic data from various angles and created a few data visualisation apps. You can play with the apps so that you can find answers to the following questions everybody is curious about:

    Continue reading

  3. Pablo Brasero

    Teaching programming to kids


    New Bamboo's culture is about making ourselves and our clients happy, but we just don't stop at that. Recently, I joined an initiative to teach kids how to program. During 5 weeks, I joined Yali Sassoon and helped him hosting after-school programming lessons at Burlington Danes Academy School.

    Once a week, we would get some brave volunteers (that's the kids!) who would let us introducing them to the wonderful world of computer programming. I had been for some time interested in the topic, and wanted to share my love for my trade with others. This was the perfect opportunity for me.

    Yali did a great job organising the sessions, and we also received the kind assistance of the school, which hosted us. Thanks to both!

    Continue reading

  4. Mark Evans

    Sprinkling async magic on your Rack app


    A couple of years ago I starting writing a library called Dragonfly which, among other things, can be used for resizing images on-the-fly, using Rack.

    One simple use case for it could be responding to a request by:

    1. Fetching an image from a remote url
    2. Resizing the image by shelling out to the command line, using imagemagick
    3. Serving the resized image

    Although it already makes use of caching, and has one or two other ways of improving performance, it would be great if we could squeeze more performance out of it using the fact that there are places where it is essentially waiting on I/O (e.g. when fetching from the remote url).

    Continue reading

  5. Przemek Hocke

    Create, test and deploy rails blog in 15 minutes?


    Can you create a working application in 15 minutes?

    I believe that yes indeed you can do that. The questions are: How?
    What are the downsides?.

    The how is pretty much using right tools for the job. For most of my
    projects it means this:

    -Ruby 1.9.2
    -Ruby on rails 3.1 +
    -Twitter Bootstrap
    -Ubuntu on a remote server

    …and maybe a few more.

    The mantra of design patterns is “Separate what changes from the
    things that stay the same”. So what should be the pattern for a quick
    build script of a rails application?

    Sure - you’ve got scaffolds, but I think they are not the answer to
    all of the problems. In fact they don’t help with most of the setup
    tasks that you perform to create basic rails app.

    Continue reading

  6. Pablo Brasero

    Ridiculously simple Ajax uploads with FormData


    Added the Android inconsistencies section


    Back in June 2010, I published a blog post detailing how to perform Ajax file uploads from your HTML forms. The result worked pretty well, but there was still some room for browser vendors to make things even simpler for us.

    Turns out, they have. The specific improvement that made this possible is the FormData interface, first introduced in Safari 5, and later in Chrome 7 and Firefox 4.

    Continue reading

  7. Gwyn Morfey

    Designing For Speed [Coding]


    They’re called sprints because they’re fast.

    Agile development is designed for quality and flexibility. The fact that it’s also highly efficient is a bonus. There’s a huge variance in developer efficiency, even among capable and motivated people, and the combination of Rails and a strong process means that we really get things done.

    Sprint planning

    On the surface, planning out and committing to a one-week sprint is about giving the product owner - the client - some certainty about what they’ll be able to ship. But as a developer, it provides a powerful focus.

    Taking this to the extreme, I was able to write Relentless Memory in a matter of hours because I knew exactly what I wanted to build, why, and how I was going to do it. And this was under adverse circumstances: normally my early mornings aren’t good for anything but drinking tea and reading Hacker News while I wait to wake up, but with narrow, clear direction they became highly productive.

    Continue reading

  8. Oliver Nightingale

    Experiments with the HTML5 Audio Data API


    About a month ago we had a hack day at New Bamboo, a day where all the bambinos were free to work on any kind of project they wanted to. I decided to experiment with the HTML5 Audio Data Api, and, (code) is the outcome of that experiment. is a small app that allows you to listen to music available on SoundCloud. Whilst the audio is playing it draws a visualisation of the current song using HTML5 canvas. It uses a server component, powered by Node.js, to convert SoundCloud’s streaming MP3 audio into the OGG format - which Firefox supports.

    Audio Data API

    Browser specifics

    Continue reading

  9. Makoto Inoue

    Translation of Matz Q&A article after joining Heroku


    Note from translator:

    This is a translation of an article from “PublicKey” - Enterprise IT x Cloud Computing x Web Technology / Blog.

    Mr Junichi Niino kindly allowed me to translate his original article from Japanese to English.

    Also, special thanks to @knowtheory for editing my translation.

    Title: “I am looking forward to accelerating Ruby’s progress” - Q&A with Matz regarding joining Heroku as a chief architect.

    Date: 13th July 2011


    As mentioned in my previous article, It has been announced that Yukihiro Matsumoto (Matz) is joining Heroku as Chief Architect of Ruby. I asked Matz about the story behind his future role via email.

    Continue reading