Archive for February, 2009

Techietubbies Live

Monday, February 16th, 2009

I’ve just got home after hosting Techietubbies Live with John Leach and Dom Hodgson – a video podcast, supposedly about techie stuff.  Turns out it was more about spilt Pepsi, Steve Jobs’ massive finger and casual racism.  All good stuff: watch this week’s here and we’ll be back next Monday at 8pm UTC (probably).

Complexity is everywhere

Wednesday, February 11th, 2009

I’ve been a fan of Basecamp for years.  Ever since I heard about it (all the way back in 2005) I’ve encouraged its use whenever possible.  It has pretty much become the de-facto standard for web-developers across the world.  Part of its appeal is its unstructured nature – it’s basically a series of messages with task lists and dates.  Use what you want, how you want.  Each task item has three variables – title, task list it belongs to and position in the list (and they recently added a comments stream so you can discuss the item).  

However, sometimes its laissez faire approach is too unstructured.  So you may move to a bug-tracker.  The big problem there is, no matter how simple you think things are, how many fields you make optional, there is always an issue about complexity.  What takes precedence?  The issue-priority or the version that it has been assigned to?  Or does something over due date take precedence over both of those?  

You see, adding anything increases the complexity exponentially – going from three variables in Basecamp to eight or nine in a bug-tracker (and that’s a simple bug-tracker, not like the beast that is Bugzilla) means you have to define what each of those fields means to you and how they interact.  

Even the most apparently simple piece of software has this inherent complexity – look at the massive variation in Twitter clients – despite Twitter being nothing than a single 140-character text field.  All of which shows why software development can sometimes be very very hard to get right.

The five day product launch

Friday, February 6th, 2009

The launch of isitruby1.9.com is exciting for a couple of reasons.  The obvious reasons are that this is something that we, as Ruby developers, needed.  It gets the Brightbox name out there.   And it’s also nice to get people together and give something to “the community”.  

But personally, what I like best about it, is that the entire site was built, from original idea to launch in less than five days.  

Last weekend, Caius and I had chatted about how we needed to test our stuff against Ruby 1.9.  John suggested automatically downloading and testing gems and reporting the results back to a web-site “a bit like the wine project does”.  David popped up in our Jabber room a couple of hours later saying “I’ve had an idea … isitruby19.com … list stuff that does and doesn’t work with ruby 1.9″.  Jeremy liked the idea … “I could probably skin it tomorrow night”.  

And so an evening of hacking by David gets a basic framework in place – he pulls the gems from Rubyforge and adds a comments model.  I take over on Monday, putting a basic HTML interface together, with gravatars and captchas, which Jeremy then makes look nice.  A blind alley over user registration, a few problems with Ferret, but by Tuesday we were pretty much done.  Deploy to the live site on Wednesday and then we just needed to test a few gems to seed the display.  Come Thursday and we all tweet about the new site … and isitruby1.9.com is launched.

From our point of view, it was great to do.  We still had our normal “day” jobs to deal with, but the excitement of a brand new project (with the added pressure of knowing that there were probably other people with the same idea looking to launch soon) was fantastic.  

And there’s still loads to do (as you can see from the discussion ongoing on the Brightbox forums) but I have to say I’m really pleased with how things have worked out so far.  We kept it agile, we kept it focussed and we kept it fun!

Ruby 1.9 and gem compatibility

Thursday, February 5th, 2009

You may have heard that Ruby 1.9.1 is now out and “production-ready”.  This gives us a number of benefits, not least real threading and a general performance boost.  However, there is “production-ready” and there is “production-ready”; in particular, Ruby alone isn’t much use without the many gems that we all depend upon also being usable.  

So, we at Brightbox have just launched http://isitruby1.9.com; a community site that lets you mark gems as working or not.  It’s quick and easy and will really help people out so please test your favourite gem, then stop by and record the results.