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.
Initial Release Of Moneta: Unified Key/Value Store API A new library from Yehuda Katz that seeks to provide a unified interface for key/value stores, meaning you can treat memcached and any other similar caching or database system as a ruby hash. Twitter OAuth Spotted in the Wild Excellent news. Hopefully soon we can get away from the ridiculous situation where every new twitter app wants to know my password. Or in other words, those of us who care about security can actually start using new twitter apps again. ...
Kevin Kelly, of Wired Magazine and Long Now Foundation fame, has a lengthy piece on his blog exploring the Amish adoption of technology. It wasn’t until we watched the documentary Devil’s Playground a few years back that I was really aware of the Amish approach to selectively adopting new technologies only once they’ve explored their likely social impact and how they fit with their core values. I’m not sure I could convince myself to slow down that much, but it’s a fascinating idea: ...
While there haven’t been any visible changes to my Heathrow Tower project in the past couple of weeks beyond my throwing in a few greetings in other languages to break things up a bit. Having put some of the statistical plans on hold as the snow last week prevented any data gathered from being anywhere close to representative, I’ve gradually been building up the database behind the scenes so I can start to do some of the more intricate things I’d like to do. ...
Selected links that seem to deserve a bit more traction and longevity than a simple mention on twitter. Big themes this week were the release of Rails 2.3 RC 1 (which I explored through my work on the theme_support plugin and Clay Shirky’s series of talks in London. theme_support aside, I’ve mostly been focussed on some to-be-revealed developments to Generous and release an early version of the new Street Action site (DNS will hopefully propagate on that soon). ...
In my ongoing efforts to bring my fork of theme_support in line with Rails 2.3 I’ve covered the core views and email, but when I left off earlier today layouts still weren’t working. The key problem with overriding layouts is that the process of identifying them relies on some class methods on ActionController::Base (provided in the ActionController::Layout module). Roughly put we have: ActionController::Base#render calls ActionController::Base#pick_layout ActionController::Base#pick_layout checks to see if there’s a specific layout requested and calls ActionController::Base#active_layout ActionController::Base#active_layout checks whether there’s a candidate layout for this controller or action and makes sure the layout exists by calling ActionController::Base.find_layout ActionController::Base.find_layout (class method) is called which checks the view_paths to find the appropriate layout in there The issue is that as a class method ActionController::Base.active_layout has no knowledge of the specific controller instance, or the request object it contains, and so it can’t access our logic to determine the current theme. ...
Stage 2 of fixing up theme_support for Rails 2.3 was making sure that ActionMailer picked up themed templates (for stage 1 information see here). That’s something I’d not quite cracked in the 2.2 version, so starting afresh with 2.3 forced me to spend the time to look through the full render path and figure out what was going on. ActionMailer is a little more complicated than ActionView in that there are multiple routes of entry (ways of sending emails) and each email can have multiple templates associated with it to allow for multipart email. But at the core of it all is the ActionMailer::Base#create! method. This executes the specific method that populates the mailer variables (ie. the code you actually write in your mailers) and then uses Dir.glob to look for appropriate templates for this email: ...
A couple of months back, I realised that two of my projects ( Generous and Catapult) could do with the help of the theme_support Rails plugin. Discovering that it didn’t play nicely with Rails 2.1, I created a fork on github and hacked at the _pick_template method to get it to do what I wanted. It turned out a few people were interested in having the plugin work with Rails 2.1, some of whom used more of the plugin’s featured than I need, and a few further forks emerged. I’ve been meaning to work through them and merge together the best bits, but the impending release of Rails 2.3 stopped me in my tracks. ...
I like to always have at least one project on the go that works as a testbed for a variety of new Rails techniques, tools and releases. For a long time that project was Grand Rapids WiFi, a site that lapsed into some neglect after I moved (a long way) away from the town it focussed on, but which I still officially maintain. It was where I first tried Rails 1.1 and 1.2, where I got to grips with various geo tools, and where I first generated RDF and Atom from a Rails app. ...
For quite a while I used del.icio.us to post summaries of interesting links here on an almost daily basis. After a while I got a little tired of the aesthetics of that: the clunky titles, the way it inserted tags, the fact that sometimes there was just one link and sometimes many. And I realised that for the quick/transient linking twitter works better. So for now I’m going to try and post a digest every week or so, selecting the highlights. If you really want regular updates on what I’m keeping from what I’m reading, you can always follow me on delicious. ...
For a few years, the Oscars got quite a lot of my attention. It’s not that I often agreed with the Academy’s choice, but I did try and make sure I’d seen as many as possible of the nominated films, and was eager to engage in commentary about the rights and wrongs of the Academy’s choices. This year, I’ve found myself almost entirely disinterested. But I did read Stephanie Zecharek’s overview—" Let’s Beat Up On The Oscars"—and enjoyed a couple of sections enough to want to share. ...