XCode podcasts

At Kris Johnson’s suggestion, I downloaded and watched the two Pragmatic Programmer’s screencasts about XCode. Well, they didn’t make me love XCode as much as I like Eclipse, but they’re very helpful, especially the first one. Well worth the $10 I had in my Paypal account.

I don’t know if it’s just me, but when I tried to use the shortcut (command-shift-j) to turn some highlighted code into another method, XCode threw up a horrible message and wouldn’t proceed until I choose “Quit”. Very annoying.

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.

Relatively painless upgrade

I upgrade to Debian Lenny on my colo box today. It was relatively painless. I had to upgrade php to php5 manually, because the php4-mysql refused to upgrade and refused to re-install. I had to mess around a bit with my Apache config. The biggest pain was dealing with the “4gb seg fixup” errors. In the past, every time libc upgraded I had to remove /lib/tls and then it was done. But this time I had to install libc6-xen, and then edit /etc/ld.so.conf.d/libc-xen.conf to change “hwcap 1 nosegneg” to “hwcap 0 nosegneg” and then run ldconfig and reboot.

Everything appears to be working except the munin plugin for apt is acting a little weird, so I’ll call this done.

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?