Notes

Weekend Links

My web browser has been groaning under the weight of all the tabs that have mounted as I’ve not gotten round to one of these purges for a few weeks. So it’s time to share, ease the pressure and freeing up some RAM along the way.

This whole NoSQL thing continues to draw a lot of attention across the tech blog world. Thoughtbot have a piece about their use of Redis which serves as a nice step through basic uses of that store. Vineet Gupta has attempted a more detailed and wide ranging review of the current options – it’s an interesting read, but I do increasingly wonder why so many of the arguments for non-relational data stores seem to be focussed on performance when there’s an equally strong “right tools for the right job” line that comes of realising not everything necessarily maps to MySQL.

There are a range of tools around to ease the process of testing multiple Rails apps on OS X. The latest to cross my radar is Passenger Preference Frame (via Tom Armitage). I generally use hostess and script/server but this could be handy in a few settings.

Engine Yard have had a great serious of articles on the Rails/Merb merger and the piece of ORM agnosticism was yet another indication of the goodness coming with Rails 3. Also on a Rails 3 tip, the new approach to scopes in ActiveRecord looks like it’ll help me clean up a lot of code – there’s a good introduction on EdgeRails.info.

It looks like a number of handy features are coming in wordpress 3 – I like the sound of the new menu system, though given how short the RC phase for the 2.9 release was (and unsurprisingly how quickly defects were found in the final release) I’m going to be cautious about upgrading.

There’s been a round of thoughtful posts about interface metaphors inspired by the imminent arrival of the iPad. It all started with Marco Arment’s “Overdoing the Interface Metaphor” and noteworthy responses came from Chris Clark and Neven Mrgan. (Thanks to Matt Jones for the initial pointer). Along related lines, Craig Mod has a well considered piece on Books In The Age Of The iPad.

With so many of us using flash blockers to save our computers from being eaten whenever we open web pages with the inevitable flash widgets a problem does arise when some judicious use of flash is called for. Mark Pilgrim’s responded with flashblockdetector, a javascript utility that can be used to present an argument for why your use of javascript actually deserves unblocking (via Simon Willison).

Top link of late for simplicity and beauty has to be flickrflow:

We began with a collection of photographs of the Boston Common taken from Flickr. Using an algorithm developed for the WIRED Anniversary visualization, our software calculated the relative proportions of different colors seen in photos taken in each month of the year, and plotted them on a wheel.

And because I should mention other work going on in our office building, it sounds like the BBC are enjoying having tinker work with them on ‘next generation remotes‘. They also attributed Tom Taylor’s powers to ‘a group of software coding friends’ in a piece on Newspaper Club. Meanwhile James made a book I wish I’d had when I went to SxSW last year.

Week 129

So. No week notes again last week. It was a week of juggling numerous projects, trying to get the month’s job list under control before diving into the project that is to dominate March. Writing here was the ball that got dropped.

One of the big jobs on the agenda has been implementing a redesign of various parts of the Greenbelt website. It was important to get it under way as it was one of those pieces which are easiest to get a feel for once you’ve made a start. It’s also quite satisfying to work on as it pulls together a number of strands that represent how the organisation has been changing and growing, but which the current site doesn’t really allow for.

Another is codenamed DAPI and is my first deployment on Rails 3. It’s a funny project in that we hope it’ll have a very short life. It’s all about transforming data that’s been stored with very little structure. Once the structured form of the data has been signed off it’ll be time to retire DAPI and build something new focussed on actually using that data. For now, it’s great to have something taking shape and to have a Rails 3 project under my belt.

The scramble has all been to make way for a larger project that dominates this month. We’re calling it Justinian and it’s been fun so far. The core team beside myself is Matt (whose project it is), Ben, James and Jenny and we’ve spent most of the week gathered around a whiteboard (aside from a field trip to the British Museum) figuring out how to represent a fairly complex set of calendar-ish data in a way that encourages both exploration and utilisation. I think we’re moving towards a good product, but it’s going to be a busy couple of weeks trying to translate it all into a functional prototype.

There’s also been a reminder this week that I need to step up the suite of monitoring tools at my disposal. god’s generally doing a good job of keeping processes up and running. Munin lets me see if servers are over capacity. But there are a lot of more fine-grained details (are search indexes updating as expected, are emails going out smoothly) that aren’t well covered by those tools or by my automated testing stack. I’m hoping that somewhere along the line there’ll be time to find a solution for that, perhaps something presenting a status dashboard?

Week 127

