Apple

Dear Apple,


Please quit fucking with the concept of “plain-text” email in Mail.app. Your latest trick, stripping out leading tabs when text is cut-and-pasted using the Emacs key bindings, is a damned nuisance.

Oh, and while you have developers doing something useful, give me a switch to turn off the anti-WYSIWYG text-wrapping feature, shut off the foolish “unpack ‘safe’ files” feature in Safari, and don’t let the finder launch shell scripts that are pretending to be innocent data files.

Love, J

PS: please fix my Quad G5 correctly this time. Diagnostic LED #7 is not my friend.

Update: Well, time will tell if my Quad G5 is truly fixed, but at least they got it back to me quickly (after replacing one of the CPUs they replaced last time).

How to kill a browser


As a general rule, I have little use for Internet Explorer. Not just because I use a Mac, but because it’s not a particularly good browser. The Windows version, for instance, ships unable to view many foreign-language web sites correctly (and even after you turn on support for that language, it may not be 100%), and still doesn’t support transparency in PNG images (my site logo does not have a grayish box around it).

Back in the days when I ran several hundred Solaris servers for Microsoft, my only real use for IE was filing expense reports. Maybe the occasional internal web site that used ActiveX controllers or NTLM authentication, but that was pretty rare.

On my Mac, I hadn’t fired it up in months. All I’d done recently was copy it to my teacher’s Mac, after one of her “helpful” support techs had deliberately removed it from her hard drive (“you don’t need that any more”). Good thing, too, since we discovered that it rendered all of the Japanese text on her Tamura Ryuichi site incorrectly.

[For future reference, the problem was that the text-encoding Content-Type META tag had not been placed immediately following the HEAD tag; the designer had placed it after the TITLE tag, indented with whitespace. Most browsers saw it and correctly rendered the page, but IE for Mac ignored it. Placing it immediately after the HEAD tag fixed the problem. More on Unicode and using it in browsers here.]

This week I found myself with an understandable but annoying need for Mac IE: getting my alumni discount at the Microsoft online company store. Forget buying stuff, you can’t even browse the product categories in Safari or Firefox.

Unfortunately, it didn’t work. As in, “I’m sorry, I refuse to run on this machine, and here’s a cryptic dialog box explaining why”. Microsoft’s knowledge base article on this subject says “try repairing permissions, rebooting, or reinstalling the operating system”. The first two did nothing, the third was out of the question.

You can’t download Mac IE from Microsoft any more, so I couldn’t reinstall it. I got a fresh copy from a co-worker’s machine, and that didn’t work either. The error dialog referred to components of CarbonLib, specifically JNIlib, so I did some searching.

Java. Duh. A while back I followed instructions similar to these to switch the default version of Java on my machine from 1.4.2 to 1.5; Apple supplies both, and gives you a tool to tell GUI Java apps which one to use (Java Preferences.app, buried in /Applications/Utilities/Java/J2SE 5.0), but there’s no supported way to set the default for apps launched from the command line. I’ve now forgotten why I needed it at the time…

Switching the symlinks back to 1.4.2 and rebooting fixed IE. This suggests that IE may die for good when Apple decides that 1.5 should become the system default.

QuickTime Player gripes


I’ve been transcoding a bunch of video clips recently, to load onto my PSP and inflict on my friends, and ran into a limitation of QuickTime Player that bugs the hell out of me: you can’t jump to a specific time in the video, even in the A/V Controls dialog. You can adjust playback speed, jog/shuttle around, and drag the playhead around, but none of these methods have any actual precision. There’s a perfectly good time counter in the window, but you can’t do anything with it.

Fortunately, it’s a scriptable app, and Apple supplies a library of sample code that includes a “Move to X in Front Movie” in the navigation section. Being sample code, it’s not directly useful (hint: divide everything by 60 * time_scale and get rid of the check for integer input), but it’s better than nothing.

A few minutes of work could turn this into a Dashboard Widget that significantly extended QP’s navigation options. Hmm, maybe I should see if someone’s done it already, or if the widget world is still composed almost exclusively of screen scrapers and search boxes.

Update: I hacked on Apple’s sample widgets and created QuickNudge. No error checking, no spiffy icon, but it lets me adjust the playhead in precise increments. I haven’t written the “set playhead to time X” part yet, but I included the necessary AppleScripts.

How to crash a quad-core G5


My recently-serviced G5 was doing well. This morning it was locked up again. Fans running at full speed, screen wouldn’t wake up, couldn’t get in via SSH.

