Wednesday, December 17, 2008

Barry Warsaw

Barry Warsaw is a long-time Python core contributor and also leads the Mailman project that probably handles about half the world's mailing lists nowadays. He is a developer for Canonical, the producers of the Ubuntu Linux distribution.

At first, when Steve asked me to contribute to On Your Desktop, I thought "Steve, just how boring do you think I am?" And then I remembered that Steve and I have known each other for years, and have shared many plates of the most awful and addictive Kung Pao Chicken in the world, so he knew exactly how boring I am. Yet, he still wanted me to share my working environment with you. I decided to reward him by waiting a year and a half before responding to his request, ignoring his many pleadings until finally I was hungry for death fingers and three peanuts wrapped in styrofoamy clamshell goodness.

This also tells you that Barry's taste in food is about as discriminating as his taste in friends.

My desk top (as opposed to my "desktop") serves a dual purpose. Of course, there's the software hacking I do as a Canonical employee, and for fun on Python, Mailman, and other open source. But I'm also an amateur musician and while the bass is my primary instrument, over the last few years I've been getting into the digital audio workstation (DAW) world.

Here in the Warsaw household, we've been Windows-free for years. Even in my previous job at Secure Software, any Windows programming I had to do was done remotely across a VPN to a Windows box back at the home office. Of course, now that I work for Canonical (makers of Ubuntu Linux and, I really have no need for Windows, to the occasional consternation of my son's growing gaming interests. I've used Unix for over 25 years, and I run my domains out of my house on ancient Dell boxes running Ubuntu and Gentoo. I haven't switched everything over to Ubuntu mostly only the theory of "if it ain't broke, don't fix it", though some Gentoo-haters might think that's an oxymoron.

Probably the reasons those domains run like drains is that half the bandwidth is being sucked up by the Gentoo systems continually updating themselves.

Canonical is an almost totally virtual company; most of us work from our homes, and meet face to face only a couple of times a year. Working from home has its pluses and minuses, and it's not for everyone, but I love it. My office is in an upstairs bedroom and one of the best things about working from home is the ability to open the windows on a nice day, not to mention the two hours per day of your life you get back not sitting on the Washington DC beltway! Of course, if I get up on the wrong side of the bed, my commute doubles. Bad traffic is having to walk around the dog.

I sometimes think back fondly to my early days in the States, when if traffic was heavy my commute might be as long as six minutes. I too work from home some of the time, and this just makes it worse when I have to get off my butt and travel to teach or consult.

