• "But I think to succeed eReaders need to meet the needs, not just of the direct user, but of those around them, the friends and family who may not welcome their loved one’s absorption in this exciting new media. They are the “next largest context” within which the new device must win acceptance… The first question [with a digital device] is no longer “what are you reading?” It’s “what are you doing?” – a question that somehow already carries a hint of reproach."
  • Beautiful: capturing graffiti with an ultra-basic setup (torch sellotaped to pen and webcam), and then translating that into vector geometry that can be stored as an XML dialect. I like how simple and open it is, and the fact that Graffiti Markup Language is designed to be used in the field (even if it can't be yet).
  • "In one sense, Up Against the Wall, Motherfucker! is a truly exotic bit of esoterica — a game on the Columbia riots, printed back in 1969 in the pages of the Columbia Daily Spectator, and designed by James F. Dunnigan, one of the finest and most prolific designers of board wargames… In Up Against the Wall, Motherfucker! you play either as Columbia University's administration, or as the radicals who have seized control of Fayerweather Hall. You are attempting to influence the opinions of various stakeholders in the university — students of different sorts, the alumni, and so on. Random event cards influence play. Ultimately, the side that gains the greatest sympathy on the part of university stakeholders wins."
  • "Zoom in on that spot there." Blade Runner has a lot to answer for; notably, this.

Top tip for ‘tagging on steroids’ with Rails

06 September 2005

A few days I linked to Dema’s tagging mixin for Rails. In, well, about half an hour over the past two days I implemented it into a project I was working on – first into the models, then into visualisation. The interface will come last (though of course, that doesn’t mean it’s not getting a lot of thought right now).

One problem I ran into was that whilst I could tag away with new tags, adding an already-extant tag to a data object didn’t work – it threw an exception error. In the end, I found this was down to my join table – the tags_things table that assigns tags to thing objects. The thing was, as with most of my tables, I stuck an auto-incrementing id column into it. This was really a stupid idea and not in any way necessary (though in all the other tables, it is fairly appropriate). The moment I just left it with two columns, tag_id and thing_id, it all worked fine.

It’s a nice mixin, by the way – makes searching by tag dead easy and it’s fairly lean. Saved me reinventing the wheel, that’s for sure.