So there were a few things that came out of 2009 that improved my computing lifestyle so dramatically that I question your morals if you aren’t using them, too.
Max Howell first started work in May 2009 on homebrew, a friendly beer-themed package management system for OS X. The accepted practice before Homebrew caught steam was to install Fink or MacPorts, both of which I always had frustrating experiences with. There’d be some random dependency for a Ruby library I wanted to leverage, for example, and you’d have to pull it down from MacPorts. Between slow servers, slow compilation, and installs that just flat-out didn’t work for months at a time, that solution was a source of disgust.
Homebrew does things differently. It’s opinionated in that it optimizes for 64bit fast Snow Leopard compilation that leverages your Mac’s existing installs of Ruby, Python, and other underlying languages and libraries. Most installs are now as easy as
brew install postgres or
brew install imagemagick. You can pull down any new installation or configuration changes with a simple
brew update. As an added bonus, you can modify your Ruby gems to install to /usr/local, too, which lets you un-sudo your gem installs and just keeps all your third-party library and code in one neat, tidy location. What’s even better is that since it’s on GitHub, it’s laughably easy to fork the project, add your own Formulas (instructions on how to install your given software), and contribute back to the main branch. This means that the Formulas in Homebrew top out in the hundreds, and any broken Formulas get fixed really, really quickly. Loves it. I just wish I could install everything with Homebrew.
Versioning your .dotfiles
2009 was home to the meteoric rise of GitHub, and I think it’s the first clear example of developers as a community starting to version control their .dotfiles- their shell scripts, shell aliases, helper scripts, formatting, irb configurations, the whole shebang.
That’s all well and good; you get what’s traditionally a somewhat private, personal process and get it out in the open, letting everyone else dip into years (sometimes decades!) of carefully tuning and pruning to construct what they think is the perfect shell setup. But what’s even cooler is that small networks began to emerge. Ryan Bates of Railscasts fame published his .dotfiles on GitHub and since then he’s gotten 300-some forks of his code. (His was the main repo I forked from for my own .dotfiles). The best part isn’t his particular dotfiles, though; it’s that he’s effectively created a framework that everyone else can leverage. My fork is wildly different after a year’s worth of heavy usage, but the majority of the commits from the 300 other forks will still apply cleanly to my fork. That means I can browse GitHub’s network view, see if there’s anything interesting out there that someone else has added to their dotfiles, cherry pick it, and pull locally. A few seconds doing the process and boom, I suddenly have a smart archive extractor. Or autocompletion for Homebrew. Or autocompletion from my .ssh/config.
That I can pull great time-savers from so many different people so trivially is awesome and a half. You develop good habits, too; Ryan’s dotfiles and associated forks pushed me from ditching bash in favor of zsh. (And along those lines, if you’re looking for a good “community” of zsh .dotfiles, check out oh-my-zsh, which also has a huge following.)
I’m starting to feel like the weird kid on the playground that plays tetherball by themselves. How is it so many of you have ditched or simply don’t use RSS? I love Twitter to pieces, and I follow some insanely smart people that drop great information in their streams, but really, that’s only half the glory. RSS, in all its fulltext, dense information glory is the absolute primary source of knowledge for me. I’m always — always — reading my 228 subscribed-to feeds as I bus to work. It’s a deeper communication that I’m a little worried people are starting to shun from in this gimme-gimme-gimme crazy world. Also, get off my porch.
Anyway, for those that do leverage RSS heavily, you probably already know about the great NetNewsWire on the Mac, which has been the best RSS reader on any platform for roughly 43 years now. My new love in 2009 was Byline, a nicely-designed iPhone app that, now that NNW syncs with Google Reader instead of their closed backend, will sync up with your Macs, too. And I’ve looked at a lot of iPhone readers. Even NNW for iPhone leaves me greatly wanting. Its design is so straightforward that it’s not really worth diving into here; it just works exactly how I intuitively thought a reader should work. Nifty.
My infatuation with Plancast has been a rather recent development, but I dig it nonetheless. Ostensibly, it’s a site to manage what you’re going to be doing: plans, conferences, meetups, and so on. Really, I just enjoy their execution. Adding an event is really easy- they have natural language parsing so you can say “next Thursday at four” and it’ll do a good job of parsing and displaying that. It’s a fun way to see what’s going on in your city, particularly if you happen to live in the Valley where there’s a bunch of tech-themed events planned every day. Add yourself as “attending” to any event, subscribe to it in iCal and it’ll show up on your calendar.
Plus, you can look at Scoble, see how many subscriptions he has and events he’s attending, and marvel at how crazy that dude is.