Done at the Post
Biz: ,

Yesterday was my last day at the Washington Post. I don’t have a lot to add to my update 6 weeks ago; aside from some updates to the database of Guantanamo Detainees all of what I’ve done has been internal improvements to start the upgrade to Django 1.0 (80 apps take a while), tidy up templates, and make sure all my code and projects are smoothly transitioned to other newsroom employees.

I’m sad to be leaving the Post, it’s been a great experience to work on the news and I’ve had some amazing coworkers. I even had firsthand proof of the hitherto-mythical “good boss”. And the work goes on, they’re looking to hire two more to work on the team I left (mail me for details if you’re curious).

But I’m excited about the future: tomorrow morning I head back to Chicago for a while, and on Monday I’m working full-time on my mailing list archive project.

Icon O’Clock
Biz: , , , ,
No comments

Dear all the friends and family who complain that my blog is “too technical”,

Please visit a new blog I have started at Icon O’Clock where I will write every weekday about shiny new icons that you can download. No, I’m not going to stop writing this blog — if I don’t get to paste glorious little nuggets of code to the web every week or so they will fill up my brain until they spill onto the floor, and that would mean an awful lot of carpet-cleaning bills.

Rails 1.2.1 Impression
Code: , , , ,

I’m updating NearbyGamers to Rails 1.2.1. Nothing broke except my use of assert_tag in my tests; it’s been long-regarded as squicky and has been replaced with assert_select. As I’m tidying up some deprecated code, it occurs to me that this makes for an interesting example of how I feel Rails is changing.

Rails is growing inwards and upwards, not just outwards. They’re finding better, terser, more Rails-ish ways to express things. They’re not piling on features, they’re condensing. I’ve mentioned that this is what coding in Rails continually feels like: sometimes it just feels off even though it works and is nicer than other languages, and soon I realize a beautiful Right Way to do it.

Where Rails gained new features, the developers have redesigned functionality to make me think, “Wow, of course, that’s obviously much nicer” and it does more because it’s better-designed. Let me give you an example using assert_tag.

I’ve got tests that render pages and make sure they contain certain bits of HTML. One test used to be:

assert_tag :tag => "div",
           :attributes => { :id => 'notice' },
           :child => {
             :tag => "div",
             :content => text

And now it reads:

assert_select "div#notice > div", text

They rebuilt the assertion to use CSS selectors (with a few clever additions). Suddently the code is simpler, more idiomatic, and more featureful. And that’s just what coding Rails feels like.

Announcing NearbyGamers
Biz: , , , , ,
1 comment

I’d like to invite you all to check out my newest project, NearbyGamers, a service for tabletop gamers to find other players. (As I mentioned earlier, it’s a Rails site.) It’s for people who play RPGs, CCGs, TCGs, wargames, board games — basically any game where you need to have a live human on the other side of a table if you want to play.

NearbyGamers map screenshot

Basically it’s the mashup of a wiki and Google Maps, and I plan to add forums (there are very few things gamers like more than arguing online). I’ve been hacking at it on and off for a couple months now, and it’s finally worth talking about. NG is my first large Rails project, and it’s been a lot of fun. Almost all the time the code is quite dense and beautiful, but several times I’ve worked up some fairly ugly hackish code I’m not particularly happy with. And then a few days later an nice, friendly little solution will pop into my head, and it’s easy to hack in because I have comprehensive tests. (Having tests has really saved my life. I’ll be posting more about it, but for now I’ll just say that I couldn’t have built NG without automated tests.)

Some of the early beta testers are computer game fans, so there’s a fair number of computer games listed on NearbyGamers right now — heck, World of Warcraft is the most popular tag. I don’t see what folks will get out of it, but I’d rather build a pretty open system and let folks find new uses.

So check it out, let me know what you think. I’ve got a todo list online for the curious, and I’m always taking suggestions.

Fatal error: Call to undefined function twentyseventeen_get_svg() in /home/malaprop/ on line 45