Blog posts
Collected posts from the various blogs I’ve contributed to since 2002.
Collected posts from the various blogs I’ve contributed to since 2002.
A few months back I set out to port theme_support (my rails plugin to allow one app to serve different views under various conditions) to Rails 3. I got some basics working, but realised along the way that it was well overdue for a complete rewrite. And then I got busy with projects that didn’t use theme_support and the rewrite was left lingering. With Rails 3’s official release a few weeks back I began getting a few requests for an updated version. Without time to do the plugin justice, I suggested people fork the project and submit patches. I’m very pleased to say that Lucas Florio took that and ran with it. The result is a new gem: themes_for_rails. ...
This is always a strange week in my annual calendar. So much of my work is focussed around Greenbelt—which is now less than a week away—that many, many projects are approaching their culmination. Good news this week is that we’ve got a little of the funding we need for this year’s newspaper, that the GPD is once again paying off as preparations to sell talks online were easier by several orders of magnitude than any time in the past decade, and that the festival iPhone app was approved and is now on sale. ...
A calmer week at last. I tend to find that I’m especially prone to procrastination in weeks like this one, when there’s finally some breathing room after an intense period. I guess that’s okay, but it can lead to nasty surprises. It’s largely been a week of “tidying up”. We got a whole range of small fixes made to a range of client sites and deployed them for testing. That led to some server wrangling, and in one case to lots of back-and-forth with a client’s internal IT person as we tried to figure out their rather complex Windows/IIS server setup and an awkward API that required an interface script be placed at a very specific URL. ...
I’ve been setting monit up to keep an eye on the various parts associated with a Rails app (2.3.x but patched to use Bundler for gem management) and ran into a problem getting my Gemfile recognised properly. The essential piece I’d missed was the BUNDLE_GEMFILE environment variable. So for, say, delayed_job what was needed was: start program = "/usr/bin/env RAILS_ENV=production BUNDLE_GEMFILE=/var/www/my_app/current/Gemfile PATH=/opt/ruby/bin:$PATH /var/www/my_app/current/script/delayed_job start" Hopefully that’ll save someone a few minutes.
Another week down and once again I can’t quite remember what was achieved. Uppermost in my mind is a client meeting from Wednesday that seemed very positive – everyone on the same page, clear targets and achievable (if tight) deadlines – but was shortly followed by an email that threw the whole project into confusion. The coming week will require that we resolve that. There’s a new look in place for the the Ninja XX site that better fits with the print design they’ve recently had completed. The arrangements for our increasingly popular office are tidied up. My team of Greenbelt volunteers are all in place and the Programming Database we built for them is churning out contracts, saving people lots of time. We have Suite 4 in progress. Our new standard Ts&Cs are being finalised by the solicitor. Other projects are moving along. I’ve begun on plans to hand others over to new teams who could drive them forward over a longer term. ...
I’ve just completed migrating a client site from BackgrounDRb to delayed_job (which is a huge relief on several levels). I had hoped to complete the process this morning, but the delayed_job process kept dying on me without any apparent explanation in the usual logs. Thankfully the RPM log in my app turned out to be capturing one vital detail – the MySQL server had “gone away”, Armed with that knowledge I was able to find this thread on github and from that Brandon’s pointer to the ‘reconnect’ option in database.yml. Setting that appears to have solved that last lingering problem. ...
Alex has beaten me to the punch with Shut the door, have a seat: Suite 4, announcing the fact that a selection of the small businesses on our floor have invested in a meeting room. Well… We hope it’ll be something more than a meeting room. A lot of interesting people pass through this part of town, it’s quite the hub for businesses, and a lot of folks with good ideas and a diverse set of interests are gathered right around here. It seems like the opportunities are there to be grabbed. Hopefully there’ll be some talks, some workshops, and a few drinks. We’re also planning a series of “Innovation Workshops”, offering a wide range of perspectives on… well, whatever you want to get those perspectives on. ...
A fortnight of intense activity seems to have been the unfortunate result of taking a week off to go on holiday. One project had slipped because the client disappeared on holiday, and there was the usual cascade effect. So it is that I’m trying to cobble together some week notes last thing on a Sunday evening. It’s feeling like the last few months have been a little too non-stop. There’s a lot to reflect on, some new practices to bring in, and a whole lot of side projects and admin awaiting attention. Some of us were speculating that it’s a sign of the complex economic times that many people around seem to be in a similar spot. Thinking that does help me think it’s not just us, but it’s hardly a cheery thought. ...
I’ve never really had much need for Rails’ i18n support, but a new project is going to be using it extensively. I was a bit thrown by an error that started to be thrown after I created the relevant locale files, and took a while to track it down (possibly because I was also upgrading to the Rails 3 RC at the same time). It turns out Rails really doesn’t like empty locale files. Adding a couple of translations into my empty files solved everything. ...
As I write I am sitting on the floor of my sister’s hotel room in Paris as she and Kari watch the World Cup Final and my daughter sleeps in the next room. Which is to say–despite my officemates thinking I was inventing the plan simply to hurry some suppliers–I’m actually on holiday. That means the past week was a hectic and scattered one as I made sure as much as possible was wrapped up before my departure. For the most part that worked though one significant project was left in a very uncertain state as the client went on a holiday of his own without informing me. Thankfully 48 hours after leaving the office it is actually taking a little effort to recall the details (which are of course all documented for me on my return). ...