Here's my typically working environment. Of course its immaculately clean appearance wasn't doctored or contrived in any way for this shot. The dual screens in the middle are KVM'd to my 3 year old Dell desktop box running Ubuntu 8.10 (Intrepid). This is my primary development machine for work. I'm a firm believer in the "you can never have too much screen real-estate" so here you can also see to the left my IBM ThinkPad X40 (with it's defective screaming power supply) also running Intrepid. To the right is my Mac Book Pro, currently running OS X 10.5 (Leopard). The middle screens, keyboard and trackball can also be switched to a Mac dual 2.7GHz G5 also running Leopard.

So during a typical work day, I'm on my Ubuntu desktop. I used to have a pretty customized environment, with FVWM as my window manager (I wrote a Python plugin for FVWM years ago), but lately I've wanted to experience the desktop largely as my mom would, if I could get my mom on Ubuntu. So I've been sticking with the default Gnome desktop. I only curse it three times a day, usually not while the family is sleeping in the next rooms. Fortunately, I found the Gnome Do tool which actually makes the Gnome desktop fun again. Think of Do as the Gnome version of the awesome Mac tool QuickSilver. For a keyboard junkie like myself, it really puts the "dead" in "a trackball is just a dead mouse lying on its back with its feet and privates in the air".

The only good mouse is a dead mouse? I have to admit I try to do as much with the keyboard as I can. I hate the delay of switching between mouse and keyboard. I only wish I were a better typist. Then again, I also wish I were thirty pounds lighter and rather more handsome than I actually am. If wishes were horses then beggars would ride.

On the left screen I keep my two editor windows. Since the early '90s and until just a couple of weeks ago, I'd been a die-hard XEmacs user. I recently got back from two weeks in London working on a Launchpad team sprint and I realized just how lonely I was. It's not just that all the kids these days are overwhelmingly choosing vim over Emacs, it's that even the few enlightened coworkers that had chosen Emacs were using GNU Emacs instead of XEmacs. I realized that I was probably one of seven XEmacs users still left in the world, so I returned from London a changed man, and decided to give this GNU Emacs thing a try again. I've found it's come a long way in 15 years, and now I've returned to the fold, on both Linux and OS X.

Of course, X is just the bagel to the lox of Emacs, but what's the cream cheese? I don't know, but I live off of Emacs 8 hours a day or more, with occasional forays into jed or vim in a terminal when I need to get in and out quickly.

Coo, a whole monitor just devoted to editing. That's impressive. I think I might need another monitor or two ...

On the right screen is my eternally open xchat window, since as a company we communicate heavily via IRC. I'm typically joined to 5 or more channels on both private servers and freenode, so you can ping me at the latter if you want. (I hang out on #mailman, #launchpad, and #python-dev with the uber-creative nick "barry". You'll forgive me if old people can't always think of uber-creative IRC nicks.) I've been experimenting with irc-in-Emacs, but haven't made the switch yet.

Next to xchat is of course the ubiquitous Firefox browser, which I suppose I need while working on a web app like Launchpad. I do occasionally fire up various browsers on both Linux and OS X just to see what Launchpad looks like, but Firefox is my main axe.

I read email almost exclusively on the Mac. Why do all mail readers suck? Of course all software sucks, but mail readers particularly so. For me, Apple's just sucks less, though I think I'd rather have had some bug fixes and performance improvements than an RSS feed reader in my mail program. I guess RSS is the new email, in that every application must grow a feed reader or the authors just don't consider it complete. Call that Warsaw's Twenty First Century Update To Zawinski's Law or something. Watch for an RSS feed reader in Mailman 3.0 of course. Still, for me is the less sucky of the bunch. I think the fact that it supports Emacs keybindings (mostly) right out of the box helps a lot.

On Ubuntu, I read email with Claws, which doesn't suck, but bites. Claws actually is an underrated, or perhaps, under-popular MUA. I really like it much more than Thunderbird, and we won't even talk about Evolution, where the last usable version was 1.4 like a decade ago. If you haven't tried Claws, you really should grab it and give it a spin. It's got very good IMAP support, and very few bugs or misfeatures that make you want to throw your laptop against a brick wall. The coolest feature is its external editor for responding and composing emails. This means I can actually use my text editor of choice to write emails. That's clearly insane, I know, but you already know I'm not well in the head, so I like it.

Strangely enough you can also edit mail in an external editor in Microsoft Outlook. Unfortunately the only choice appears to be ... Microsoft Word, so maybe that's not a real choice. I think your choice of links for this paragraph yields a lasting tribute to the presidency of George W Bush.

I digress, but that's only because I'm in a post-Thanksgiving tryptophan coma.

You can also see from that picture that I use a Microsoft Natural Keyboard, which is really the only Microsoft product in my house. In all honesty, that keyboard has saved my career because to me, straight keyboards are torture devices only belong on the desks of Guantanamo inhabitants. I don't know who the Donald Rumsfeld of the computer world is, but he invented the straight keyboard. I have no idea why they aren't more keyboards like it, but if Microsoft ever stops manufacturing the Natural Keyboard, I will buy up every last one of them at my local Staples and horde them like they were Tickle Me Elmos. I just wish they made a wireless version and a version without that useless numpad (are you listening Bill? Or, ahem Logitech?)

Oh yeah, I heart trackballs. Not just any balls, trackballs.

I'm going to go right out and get myself a trackball tomorrow!

For the three of you who are still reading this (I'll bet you're recovering XEmacs addicts too, right?), now I'll tell you about my evil twin Blarry's desktop. See, Blarry is a musician, which automatically makes him evil, but not in the kind of way that attracts groupies. At Blarry's age and marital status, this is a good thing.

So here you'll see a guitar, a couple of basses, a djembe and a jumbled mass of patch chords, pedals, headphones and audio interfaces. I use these all the time to write music or work on songs for one of my various bands. For this, I find Mac OS X is the superior desktop, but it's not cheap. I use Cubase 4 as my main DAW, but I've tried to use many of the various FLOSS DAWs such as Audacity, Ardour and Jokosher, and sadly, none of them can touch Cubase or even Garage Band. Not that these latter don't have their problems, but for the most part, they do get out of your way and let you transparently work on the music instead of the tools. This is in fact, my definition of a good tool. I really wish the Linux DAWs were more usable and less intrusive into the creative process.

But as we all know (and as you already mentioned above) all software sucks.

So that's it. Very boring I know, but Steve did ask, so blame him. So Steve, is it time for some #1?

We'll probably have to wait until early in the New Year now. But then I've grown accustomed to waiting while you've been writing this piece. Thanks for showing us what's on your desktop.