thoughtbot New Bamboo is now part of thoughtbot

Read the announcement

The Bamboo Blog

Our thoughts on agile development and web technology

  1. Ismael Celis

    A network of data consumers and producers with Go, UDP, Redis and ZeroMQ


    The final setup


    I’m building a fleet of small network daemons using Go, UDP, Redis and ZeroMQ to collect and aggregate metrics from a multi-server application.

    Context and motivation

    For a side project I run (multi-tenant, e-commercey), I wanted to collect some basic usage and server data but wasn’t sure what solution to go for. Should I go with a combination of Statsd + Graphite? Maybe get all functional with Riemann?

    Continue reading

  2. Gwyn Morfey

    Hiring the change you want to see in the world


    Update: Neil has released his first blog as a Bambino, check it out - it’s worth a read!

    Everyone in the London tech scene has the same gripe: it just seems impossible to hire experienced, skilled, enthusiastic developers.

    London is full of whipsmart people, a bustling and established tech scene, dozens of Universities and hundreds of colleges and training courses. And like a lot of software companies, we use Ruby, a language that’s actually designed to make developers happy.

    It seems there really ought to be enough developers to go around. But with demand for developers growing at 20% annually, supply is in fact severely lagging.

    Continue reading

  3. Oscar Barlow

    Join us: we're looking for a Head of Account Management


    We’re getting more business than Gwyn can deal with on his own. That means we have an exciting problem to solve: we need to hire a Head of Account Management. We’re looking for someone who will joyfully spend every minute of their day making sure our live clients are happy, looking for new partnerships, and setting up projects.

    We believe in getting deeply involved in our clients’ businesses, building a relationship as their technical partner rather than as a ship-it-and-move-on shop. Our approach is personal, it’s time-consuming, and it’s completely worthwhile.

    If that sounds like your sort of thing, find out more here:

    Continue reading

  4. Oliver Nightingale

    Keeping development logs under control


    For deployed Rails apps it is good practise to set up log rotation to prevent the production logs filling up the server’s disk. Usually this is achieved with logrotate or similar.

    When developing locally your Rails app will also be logging, both in development and in test environments. If you have been working on a project for a long period of time you may find that a large amount of your disk space is being taken up by your development logs.

    You may find it useful to set up log rotation locally to ensure that your development and test logs don’t get out of hand.


    OS X comes with newsyslog, a tool for rotating log files, similar to logrotate. OS X uses this for managing the system logs and you can see the configuration for these at /etc/newsyslog.conf and inside /etc/newsyslog.d/. We will use this to manage truncating our development logs.

    Continue reading

  5. Oscar Barlow

    Video: Sam Whiting explains Lencioni's 5 Dysfunctions of a Team


    Good teamwork is an intangible but sustainable advantage that your competitors are going to find it really hard to copy. You can be backed up by finance and the best technology, but if your teams are dysfunctional, you’re probably going to see suboptimal outcomes.

    Our scrum master Sam Whiting gave a talk on Patrick Lencioni’s The Five Dysfunctions of a Team to the London Agile Practitioners meetup recently which gives you five symptoms to look out for in a dysfunctional team. He’s seen many of these symptoms myself, and in the video he shares the ways he’s learned to combat them.

    Continue reading

  6. Lee Machin

    Deploying Rails 4 on Heroku


    Rails 4 was released a short while ago, and it’s usually good practice to keep your app up to date. Improved performance makes for a better development experience as much as it benefits the users in production; security fixes are equally valuable just for the peace of mind; and getting all of it done sooner rather than later invariably means fewer headaches while fixing your code.

    The last thing you want to worry about when performing such an upgrade, though, is a bunch of strange errors that stop you dead in your tracks when you try to deploy it. Why does the app connect to Redis when precompiling the assets? Why are none of the things in the public folder displaying correctly? This is a particular problem when using Heroku, which for the time being requires extra configuration and set up to run a Rails 4 app.

    Continue reading

  7. Oscar Barlow

    Video: London d3.js meetup #4 with Tim Ruffles and Alastair Maw


    A few months ago we filmed the May London d3.js meetup. You can read a report of the meetup in a blog post we published at the time. I’m pleased to say that the recording is now online - the video below contains presentations from both speakers:
    * “Visualising code in d3.js” by Tim Ruffles, and
    * “Realtime time series visualisation” by Alastair Maw

    We filmed the June meetup too, and will be publishing that shortly. Register for the July d3.js meetup on the Lanyrd group.

    Continue reading

  8. Tony Marklove

    Custom ActiveMerchant Gateway Connections


    Choosing a payment processor is always a tricky decision. There are various technical and business factors that can influence the decision. We have been working with a client who needed to act effectively as an escrow service between customers and the service providers they were in partnership with. This is a business model that not all merchant account providers are willing to accept.

    The merchant account that the client ended applying for would only accept Ogone as the payment gateway. Not one I have personally used before, but luckily there was already an ActiveMerchant implementation.

    Continue reading

  9. Makoto Inoue

    London d3.js Meetup #5


    Our 5th meetup was held at the Skimlinks office.

    Special thanks to @skimlinks for providing the venue, pizzas and beers again.

    We had 2 speakers, Peter Cook(@prcweb) and Alistair Jones(@apcj) and here are the links to each talk.

    (NOTE: We took videos again, and hopefully will update them once edited)

    “Ten Visualisations of a Single Dataset using D3” By Peter Cook

    “Drawing graphs: arrows are beautiful” By Alistair Jones

    Continue reading