Snow in October is like coming home to find the locks changed and all your stuff in the yard. Summer isn’t just gone, it has dumped you.
— Shamus tweets wisdomI’m getting consistent 190ms pings to my server, despite 10ms pings to the router its connected to. It’s not server load, it’s not the bandwidth throttling rules in my firewall config, and I’m not seeing any errors in netstat or dmesg output. My best guess right now is a duplex mismatch on the switch. I’m waiting to hear back from the network guys.
Update: supporting evidence for my switch theory: Scott’s machine in the same rack, recycledbits.org, has the same problem, and I get 360ms pings from mine to his, without ever touching a router.
On the “damn nuisance” front, however, email to ViaNet tech support comes back with one of those stupid challenge/response verification schemes. This is precisely the wrong approach for your primary tech-support contact method. Maybe if you’d actually answered the phone when I called, I wouldn’t mind so much, but come on, grab a clue, eh?
Update: oh, that’s much better.
Driving in this morning, I reflected on yesterday’s sighting of the usual group of “9/11 was a Republican plot!” nutcases on University Avenue, and felt inspired.
"Chickenhawk," you say,
to silence your opponents.
Get a job, hippie.
While preparing a faithful, high-resolution copy of the Mac OS X kernel-panic screen (to submit a patch to XScreenSaver’s BSOD module, now that JWZ has gotten it mostly working as a native Mac screen-saver), I ran into several problems. First, the result of my efforts:

Now for the problems. I started out working in Photoshop, mostly because I hate Illustrator and wish CorelDRAW 4 had been stabilized and ported to every useful platform, but quickly gave up. Even for a simple graphic like this, it’s just annoying to work without real drawing tools.
The power button took about fifteen seconds in Illustrator, leaving me to concentrate on the text (12.2/14.6pt Lucida Grande Bold and 13/14.6pt Osaka, by the way). The Japanese version took the longest, obviously, especially with the JPEG artifacts in my source image.
Mind you, the above PNG file wasn’t exported from Illustrator, because all of my attempts looked like crap. The anti-aliasing made the text too fuzzy. To produce a smooth background image with crisp text, I had to manually transfer the two layers to Photoshop. I exported the background graphic at 300dpi without anti-aliasing, resized it in Photoshop using the Bicubic Sharper mode, then created a text field, pasted in the text, set the anti-aliasing mode to Sharp, and nudged it into the correct position.
The real fun came when I wanted to take the text I’d so painstakingly entered and paste it into another application.
I couldn’t.
Selecting the text in Illustrator CS2 and copying it left me with something that could only be pasted into Photoshop or InDesign. Fortunately, InDesign was written by people who think that text is useful, and after pasting it there I could copy it again, ending up with something that other applications understood. See?
You need to restart your computer. Hold down the Power button for several seconds or press the Restart Button.
Veuillez redémarrer votre ordinateur. Maintenez la touche de démarrage enfoncée pendant plusieurs secondes ou bien appuyez sur le bouton de réinitialisation.
Sie müssen Ihren Computer neu starten. Halten Sie dazu die Einschalttaste einige Sekunden gedrückt oder drücken Sie die Neustart-Taste.
コンピュータを再起動する必要があります。パワーボタンを数秒間押し続けるか、リセットボタンを押してください。
I remember hearing about these morons a while back, when they wanted to sue the major computer companies for fraudulently advertising disk capacity using the exact same units as everyone else in the industry, using the sizes provided by the hard-drive makers.
Apparently, the howls of laughter with which this argument was received led them to retarget their suit against the hard-drive makers:
You are receiving this notice because our records indicate that you purchased an aftermarket Western Digital Corporation ("WD") hard disk drive between March 22, 2001 and February 15, 2006. "Aftermarket" purchasers are those who purchased their hard disk drives separately rather than pre-installed by an original equipment manufacturer into a computer.
A proposed class action settlement may affect your legal rights. If the settlement is approved, you may be eligible to receive free hard disk drive backup and recovery software from WD. Read below for a summary of the proposed settlement. For a detailed legal notice and complete terms, please visit www.wdc.com/settlement.
A class action lawsuit entitled Safier v. Western Digital Corporation is pending in the U.S. District Court for the Northern District of California. The lawsuit claims that in the sale and marketing of its hard disk drives, Western Digital overstates the useable storage capacity. According to the lawsuit, when attached to most personal computers, a hard disk drive advertised as having "80GB" will only show an available capacity of "74.4GB." The lawsuit alleges that one reason for this disparity is the existence of two different measurements of a "GB," one of which is used by computer operating systems and another of which is used by hard disk drive manufacturers. The lawsuit seeks restitution, damages, punitive damages, and injunctive relief. The lawsuit is case number 05-03353 BZ.
Emphasis added. I won’t be joining this one, and if I can find a way to send a message to the greedy little bastards behind the suit, it will consist of two words:
Bite Me
It’s nice that I can walk into one of your retail stores, purchase a .Mac kit, and use the included authorization code to renew someone’s .Mac account.
Well, it would be nice if I hadn’t just tried it for my father’s account, and had the code rejected. The best part was that, from the standard account renewal screen, you didn’t show the reason why it was rejected, and I had to use the special URL to find out that you think that activation code has already been used.
Even that wouldn’t be so bad if you didn’t have 48-hour response time for the email-only .Mac support, going so far as to prevent even the Apple employees at your retail store from reaching you directly.
In other words, you’ve given me three choices:
Meanwhile, of course, I blog.
Update: I just got a form letter:
Apple accepts cancellations of .Mac memberships only during the first 30 days of membership.
At your request, Apple can cancel your .Mac account XXXX@mac.com and issue a replacement activation key. You may then reactivate account XXXX@mac.com with the replacement key.
This makes slightly less than no sense.
Update: Another day, another form letter, near-identical contents. No matter how clearly and simply I stated the problem, they didn’t get it. So I printed out the email exchanges, walked back down to the Apple Store, watched the manager wonder what the hell they’ve been smoking, and got a new, working activation key. Problem solved, no thanks to the completely inept .Mac support team.
I’ve gotten better customer service from stray dogs. At least they understood a few simple phrases in English.
Update: Glee! They sent me a survey on “how satisfied were you with your .Mac email support?”
Demonstrating once again that most of the really good stuff in the Tiger OS release was hidden under the hood, I present textutil:
textutil -inputencoding EUC-JP -encoding UTF-8 -convert rtf foo.html
This command-line utility exposes the extensive character-set and file-format conversion that’s built into Cocoa. Very cool.
So, it initially looked as if swapping the DIMMS around and reseating everything fixed my PowerBook. Paranoia is an old friend, however, so I decided to do some more testing before trusting it.
First up, TechTool Deluxe, a piece of software that Apple gives you when you buy AppleCare support. I ran the full suite of tests half a dozen times, with no errors.
Next up, World of Warcraft. I booted normally, logged in and had one of my characters stand in the middle of the busiest city, opened up the Activity Monitor, and… success! Or, more precisely, failure. It locked up good and hard, filling the screen with garbage.
Packed it up, made a support appointment at the Apple Store, walked over at the appointed time, waited 40 minutes for someone to get to me, and then spent the next 40 minutes proving that the problem really existed.
Standard diagnostic tools passed with flying colors. The tech’s random mix of apps worked just fine. We ended up testing each DIMM separately, loading up memory and CPU with World of Warcraft, QuickTime Player (random music video set to loop), and VLC (random VOB file set to loop). With the DIMM that I initially had figured was the good one, this produced several crashes within five minutes. The other DIMM worked fine, and in fact it’s been running for about half an hour now back in my office.
They’ll have a replacement DIMM for me in a few days, and meanwhile I’m going to keep stressing the machine to make really sure there’s nothing else wrong. Then I’ll migrate back from my G3 iBook.
Update: I spent a few days abusing the replacement RAM, and now everything’s back to normal. It was interesting using the G3 iBook for a while; it was perfectly adequate for use at work (Terminal, Safari, Mail, iTunes, MS Word, SSH Agent, Cisco VPNClient, Firefox, and Thunderbird), and only really showed its age when confronted with video clips (no, Choco Party is not work-related, or particularly work-safe, but it was certainly popular, especially after I googled out the name of the featured model, Miri Hanai).
I don’t plan on buying one of the current MacBook Pro models, even after they sort out all the early hardware problems (I’ve had enough early-adopter fun with Apple for a while, thanks). It will probably be a year before it’s worth the effort of migrating my primary machine to the new platform, but an x86 Mini is a possibility. We’re buying some for the office, so I’ll be able to check it out soon.
Here’s my simple RAM-thrasher. Kicking off half a dozen of these is more predictable than standing around in Ironforge in World of Warcraft:
#!/usr/bin/perl
open(In,"/dev/random");
foreach (1..250000) {
read(In,$x,1024);
push(@x,$x);
}
@y = sort @x;