Once again I find myself writing these notes on a train. This time it’s to Exeter along with James Weiner to meet with a potential new client. I don’t know all that much about the projects he’s got in mind, but the connection was a word-of-mouth recommendation, which is always gratifying.

So far, it’s been a week spent primarily on work for a single client–very much a rarity lately–and it’s been good to be able to focus. I even ended my period of avoiding looking at facebook by working with some of their APIs and once I deciphered the documentation it wasn’t too bad. It’s not so much that the documentation is bad, but like the platform in general it makes huge all-or-nothing assumptions and all I wanted was something equivalent to oAuth.

Meanwhile things are gathering pace for the next couple of months’ projects. There’s a big one that Matt’s heading up that will occupy the majority of March and is quite exciting, and yesterday Jenny and I met to work on a proposal for another. Our estimate was substantially above the rough budget that the client had floated, but we’ve got a range of ideas of how they could fund it, other outcomes we could demonstrate that might justify an increased spend, etc. I really enjoy working on plans like that, expanding the vision of what a project could be and really hope this one works out.

We also have a new officemate. Ben Griffiths will be joining us next week and we’re very glad to have him. Not only is it a relief to have the rent distribution a bit closer to what we’d hoped, but it’s always fun to have new people, new ideas and new energy in the space. There’s one desk remaining for a full time occupant, plus we’re keeping a couple of spares in case anyone needs a short-term workspace in town.

The train’s not quite ready to pull out of the station and I’ve already covered everything I planned to. So I should sign off and decide whether to settle back with an In Our Time podcast, or get some work out of the way first…

Weekend Links

A few bits and pieces that have crossed my browser in the past couple of weeks (though mostly sifted through yesterday).

The NoSQL (or LessSQL) movement has garnered a lot of attention over the past few months, but numerous people have pointed out that MySQL can be adapted to cover many of the most common use-cases. Flickr’s Kellan kicked off a series of posts on that topic with Using, Abusing and Scaling MySQL at Flickr and Richard Crowley responded with OpenDNS MySQL abuses. On the other side of the coin, Luke Melia has a write-up of how he uses Redis to build a “who’s online now list” and Sean Cribbs’ (fairly convincing) Why Riak should power your next Rails app is worth a read even if you’re not a ruby developer.

It’s good to see that the twitter engineering team have started blogging. They’ve also extracted and released the code they use to extract key terms from tweets (links, @replies, etc).

Thanks to Ajaxian I spotted Plupload – “a generic component that allows you to create a rich upload experience on the back of a variety of transports. Whether it be HTML5, Gears, Silverlight, Flash, BrowserPlus or normal forms, you can get an upload experience with drag and drop, progress, client side image resizing and chunking.” The file upload experience is one clients are constantly asking me to improve, so this could come in very handy.

There was a flurry of posts this week about whether web designers need to know HTML, with a number of good contributions. Elliot Jay Stocks kicked things off and I principally noted contributions from Mark Boulton and Rachel Andrew. It seems that the key is that designers need to understand the capabilities and constraints of the medium, and having a basic grasp of HTML and CSS is a quick route towards that, though as Mark points out there are plenty of others.

From Mobile World Congress comes a projection that “cell phone subscriptions [are] to hit 5 billion globally” this year, and 1 billion mobile broadband subscriptions. Another MWC announcement Vodafone’s launch of the “world’s cheapest phone” puzzled me. At $15 it’s $5 more than the phone I bought during our last trip to the US.

I use god on a number of servers to monitor the various moving parts of my apps. For the most part it does a good job and recent patches that squash a memory leak have been very helpful, but it sounds as if Bluepill might be worth a look as a possible alternative. Hugo Baraúna has written up a tutorial on monitoring delayed_job using it.

Week 126

Once again I set out to write some weeknotes a few days ago, but the distractions of email got in the way and then it was time to dodge the umbrellas of a rainy Soho on my way to a Street Action board meeting. Which is a little odd as the past week was a good example of the way I hope more of my weeks will go: time at the start and end of the day handling email and other admin, and the bulk of each day spent focussing on a single longer task. It’s good to be able to finish each day with a clear sense of what was achieved.

I also got to enjoy a day away from the office yet free from evenings, attending The Story. It was an entertaining day, with very little that was directly applicable to my work but a number of provocative thoughts. Exactly what I was looking for after a hectic few weeks.

Aside from that it was a mostly unremarkable week—maybe that’s why I was able to hit a good rhythm—continuing to move various projects ahead, prepare some upcoming ones, catch up with the news from some friends’ projects, and finally getting a chance to implement oAuth in a project. The coming week will hopefully continue in a similar manner, at least until Friday when a meeting in Exeter beckons.