In Katy schools, throwing food, carrying a pager and having a skateboard are all listed in the student code of conduct as offenses that can warrant calling in the police.

— Zero tolerance strikes again

Dear Adobe,


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:

Mac OS X 10.3-10.4 kernel panic screen

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.

コンピュータを再起動する必要があります。パワーボタンを数秒間押し続けるか、リセットボタンを押してください。

Torn between fear and desire...


I want this almost as much as I fear it:

Dear Ingo Task Lamp Chandelier

A Class I refuse to claim membership in...


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

Dear Apple,


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:

  1. wait another 24 hours to see if you respond, either to me or to the Apple Store employee who also tried to contact you.
  2. buy another retail box and hope for the best.
  3. add a credit card to his account, renew, and then make sure I remove the credit card.

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?”

Buried coolness in OS X Tiger


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.

The first step is proving you have a problem...


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;

Why I like Macs, "warts and all"


So, it took two trips to the shop to get my brand-new Quad G5 running reliably, demonstrating once again that it’s never safe to buy The Latest Thing from Apple (or, to be fair, most vendors). It works great now, and when I took it in the second time, it received automatic priority as a “looper”, so it was done in two days. That’s the good news.

Now for the bad news: this morning, my PowerBook died with repeated kernel panics (most likely bad RAM, from the symptoms). I had backups, of course, but I didn’t need them. All I had to do was carry it over to another Mac, connect them with a FireWire cable, and reboot the second Mac from the PowerBook’s hard drive. In 30 seconds I was back in business, with everything exactly the way I like it.

I immediately made a fresh backup to a portable FireWire drive, and just for good measure, stored a disk image of that backup on the other Mac’s drive. Since I still need a laptop, I’m now booting my ancient 700MHz G3 iBook from the FireWire drive, and that’s what I’ll be carrying to work until the PowerBook is fixed. It’s a lot slower, and a bit clumsier to carry around, but I don’t have to spend any time fixing preferences, reinstalling applications, etc, etc.

Best of all, everything was done with vendor-supported tools that ship with Mac OS X, without ever opening up a case. You can rescue data from a broken Windows or Linux laptop, but the process is a touch more involved (coughcough), and the odds aren’t good that you can just boot another computer from that disk.

Update: okay, there are a few things that don’t “just work” when you pull this trick. The OS stores some of its preferences on a per-host basis, keying off the MAC address on the primary ethernet port. These are stored in ~/Library/ByHost/, and include that address in their name. Most of them are pretty obvious, like network port configurations, display preferences, and iDisk synchronization, but I was surprised that it included the input menu contents for multi-language input. The menu was there, but I had to click the checkboxes to re-enable Japanese input. So far, that’s the only host-specific preference I’ve had to set.

So, add 5 seconds to the transition time. :-)

There is one annoying side-effect to this. If you’ve turned on local mirroring of your iDisk, that mirrored copy is also host-specific. It makes sense, but it means that I have a hidden disk image chewing up 1GB.

Yeah, I've had days like this...


I rather like the webcomic Misfile. The art and writing aren’t as polished as some others, but both are improving over time. The pacing is pretty good, and sometimes it just rings true:

Misfile

“Need a clue, take a clue,
 got a clue, leave a clue”