Does anybody know anything about Mailman?

I upgraded my server to Debian Lenny the other day, and everything seemed ok until this morning. I evidently spammed myself with the couple of hundred VERPed bounce messsages that normally Mailman is supposed to silently handle. Instead, they seemed to have all ended up in my inbox, and there is no indication in /var/log/mailman/bounce.1 that Mailman even saw them.

I’ve checked that postfix still has the mail delimiter set to +, and if I send out a message to a VERP style address on my box it does get delivered. It even appears that the bounces got delivered to “/var/lib/mailman/mail/mailman bounces mailman”. I just can’t understand why they then got delivered to me – normally Mailman does whatever it does and doesn’t bother me about them.

By all means, Paul, fuck with the hard drives…

I’ve spent the last two nights trying to get Vicki’s laptop working again. Back in August I bought her a new hard drive for it – a 250Gb one to replace her 80Gb one. The 250Gb one is the same model number as the one that came stock in my MacBook Pro, so I figured it was safe to put it in her slightly older MacBook Pro.

That’s great in theory, but back in December she was complaining about very slow response, and she ended up formatting and re-installing. And again this week, it started happening again. Console.log showed that once again, the disk was full of errors. We tried repairing things with Disk Utility and booting into single user mode and running fsck. Both repaired things, but the disk quickly started acting up. I installed TechTools from a AppleCare disk and did a surface scan, and it found lots of errors.

Ok, now it’s time to get serious. We burned a copy of the DFT (Drive Function(?) Test) ISO from Hitachi, but when you boot it in the MBP it asks for “Floppy B” and refuses to continue. Oh oh. So today I got *really* serious – I opened up the MBP (a tedious process) and took the drive out and put it in my Linux box so I could run DFT there. So my home Linux box is off-line for the rest of the evening as well. (Normally I would use my old Windows box for stuff like this, but the Windows box is IDE and the Linux box is SATA.)

While I was waiting for DFT to find the inevitable errors, I decided to start filling out an RMA request on the Hitachi web site. And I had a real feeling of deja-vu. And then I remembered – I’ve only returned two other drives in my life, and both of them were IBM/HItachi DeathStars. It’s nice that they make it so easy, but I think I’d rather they made the drives so they didn’t fail.

Pretty good work-out today

It’s been pretty disappointing to me recently that with my problems with my shoulder, I haven’t managed to much time on the kayak ergo. Mostly my work-outs have been lots of time stretching and doing core exercises, lots of time warming up on one of those exercise bikes that has the arm movement as well, but only a few very short stints on the KayakPro – just working on a bit of technique until the shoulder starts to hurt, and then going on to other things and then coming back to it.

Today, we took that tactic again, but Dan mixed things up more than usual and this time something really went right, and for my last time on the KayakPro I was concentrating entirely on the pull back with my torso, and trying not to push forward with my upper hand at all (or at least until there was no further resistance from the machine), and in spite of the fact that it didn’t seem to be slowing me down or adjusting my stroke at all, I managed to keep going and going until I was feeling both muscular and aerobic fatigue. I probably only went about 5 minutes or less, but it’s the longest single session I’ve gotten on the machine in weeks, and I was elated to quit for some reason other than a sore shoulder.

I can’t wait to start building time again. I know I’m not going to be racing 10 milers as soon as the season starts, but it would be nice to be able to finish the BayCreek Wednesday night time trials without having to stop for a rest like I did for most of the season last year.

Android versus iPhone

I’m currently sitting in a RJUG presentation about programming for the Android (Google) phone. As part of the talk, the presenter passed around his “Development” phone, which is basically a G1 without the service contract. There is a lot to like about Android, but in many ways it seems like it’s not really polished.

For instance, holding the “Development” phone and my iPod Touch shows that animation (including scrolling lists) seems jerky on Android compared to Apple. The Android version of the bubble level app just jumps to the final position, rather than sliding there.

Android’s run time environment seems very powerful and it can do a lot of things that you can’t do on the iPhone. Like background processes and interprocess communications. But the things it can do that iPhone can do, it looks like it would be harder on the Android.

I’d much rather do Java on Eclipse than Objective-C (a seriously weird language) on Xcode (an IDE that I still don’t like). On the other hand, I don’t think I want to manually create user interfaces in XML rather than using InterfaceBuilder. (On the gripping hand, maybe somebody will write a decent interface builder for Android, fix the stuttery scrolling and make non-ugly widget set.)

Sigh. Why isn’t there one perfect SmartPhone instead of a couple that are half-way there?

iPhone progress

Things aren’t going as fast as I’d like. I finished the Apple “The Objective-C Programming Language 2.0” and “iPhone Application Programming Guide” documents. I’m about half way through Phone Human Interface Guidelines” (which I read at lunch) and also “Beginning iPhone Development”, which I read at home because I need to work through the examples.

I have a mental picture of what screens I need and what controls they’ll have on them, so I’m wondering if I shouldn’t just go into Interface Builder and build the screens. That might at least give me something to show off.

Is it just me, or is Objective-C a weird language? I find it annoying that I have to declare a variable and then give the exact same declaration in the @property statement, for instance.