February 2008

Writing a program is fun. Like writing an essay, the endeavor has two kinds of results: stuff that gets written down, and stuff that changes the way you think. Sometimes you’re aiming for the written product, to fulfill some external obligation. But other times, you’re aiming for enlightenment. The end product is irrelevant next to the understanding you developed in making it.

Most computer book authors wouldn’t claim to be writing about enlightenment. They’ll tell you that if you learn their language, framework, or methodology, you’ll win clients and impress coworkers. In this category there are a lot of useful introduction and reference books, along with a lot of buzzword-laden crap. But there’s another genre altogether, that doesn’t make these claims; it reflects the geek tradition of explaining interesting because they’re interesting. Looking back on experiences that really shaped my thinking as a hacker— a great algorithms course in college, a talk on “Tricks of the Perl Wizards” by Mark-Jason Dominus, Philip Greenspun’s book on web publishing— it’s clear that the most profound things I’ve learned spring from that tradition. Practical Ruby Projects is an exceptional book because it does, too.

Topher Cyll, author of the book and Cambridge resident, is a friend of mine. In college, Topher and I worked together on a community website for students as well as spending a lot of time in the same computer lab. In both roles, he was always full of clever and thoughtful ideas. Practical Ruby Projects is full of such ideas, expanded to project form and in an approachable buffet layout. The projects are indeed eclectic, from computer-generated music to gaming to genetic algorithms, but their common strand is the curiosity they all reward. If you’re one of the unusual folks who maintained this curiosity beyond school, or perhaps if you’re a professor who wants to assemble an intermediate projects course that will appeal to the most curious and passionate of students, this book is for you. With books like this and an open, curious mind, enlightenment might still be unreachable but at least you’re getting closer.

We do have small, yet vibrant Ruby community in the Boston.

We have regular monthly Boston Ruby Group meetings (every 2nd Tuesday of the month). In fact, there’s one tonight.

boston.rb has also been started recently, largely inspired by seattle.rb. The idea is that we get together on the 1st and 3rd Tuesday of the month, hack on some code for a couple of hours, and eventually produce something worthwhile.

Some of the things we’ve done at these hackfests so far:

I myself only started getting involved in the past few months. It’s pretty surprising though, because I feel like I’ve grown a lot as a rubyist in just this short time, all from getting to know other locals, and learning from their ways.

If you’ve living in isolation from your Ruby community, I highly suggest you check it out. Who knows what you might learn?

Want to learn all about Google’s new mobile platform, Android? Google is running a one-day event at the Charles Hotel in Harvard Square. The event is free but registration is limited. See the blog post and registration form.

I’m happy to see even the slightest hint of freedom in mobile software, although I think the best is yet to come in Android. Sure, they can have a nice Java application SDK, but in a world where most important apps are web apps, mobile phone programming will always be a second priority. Why not focus instead on building a really kickass mobile web browser, with something like Google Gears integrated in order to allow connectionless operation?

Maybe I’ll go and ask that question in person. ;)