Monday, April 21, 2003

Pain

This is a repost from my earlier blog. I totally disavow everything my younger self said. He doesn't know what he's talking about.

There's a Star Trek (original series) episode that I dimly remember. I think it's the one with the rotating stoner light on the ceiling in the penal colony, but I'm not sure. I don't know what's sadder: that I used to be able to name each episode before the first commercial break, or that my memory is so far gone, that I no longer can.

Anyway, I think while Kirk's in the chair transfixed by "the colors, dude!" a man in the next room utters the single word: Pain. And Kirk feels the pain.

I'm thinking of this because I'm doing a CVS merge from the trunk of the Mailman tree into the 2.1 maintenance branch. That perverse little guy who invented CVS has just uttered "Pain" as I stare transfixed at all the pretty colors in my XEmacs buffer. And it hurts like someone knifed open your balls (which has happened to me, but that's probably too much information, huh?).

Why is this so painful? Well, part of the reason is that there are CVS id strings in the files that really shouldn't be there. They just cause conflicts for no good reason. Yeah, I know about -kv, but I know it about the same way I know the Star Trek episode, so it doesn't help me much.

The other reason is worse: there are tons of files that aren't in English and that I didn't write. Because Mailman is internationalized, there are a raft of files containing text in everything from Italian to Japanese, and now (tickling my ethnic pride nose hairs) Polish too. Now, for my own sanity, I'm trying to move to a place where the translation teams make their own updates in both the trunk and the maintenance branch, where there are essentially two copies of each file. Many teams are handling this quite well.

Me, like an idiot, did a blanket merge from the HEAD which caused all kinds of conflicts in files I can't read. So resolving those conflicts -- which must be done manually -- is basically like playing "pet the kitty" with the one evil cat of ours that is laying on my shoulders. It's all nice and fine while she's quiet, but at some point she'll expose some tendons and then the fun (and blood) will start. At some point in the conflict resolution, I'll delete the wrong block and screw up the hard work of other dedicated volunteers.

That sucks the most, because I know everyone's overworked, and my translators do a great job solely on a volunteer basis. I just hate to screw them over as thanks for a hard job well done, y'know?

I have some ideas on how to do this better, and plan on investigating The Translation Project to make our lives easier. I actually think Zope could come to the rescue here, but it now looks like I won't be working on that any time soon. So, like Kirk, I mostly just sit in agony in this chair, with one tiny part of my brain quite happy to watch the lights and enjoy the writhing of the body that surrounds me, hoping that eventually someone will turn the dial down and stop the pain.

Friday, April 4, 2003

Young Again

This is a repost from my earlier blog. I totally disavow everything my younger self said. He doesn't know what he's talking about.

So I'm blogging. All the kids are doing it and it seems like a great way to rant and vent in a write-only forum. I feel like I did the first time I recompiled my Linux kernel. Once again I can put off my mid-life crisis without having to waste money on a fast car or have a divorce-inducing affair with the babysitter. Blogging is much less likely to have an impact on anybody else in the world, and that's probably a good thing.

Thanks to my colleague Jeremy Hylton for finding a nice Elisp blogging tool which makes it really easy to write these things. Expect a lot of content early on, followed by long periods of inactivity. But no one's reading this anyway, so who cares?

The main thing I've been doing lately is immersing myself in graphical IMAP based mail reading clients. I've been a VM user for years, preferring of course the One True of the One True Editors. But lately I've been disappointed with VM, primarily because of its lack of true remote IMAP support. I use at least 3 different desktop machines (Linux and MacOSX -- I'm Windows free!) regularly, as well as my laptop in various locations, and tunneling XEmacs over SSH is just not cutting it. VM has some support for IMAP but only by sucking all your mail over from the server to the local client, and that just defeats the whole purpose. I might as well burn a DVD with my gig of 20 year old email so I have it with me at all times.

I started out by using Apple's Mail application for OSX. I'm a huge OSX fan, so this felt like a good place to start. On the plus side, Mail.app is nicely integrated with the OSX desktop, has very good drag-and-drop, and has a quite nice integrated spam detection system. I've been aware of spam classifiers through my off-and-on dance with the Spambayes project.

However, Mail.app suffers from Bruised Skull Syndrome, caused by its many missing features and defects. Chief among these are the lack of message threading and folder subscriptions, virtual foldering, and its really horrible performance at times. It's unfortunately a lot like Apple's web browser Safari; really cool software that needs more baking. I'll keep an eye on the oven and hope the cookies are moist when they come out. Mmmhh, moist.

Once again, Jeremy turned me on to a cool tool, Ximian's PIM tool called Evolution. Get it? Ximian, simian, monkey icon, evolution? Evo, as it's quaintly called by us insiders, is really excellent, even for someone like me who won't buy into the whole Gnome desktop conspiracy. For a graphical mail app, it's about my ideal. Except for one huge, fatal flaw. Its imap implementation is horrendous. When it works, it's great, but it has a nasty and prolific tendency to drop its connection to the server all the time. It helpfully reconnects automatically, after shoving annoying click-away windows which let you know it hiccuped. I almost wouldn't care if it didn't display that annoying window. But really, its imap implementation should be better. As nice as Evo is, this one bug is getting to be too much so I may start looking around at other mates.

The Ximian folks claim the problem is that I tunnel cleartext imap over ssh, but I don't believe it because even running Evo on my local network in the clear, I get constant drops. And I've been tunneling XEmacs over ssh for years -- if XEmacs isn't a client sensitive to network glitches, I don't know what is (although they've gotten much better lately). Nope, the underlying connection is solid.

Mozilla's mail client, as well as its co-joined sister Netscape are just too pitiful to be usable. Enabling imap mail should be dead simple, with just a few configuration options necessary to get you started. But no, both Moz and NS were just too hard to configure properly and I couldn't get them to talk with my imap server. To give them a fair shot, I spent almost an hour trying to get the basic connections to work, but my impatient bastard side won out and I gave up.

Ditto for KDE's KMail application. Admittedly though, they have newer versions that what comes with my Redhat 7.3 version of Linux, but I haven't spent the time to install KDE 3.1 RPMs. I may come back to this though because Kmail had one extremely neat feature: I could use XEmacs as my external editor for composing email. This is great because of the huge number of Emacs hacks I've got going. I've been a heavy duty (as opposed to heavy doodie) Emacser for almost 20 years (yes, I'm a fuggin' old dinosaur) and a XEmacser/Lucid Emacser for maybe 12. So I like that environment a lot.

My netbud Jason Mastaler reminded me that Gnus has an imap backend, but treating my mail like news was just a little too jarring for me. Jason also pointed me to Wanderlust which I plan on taking a close look at. I wouldn't call either of these graphical, but there's an appeal of keeping everything in XEmacs.

I'm sure I've missed some, but if you know of any other decent clients for Linux or MacOSX, feel free to let me know. But you're not reading this anyway, so I guess you won't.

Okay, I've puked enough on this subject, so I'll wipe the chunks of lisp off my lips and see if I can clean myself up. Of course, with a blog you can turn any crap into art...