farewell posterous
With just four days warning by email, on 30th April Posterous, bought by Twitter last year, said bye to all its blogs. Some howls and complaints later they added a month's grace to retrieve pages in HTML and CSS form. With Html2Haml and Html2MarkDown, plus some CSS refactoring, I've set up this static archive of tech-related posts using Dropbox's Public folder. Now's a good opportunity to set out what else I've been doing and thinking, tech-wise, since January 2012, as well as bringing together earlier writings.
This year, like other developers, I've focused strongly on Responsive Design, in a number of Rails projects, for the first time. Open source tools like Bootstrap help but I agree with this old Smalltalker that openness should be defined more radically. For that, better UX architectures will be required. Perhaps single page app frameworks like Google's AngularJS will gain traction. A clearer conceptual framework, building on HTML5's SVG/Canvas and learning from the direct manipulation of Morphic, will I believe pay rich dividends. WebGL Water shows what's coming.
Recent JavaScript innovation has of course included CoffeeScript and it was striking to read this from Tim O'Reilly on Twitter in April 2012:
"Coffeescript is the nicest language I've programmed in since Smalltalk" says @wardcunningham at @codeforamerica
Having gained my first experience of writing a Node.js/Express server with CoffeeScript throughout I was surprised what a big difference syntactic sugar (as some say) can make to the readability of code. And debugging is not as bad as some have made out. Mark me down as following in Mr Cunningham's footsteps, not for the first time.
Another very enjoyable piece of JavaScript 'social coding' was this:
Nodecopter London was a fabulous event, organised by Andrew Nesbitt and Julian Cheal and hosted at Forward in Camden. The Jeffica team is at the nearest table in the blur behind the 'copter, on which the camera is rightly focused. Our GitHub repo lives on, the place in the cloud one meets at such events, however small the table. Talking of which, there were three MacBooks and a Linux laptop, all four using different editors. Unit testing this Saturday was replaced by the instant verification of seeing whether the machine flew in the way you intended, without causing serious injury! An experience that changes you as a programmer.
Working with CoffeeScript is exciting but it can't hide JavaScript's lack of method_missing, as it goes in Ruby, aka Smalltalk's doesNotUnderstand: from 1970s. Marc Stiegler argues this facility is essential for an Object Capability Language. There are other things I miss.
Most of my work has been in Ruby in the last year, with highlights including building a front-end in JRuby to a parser written in ANLTR, for interpreting a mass of internal structured data, and building support for translators, developers and designers in moving a large Rails site to multiple languages, including Arabic. Programming of all kinds remains rewarding.