The problem: last night before I left, I went into System Preferences and checked the little box for “Put the display to sleep when the computer is inactive for…”. This was also enabled the last time it failed to wake, and based on half-remembered forum postings, I had turned it off. I feel no need to repeat the experiment again…

Looks like some problems in the power-management firmware. Which makes sense, since the problem that sent it in for service was that it went to sleep and never came back, and the amount of stuff they replaced suggested thermal issues.

Update: No, it’s just hosed. Even without the power-saving, leaving it on for a few days killed it.

Update: Ah, turning off all power-saving, including the Automatic setting for processor performance, seems to keep it alive. So, if I don’t let it sleep, don’t let it turn off the display, and don’t let it slow down or shut off any of the cores, it seems to work. I’ve been stressing the CPU on and off with a multi-threaded Sudoku generator (not because I need 200,000 Sudoku puzzles per day; it’s just a convenient way of pounding on the CPUs).

This is not acceptable in a new machine, of course, but if it does turn out to be a firmware issue, and they release a patch soon, I can at least use it in the interim.

Good news, bad news, silly news


Apple sent me email last night at 6pm saying that my quad-core G5 was fixed and ready for pickup at their nearby store. Today at 1:30pm, I discovered that their system sends out email when the tech logs the work as complete, before the machine is burned-in. In other words, “come back in a few hours when we call you.”

At 4pm, they called, and I walked back to the store, Kart-A-Bag Tri-Kart 800 in tow. Got it back to the office, hooked it up, turned it on, and not only did the fans kick into high gear and stay there, neither the keyboard nor the mouse worked.

Power down, unplug, reseat, plug, power up, everything’s fine. I think I’ll do my own burn-in at the office for a few days, though, just to make sure…

Amusing note: the purchase price for the complete system was $3,278 after my 10% developer discount. The alleged Parts and Services cost for the repair (fully covered by warranty, of course) was $4,830.13. This included a new logic board, new quad-core CPU unit, and four new DIMMs, plus $135 in service.

Today’s lesson is “buy the AppleCare policy, or throw it away if it breaks after the standard warranty runs out.”

Update: after about 18 hours of burn-in at my office, it was looking good. Then I went to lunch. When I got back, the fans were running at full speed and the screen wouldn’t wake up. Power-cycling brought up the dark-gray-screen-of-death. Second try worked. I’m going to reset the PRAM and try again, and if it doesn’t make it to the end of the week without a problem, it goes back to the shop.

By the way, the service tech did something that walks that fine line between amusing and disturbing. I took the machine in on December 27th; World of Warcraft patch 1.9 was released on January 3rd. When I got the machine back yesterday, it had already been patched.

Upgrading your Mini, the easy way


A while back I bought a Mac Mini to be the house server. Since it wasn’t going to be stressed too much, I just got the base configuration, and planned to leave it that way.

Well, the 512MB of memory was adequate, but the pathetically slow hard drive was not. Fortunately, the nice folks at Other World Computing were offering an attractive deal: for $99, they send you a box, pay for overnight shipping both ways, and install any combination of memory, hard drive, and optical drive purchased from them. To make it even more attractive, they give you cash back for the old parts.

I kept the optical drive, doubled the RAM, and upgraded to a larger, faster, quieter hard drive, and they gave me $80 for the old parts. I had my upgraded machine back in 72 hours, and it’s now happily running Tiger Server.

On that note: “Dear Apple, please write some decent documentation for your server product, and fix the layout of your management GUI. Love, J”. For instance, it would be nice to know how many characters are permitted in the shared secret and user passwords when you’re setting up an IPsec VPN. It’s not fun to guess why you can’t authenticate…

Meet the iBra


The jokes just write themselves when it comes to this support garment that I spotted a poster for in Vegas:

iBra

Woofers, tweeters, knobs, volume control, remote control, playlists, etc, etc. More fun, though, was finding out who else is using the name “ibra”:

Never buy a 1.0...


Last night I put my new quad-core G5 to sleep. This morning it didn’t wake up. The fans spun, the drive spun up, but nothing else. Power-cycling didn’t help. I don’t even get the infamous power-up chime noise, and it never gets to any of the boot screens, so it’s not only merely dead, it’s really most sincerely dead.

I’ll probably go into the office and swap the drive into another G5 PowerMac so I can back up the data, and then it’s time to exercise my AppleCare policy.

Drat.

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