Thursday, January 9 2003

Good things about Safari

Lots of folks are busy documenting the bad things about Safari (I sent in about a dozen bugs, and I’ll wait for the next beta before looking again). One good thing I noticed is that it has the appropriate hooks to make OS X’s summarize engine work. Select the text on a page, tell it to summarize, and you get a dynamically condensed version of the text. If the interface weren’t so clunky, it would be really handy for deciding if you really want to read further in someone’s site.

It would be trivial for the developers to add a button to the toolbar that selected the body text, called the summary service, and returned the results in a new window, nicely formatted. Since Safari is more-or-less scriptable, I was able to knock together a quick AppleScript that shows off the idea. Drop it into ~/Library/Scripts and run it on whatever page you’re currently looking at.

Wednesday, July 9 2003

Fun with iTunes Music Store

The LXG soundtrack sounded promising enough that I decided to support the iMS exclusive release of it. There was some other stuff sitting in my shopping cart, so I bought it all, synced the iPod, and drove to work.

You wouldn’t think that LXG, Dean Martin, Liz Phair, John Philip Sousa, and Ray Brown would make a good driving mix, but it worked.

Friday, July 11 2003

Why I’m not a Switcher

I own two Windows machines that I rarely turn on any more. Even at work, the only thing I use Windows for is handling expense reports and accepting meeting invitations. I own two Macintoshes and an iPod (well, two, but only ’til I find a home for the old 10GB model), and I’ll almost certainly buy a dual 2GHz G5 later this year.

I spend most of my time using Macs these days, but I insist that I am not a Switcher. Why not? Because the Switch ads aren’t about technology; they’re about validation. For years, Mac users have been the whipping-boy of the mainstream computing world, and they’ve responded with a “cold, dead hands” attitude and a cultlike devotion to all things Apple. The Switch ads play up to that.

(Continued on Page 91)

Friday, July 18 2003

Sometimes it’s not the network

My job was Unix support for Corporate Services, which basically referred to everything in the company that wasn’t related to developing, selling, or training customers how to use our products. In practice, though, it usually just meant MIS, because HR and Legal were composed entirely of Mac people, who had their own support team.

The oddest exception started one day when an HR manager asked me to help him set up a beta-test of a Lotus Notes-based applicant tracking system. The application was being developed on OS/2 servers and PC clients, but we wanted to test it with a SunOS server and Mac clients, since that’s what we had.

(Continued on Page 145)

Wednesday, July 23 2003

Online music done right

Just for amusement, a list of the albums and songs I’ve purchased from the iTunes Music Store since it went online.

Complete albums:

  1. A Wonderful World, Tony Bennett & k.d. lang
  2. Jazz Cello, Ray Brown
  3. The Best of Ray Charles: The Atlantic Years, Ray Charles
  4. In Blue, The Corrs
  5. Count Basie’s Finest Hour, Count Basie
  6. Getz for Lovers, Stan Getz
  7. Stan Getz and the Oscar Peterson Trio, Stan Getz
  8. Best of Al Jarreau, Al Jarreau
  9. B.B. King: Anthology, B.B. King
  10. Late at Night with Dean Martin, Dean Martin
  11. The Best of the Moody Blues, The Moody Blues
  12. Confirmation: The Best of the Verve Years, Charlie Parker
  13. Blues Etude, Oscar Peterson
  14. Tracks, Oscar Peterson
  15. We Get Requests, Oscar Peterson Trio
  16. With Respect to Nat, Oscar Peterson Trio
  17. Oscar Peterson: Stéphane Grappelli Quartet, Vol. 1, Oscar Peterson & Stéphane Grappelli
  18. Liz Phair, Liz Phair
  19. The Dynamic Duo, Jimmy Smith & Wes Montgomery
  20. Great American Marches I, John Philip Sousa
  21. The League of Extraordinary Gentlemen, Trevor Jones & The London Symphony Orchestra

Individual Songs:

  1. You’ve Made Me so Very Happy, Blood, Sweat & Tears
  2. Do You Wanna Hold Me?, Bow Wow Wow
  3. Takin’ It to the Streets, The Doobie Brothers
  4. What a Fool Believes, The Doobie Brothers
  5. Radar Love, Golden Earring
  6. The Day Basketball Was Saved, Jackson 5
  7. I Think It’s Love, Jermaine Jackson
  8. Laura, Billy Joel
  9. Beth, Kiss
  10. Detroit Rock City, Kiss
  11. King of the Night Time World, Kiss
  12. Shout It Out Loud, Kiss
  13. Head to Toe, Lisa Lisa & Cult Jam
  14. Insanity, Liz Phair
  15. Don’t Stand so Close to Me, The Police
  16. Every Morning, Sugar Ray
  17. Macho Man, Village People

Friday, August 22 2003

More from the iTunes Music Store

The only thing that keeps me from spending even more money than I already have at iTMS is the limited selection. Broad but not deep, that is. Some recent artists that I like aren’t listed at all, while some old favorites have just a fraction of their catalog online. And then there are the ones who were never on a major label, or who have renounced their sinful past (warning: the Flash in this site ground my browser into the dust).

Anyway, here’s what I’ve bought recently.

(Continued on Page 1543)

Tuesday, September 2 2003

iTMS takes me back

Okay, my iTunes Music Store purchases are getting a bit silly now:

(Continued on Page 1561)

Friday, September 5 2003

I love this kind of bug…

People often wonder what sysadmins do for a living. It’s a mostly-invisible profession, where you’re only noticed when things aren’t working. Mostly we solve problems, but often we first have to figure out what the problem really is.

I don’t want to know how long it took someone to get from “my password doesn’t work” to this:

If you used Open Firmware Password utility to create a password that contains the capital letter “U”, your password will not be recognized during the startup process (when you try to access Startup Manager, for example).

Note that it applies to Mac models going back several years, but wasn’t posted on the support site until this week. No doubt there’s a small pile of bug reports that have been sitting around for all this time, with their status field set to “WTF?”.

Wednesday, September 10 2003

iTMS weekly reports

No, I didn’t buy another big batch of music from the iTunes Music Store yet, although I probably will soon, to stock up the iPod for my next road trip to Las Vegas. I have been keeping an eye on the store, though, and after corresponding with Brian Tiemann, I decided to investigate an oddity we’d both noticed: the week-by-week “Just Added” report ain’t no such thing.

(Continued on Page 1579)

Tuesday, September 16 2003

Today is a good day

New PowerBooks are out. Must wet pants with joy. They all look good, but I’m leaning slightly toward a 15” model with an 80GB disk and 1GB of RAM; not sure I’m ready for a 17” boat anchor.

Yesterday, on the other hand, was definitely not a good day. For some time now, I’ve been installing Panther betas on my iBook with the Archive & Install option, which preserves almost all of my applications and customizations while completely replacing the OS. I’ve always backed up my home directory first, but haven’t bothered with an extra full backup. Cuts the total upgrade time down to about an hour, most of which is spent watching the disks spin.

On another day, I’d consider including a comparison to my last Windows upgrade horror story. Unfortunately, things went terribly wrong this time. Twelve hours later, my iBook is almost back to normal.

(Continued on Page 1585)

iObey

Okay, most of them are lame, and many will grate on the nerves of anyone who has two brain cells to rub together, but this one was worth it.

Friday, October 17 2003

Apple Jazz

Herbie Hancock, on Apple.

Herbie Hancock, in the iTunes Music Store.

The interview is interesting reading (“I was using it [OS X] before other musicians were using it.” and “I hate OS 9 (laughter). I hate going back to that.”), but what I really like is the commentary on the “celebrity playlist.” Sheryl Crow has a bland paragraph that was probably written by her publicist, but Hancock explains in detail why each of the tracks is interesting and significant (sometimes to him, sometimes to the world). Note to Apple: Hancock’s commentary sells, Crow’s doesn’t.

[and if you’re a Windows user who hasn’t installed iTunes yet, Great Googlimoogli, what are you waiting for? It’s not as fast as it is on a Mac, but all of the features are there, including Rendezvous music sharing.]

Update: After purchasing Hancock’s picks, I’d say that I like everything except Missy Elliot’s Slide. Miles Davis’ 27-minute Bitches Brew starts off rather … “non-musical” … for my tastes, but picks up several minutes in. Elliot I just don’t get; Hancock sees something in her music that separates it from typical posturing {c,}rap, but all I hear is the surface, and it’s so grating that I can’t get past it to look for what he found. Obviously I won’t be buying her recommended playlist.

Saturday, November 22 2003

OS X 10.3 downer

So I’ve been using the OS X Stickies app for a while. Its primary limit has always been scaling; it doesn’t track the z-axis ordering of notes from launch to launch, it doesn’t let you search notes, it doesn’t supply multiple note sets or 3M-style “noteboards”, etc.

With Panther, they added the title line of each window to both the Windows menu and the contextual menu on the Dock. This isn’t a bad thing, as such, but it definitely doesn’t scale! It also doesn’t work quite right, since it often inserts gratuitous whitespace in this menu (which will change every time you view it).

What I never noticed during any of the betas, and only spotted today because a third-party app managed to rearrange my Stickies so that some of them were offscreen, is that they’ve removed the “arrange windows” option in Panther. If it weren’t for Exposé, I’d have never been able to select them all to get them back on screen.

[I suspect Burning Monkey MahJong as the culprit; it insists on switching video resolutions on startup. blech.]

Another misfeature in Panther Stickies, which I did spot right away, is the use of tooltips to show you the creation date and time of each note when you hover the mouse over it. This frequently interferes with actually reading the note, and there’s no way to turn it off.

So, two steps forward, one step back, one step down.

[and before I forget, yes, the data format is still binary garbage]

Thursday, December 4 2003

Dark Grey Screen Of Death

Now here’s something I hadn’t seen before:

OS X Bomb Box

Fortunately I save early and often, and in the worst case I have a full backup that’s only a few days old (minutes, now!), but this was the first honest-to-gosh kernel panic I’ve had since I bought an OSX-equipped Mac. Quite a surprise.

/Library/Logs/panic.log seems to blame it on the Airport drivers. I can cope with that, as long as it doesn’t happen again. Then I’d have two reasons to send my shiny new PowerBook in for service (the first being the famous “white spot” problem that’s finally starting to become visible on my screen).

Thursday, January 15 2004

One question answered…

Latest Apple press release: “With Apple Loops support, future versions of Logic Pro will easily import projects from GarageBand.”

That wipes out about half a dozen common complaints about GarageBand.

Friday, January 16 2004

GarageBand notes

First off, the iLife ‘04 installer does not ask if you want icons for all five apps added to your Dock, it just puts them there.

Second, when you launch GarageBand for the first time (or, at least, when I do), it pops up a dialog box saying:

Can not find /Users/jgreely/Music/GarageBand
Please make sure this directory exists

Why won’t it just create it for me, or find it after I create it? Because GarageBand can’t follow aliases. iTunes is happiest if your iTunes library remains in ~/Music (although that bug might be fixed finally), but I wanted to strip down my home directory for backing up onto DVD and investigating FileVault. So I made ~/Music an alias to /Users/Shared/Music. iTunes is perfectly happy with this, although .Mac Backup is not. Add GarageBand to the list of Apple-supplied applications that are incompatible with Apple OS features.

Third, only one project can be open at a time. This would be fine, given the memory requirements, if it weren’t for the fact that the program exits when you close that project. Just as bad, it insists on opening the last active project at startup, so if you want to start a new one, you have to sit through the overhead of loading the old one, and then remember to use “New” in the menus before closing it. Blech.

Workaround: clear the “Open Recent” menu. On the next launch, you’ll get the Open/Create dialog again.

Fourth, faux wood grain and “dark brushed metal” looks silly.

Update: the overhead of loading a project is non-trivial. I created a simple 32-measure “song” with four loops, and loading it at startup added fifteen seconds to the application’s launch time (1.25GHz PowerBook G4, 1GB RAM). Oddly enough, the far more complicated demo song “Reflection” that’s included in the package added only eleven seconds.

Update: changing the length of a song does not trigger a “do you want to save?” dialog box. I thought that was interesting, especially since it’s ridiculously difficult to drag the end-of-song slider around. As far as I can tell, it has a selection area that covers approximately 3 pixels, and if you miss them, you move the playhead instead. Hello? UI designers? Make the damn triangle bigger!

Other than that, I’m having fun mixing loops and discovering just how much (or, more precisely, how little) I retain from the piano lessons I took 24 years ago. On that note, I’m glad I didn’t order one of the USB keyboards that Apple is pitching as a companion to GB. I got to try one out at an Apple Store, and while it’s a decent enough gadget that fits nicely on a desk, I grew up with an honest-to-gosh piano in the house — a spinet grand — and cheap plastic keys just feel wrong.

Then I spotted this Roland FP-5 with a USB interface…

It will be a while before I recover any kind of skill at playing, so for now I’m amusing myself with loops. Since all the other kids are doing it, here’s a highly-repetitive background track I knocked together out of the included percussion loops. I used all the default settings for a new “song,” so it’s 6:40 long (at the default tempo, the shortest possible song is 1:02).

Mind you, it loops every four seconds, but both iTunes and my iPod insert a short delay when they loop back around, so the long version minimizes the breaks in the sound. If you don’t really feel like downloading 6 megabytes of, well, crap, here’s the 1MB version.

If you have GarageBand and Jam Pack, the really short version is “drag these loops into the timeline and tweak their volume and balance knobs”:

  • Conga Groove 01
  • Conga Groove 11
  • Djembe 01
  • Indian Tabla 01
  • Motown Drummer 24
  • Tambourine 01
  • Shaker 11
  • World Bongo 04
  • World Maraca 03
  • World Triangle 01

Friday, January 23 2004

GarageBand resource usage

There are a lot of discussions about how GB seems to be a bit of a pig, especially compared to other applications that have much the same functionality (or, in the case of Soundtrack, include many of the exact same samples and features). So, naturally, I did some testing.

On my 15-inch 1.25GHz G4 PowerBook, with 1GB of RAM and the optional 5400 RPM hard drive, I can have at least a dozen software instruments playing at the same time, as long as no more than three of them are pianos.

In my testing this evening, I created an unplayable song that had eight software instruments: two drums, six pianos. Drop one of the pianos, and it pops up an error dialog and then continues to play some of the instruments. Drop another one, and it plays fine, although the display updates are sluggish. Add in four non-piano software instruments (specifically, a shaker, a triangle, a bongo, and an upright bass), and it still plays, although the display can barely keep up.

I was even able to add seven sampled instruments after that without creating a failure, although the display was hopeless and top claimed GB was using 384% of the CPU (when it finally managed to update). top also reported that GB had about 250MB of active physical memory and 450MB of active VM.

Obviously, in addition to the existing recommendations about CPU and disk speed, GarageBand users who are having problems need the following advice: “buy lots of RAM or cut back on those darn pianos!”

Oh, and an interesting note from my testing is that it wouldn’t let me have more than sixteen software instruments in a song, even if my system could support them. The error message was badly written, implying that I couldn’t add any more tracks, but it definitely meant “tracks containing software instruments”.

Definitely version 1.0, and an update is obviously needed soon (especially for improving how it interfaces with MIDI keyboards and audio input devices), but still worth playing with.

Update: passed this along to MacInTouch, after someone with the slightly-faster 17” PowerBook complained that it took forever to launch GB and open a song. The person who read my response asked me set the Energy Saver settings to “Automatic” and unplug the AC adapter. That actually worked fine, and didn’t affect load times or playability. Setting it to “Longest Battery Life” slowed down the launch and load times by maybe 15%, and stopped playback dead in its (17) tracks. And, unlike the earlier error dialog, this one clearly identified the processor performance setting as the culprit.

Oddly enough, when I went back to my standard high-performance settings, I was able to add another piano track without killing playback. I suspect there’s a memory management issue that is cleaned up by saving your song and restarting GB.

Update: The sixteen-software-instruments limit is configurable under the “advanced” pane of GB’s preferences. It’s currently set to “automatic” on my machine, and no doubt it auto-adjusts based on system specs. There’s also a tweakable “voices per instrument” setting, which may be the smoking gun in some of the dramatically different results people are getting on similar hardware: if the heuristic used by the “automatic” setting is flawed, it may be overestimating the power of certain hardware configurations.

Update: The guy with the sluggish 17” PowerBook has now reported that running the usual mix of disk-repair utilities (one of the most common solutions for odd OS X behavior) fixed his GB problems.

Saturday, January 24 2004

GarageBand: adventures in UI design

GarageBand only allows you to have one project open at a time. This is not an obvious or necessary feature of a music program, but at first glance, it’s defensible in the context of Apple’s iLife package. For a bunch of more-or-less free tools designed for light use by non-professionals, allowing multiple documents adds the risk of clutter and confusion (not to mention memory management and engineering effort). iTunes, iMovie, iPhoto, and iDVD all work the same way, right?

Well, no, they don’t. iTunes and iPhoto simply don’t have the concept of multiple projects. Something is either in your library or it isn’t. iMovie and iDVD are single-project-based, but the projects generally have a much larger scope. I’m sure a lot of iMovie users wish they had an iPhoto-like clip library to store their favorite video elements in, but for the most part, few people are going to want to edit more than one movie at a time.

This is not the case for music, especially in an application that encourages experimentation. One of the very first questions I saw on the various GB forums was “how do I make my own reusable loops”. Tied with it was “how do I import MIDI tracks”.

The answer right now is “through painful workarounds.” To make your own loops, you export your performance to iTunes, find the AIFF file on disk, load it into the SoundTrack Loop Editor that’s part of Apple’s free AppleLoops SDK, manually mark it up, drag the tagged file into GB’s loop browser window, and then wait while the complete index of available loops is rebuilt. To import MIDI files, you download two third-party freeware packages and string them together to fool GB into thinking that you’re playing the music on a keyboard.

Even the simple act of cutting and pasting between songs is made difficult by the single-project design. You can do it, but only within the same session, because GB clears its private clipboard on exit. And it exits whenever you close a project. So, if your goal is “copy my cool bass track from RockDude into BluesDude,” the order of operations must be Cut, Open, Paste. Anything else will wipe the clipboard and force you to start over.

Sure, after you’ve done it a few times, you’ll adjust your behavior to match GB’s expectations, but isn’t that precisely the problem that consumer-friendly creative applications are supposed to avoid?

Tuesday, January 27 2004

getting MIDI into GarageBand

First pass at a third-party MIDI importer for GB, courtesy of Bery Rinaldo. Much nicer than the previous workaround.

Wednesday, February 4 2004

More GarageBand resource usage

I finally got around to testing my piano overload song on my other Mac, a dual 1GHz G4 tower with 768MB of RAM, booted off of a 4200 RPM external FireWire drive. The second CPU more than made up for the slower hard drive and lower memory, allowing me to add four more software pianos than I could use on the PowerBook.

Final total: nine software pianos, five software percussion instruments, a software acoustic bass, and seven sampled loops. I’ll try again when I finish rebuilding the fast internal hard drive, to see if that will let me squeeze in another piano.

Update: Nope, the faster hard drive didn’t make a difference. It looks like CPU and RAM dominate, and dual CPUs make a big difference (as they should).

Update: Past a certain point, more RAM doesn’t make a big difference, either (says the guy who just bumped his PowerBook to 2GB). It looks like 512MB is a good working minimum, and 768MB or so will handle just about anything a G4 or two can keep up with. Above that, you’re basically adding buffer cache to compensate for the speed of your hard drive.

Thursday, February 12 2004

Minor GarageBand update

It’s not on Software Update yet, and it’s not prominently linked on the support site, but GarageBand 1.0.1 was released today.

It looks like they’re just clearing up the performance warning dialog boxes (many of which were either confusing or just plain wrong).

Update: Some folks are reporting other improvements, such as performance of some keyboards. I noticed that the online Help includes some new FAQs (and a working link to the keyboard shortcuts), but nothing else yet. The error dialogs are definitely clearer, though:

new GB error dialog

Friday, February 13 2004

Apple hardware service

2/3/2004 — well-known “white spots on PowerBook display” issue finally annoying enough that I call AppleCare.

2/4/2004 — box arrives at house, driver waits while I pack it up.

2/5/2004 — AppleCare web site acknowledges receipt of unit.

2/7/2004 — AppleCare confirms problem, orders part.

2/13/2004 — AppleCare web site updated with “Begin testing” and “Ready to ship”.

2/13/2004 (cont.) — box arrives, brand-new screen installed. J verifies absence of white spots, and lack of dead pixels (better than the original).

2/13/2003 (cont.) — Overjoyed, J splurges on additional gigabyte of RAM.

Wednesday, February 18 2004

Even when it’s free, they’ve got to cheat

Some people have figured out how to examine Pepsi bottles to find the ones that contain codes for free songs from the iTunes Music Store. At least one high-profile site has a detailed how-to on the subject, demonstrating their affection for gaming the system.

Should Pepsi have been more clever about securing the codes? Sure. The technique has probably been used against them for years, but it didn’t get publicity until it combined two of the Internet’s favorite obsessions: downloading music and outsmarting a large corporation. Fucking over your neighbors is just a bonus; after all, if they were plugged in, they’d be able to do it, too. Feh.

[Oh, and the site I found the link on is the same one that once posted a link to a site in France that contained a large archive of Playboy centerfolds; they thought it was just so cool that someone had made it possible to compare twenty years of Playmates online. They were so thrilled by this service that I almost didn’t have the heart to point out that the people who actually owned the pictures did it first. And better. And legally. Made me want to ask them if that EFF group they’re so fond of was really called Easy Freebies Forever.]

Sunday, February 22 2004

Moving songs from GarageBand to Logic

Another potentially useful hack for GB: BandToLogic.

Monday, February 23 2004

iPod mini

I found myself near an Apple Store on Friday afternoon, and saw the line forming for the new iPod mini. I’d been thinking of buying one, using the failure of the wired remote on my existing iPod (poor strain relief) as an excuse. “Hey, it’s like a $40 discount.”

Sadly, the mini doesn’t come with a wired remote, so I had to invent a new excuse. “Now I can leave the 30GB model in the car all the time, and not have to fiddle with cables when I want to go for a walk or get on the cross-trainer.”

Not as compelling a reason, but it does at least include the practical advantages of the mini. Smaller, lighter, much better controls, full compatibility with my existing iTunes library (including playlists and iTMS purchases), and compatibility with most 3G iPod accessories.

Sadly, the accessory I’d most like to use it with, the Belkin Voice Recorder, is not currently supported by the mini’s firmware. Hopefully Apple will fix that soon, since I’d love to take notes while I’m out walking. Dodging traffic seems to stimulate my creativity. :-)

New accessory I’d most like to see: a horizontal version of the clip-on holster it comes with. I’ve got one of these for my cellphone (which is about the same size…), and it’s very nice.

Oh, and by my rough count, there were 150 people waiting in line at the Valley Fair Apple Store at 6pm to buy a mini. There were eight people in line at 4:30pm, which I know because I was number nine. Fortunately I had my other iPod and a large stack of magazines to read.

Tuesday, March 2 2004

GarageBand Jam Pack update

A pleasant surprise in Software Update today, a small patch to the GarageBand Jam Pack that adds additional effect presets. It’ll be interesting to see exactly what they’ve done.

There’s also a reliability patch for iDVD, a product I haven’t had a chance to really use yet. Maybe if I get some decent footage of the TI Sirens show on my next trip to Vegas…

Tuesday, March 9 2004

iPod programming?

I’ve seen multiple claims that iPods have a built-in JavaScript interpreter that is user-accessible. Unfortunately, I’ve found zero supporting evidence for this claim. No documentation, no sample code, no SDK, not even a dead link.

I’m left with two possibilities: either it doesn’t exist, or they’ll only tell you about it if your last name is “Belkin”.

Tuesday, March 16 2004

GarageBand Is (Not Is)

David Was takes GB out for a spin. Being NPR, the commentary also comes with a different sort of spin, but what can you do?

Thursday, March 25 2004

iPod mini a victim of its own success

Apparently the worldwide rollout of the iPod mini has been delayed, basically because Hitachi can’t make 4GB MicroDrives fast enough to keep up with demand.

As the pleased owner of one (silver, by the way, and I’d have gone for a nice dark gray if they’d made one), I’m not surprised. People who viewed it as a barely-cheaper iPod with much lower capacity were missing the point; it’s not cannibalizing sales of full-sized iPods, it’s capturing the demographic that wasn’t willing to buy an iPod at all, for various reasons.

And gadget freaks like me, of course. The mini is my third iPod, and I still have the second one, which now lives full-time in the car and makes long drives more pleasant. And I spend a lot of time driving, mostly by choice. When the next round of full-sized iPods comes out, there’s a good chance I’ll buy one of those, too, mostly because Apple supposedly has adopted the mini’s excellent controls to replace the unreliable non-buttons on the 3G iPods.

Note that the success of the mini also means that as soon as the demand is met, Hitachi will be able to flood the market with 4GB MicroDrives, and that’s pretty cool, too.

Wednesday, April 7 2004

iTunes Music Recommendation service

This is a new “if you like X, try Y” service set up as a student project at University of Illinois (Champaign-Urbana). Does it work better than Goombah? Dunno yet; so far I haven’t been able to get it to work. I can upload my iTunes database, but it fails trying to download recommendations (probably due to being Farked, Slashdotted, BoingBoinged, Lileksed, Instapunted, or some other combination of high-profile links).

I can think of two reasons why it’s a better bet, though: first, it looks like they’re doing the work on the server side, rather than chewing up hours of CPU time on your computer, and second, Goombah hasn’t updated their client or database in months.

Ah, just got through, and discovered one disadvantage to server-side processing:

Your music database is being processed. This window will show your recommendations once they’ve been computed.
Notice: The server is a little backed up, hence the long wait. Once the server gets caught up the wait will be ALOT shorter, until then I would recommend that you don’t hit the resend button.
Your estimated wait for results is 8 hours, 44 minutes, 40 seconds. You may quit and log back in at anytime to check on the status of your recommendations.
(Continued on Page 1874)

Thursday, April 8 2004

Return of the Keyboard

A company in Canada has decided that the time is right to bring back the tank-like keyboard that old Mac users loved and hated, in an up-to-date USB version.

It’s already sold out through the end of April.

Trojan horse or false advertising?

This claim from Intego doesn’t pass the sniff test. If it actually worked the way they claim, the correct response would be a trivial security patch from Apple, not the mass purchase of a third-party “protection” package. I smell marketing, not security.

Update: the story finally hit Slashdot, and, sure enough, their explanation of the “security hole” was nonsense. The proof-of-concept “trojan” has to be distributed in a StuffIt archive, because the actual problem is the presence of code in the resource fork, which will not survive standard Internet distribution methods. It has nothing to do with embedding executable content into an MP3 file; it’s just an old-style Mac application with a funny name.

Update: here’s a free tool to check downloads for any attempt to make use of Intego’s mob-marketing gimmick. Much better than paying $60 for a week’s worth of “insurance”.

Update: here’s a free folder action you can attach to your download folder to automatically catch any attempts to exploit this vendor publicity scheme. See, aren’t you glad you didn’t send Intego any money? :-)

Monday, April 12 2004

And the winners are…

4 days, 19 hours, and 45 minutes after submitting my music database to the in-development iTunes Music Recommendation service, here’s what it came back with:

(Continued on Page 1887)

Tuesday, April 20 2004

Gaming the system

Finally downloaded a new set of results from the beta iTunes Music Recommendation system. My previous run was more amusing than useful, but it had potential.

This time? Utter nonsense. Some clowns decided to corrupt the database by uploading garbage. There’s no other reasonable explanation for the results I got, in which the first 32 of 50 tracks recommended all come from albums named “Unreleased” by such famous bands as Syph Clap and the Orgasmic Meatrats, Marc Coulter, z..Marco, and Vital Cry.

If they allow this to continue, in a few months their data might be as unreliable as CDDB.

Update: things have improved, either through database maintenance or, as the creator would have it, the natural consequences of increasing the size of the database. I’m betting on the former, myself. Suddenly all the garbage went away, restoring the results to the quality of my initial run. Much faster now, too, enough to justify spending a little time tinkering with the data to see what happens.

Safari: righting wrongs

For some time now, I’ve been mildly annoyed by Safari’s “Open in tabs” option at the bottom of every menu entry in the Bookmarks Bar; it’s too easy to select by accident with certain pointing devices. This is second only to my annoyance that the Bookmarks Bar doesn’t obey the same UI rules as standard Mac pulldown menus.

Well, I’m still stuck with the second one, but I just discovered that someone on the development team recognized that it was a little too easy to wipe out all of your open tabs and replace them with thirty new ones. It’s not obvious, but immediately after selecting “Open in tabs”, the back button acts as an undo.

Tuesday, May 18 2004

GarageBand 1.1

Mostly bugfixes and minor tweaks. Still need third-party freeware for many import/export tasks.

Update: It’s being reported that 1.1 silently fixed a bug that prevented use of free third-party instruments.

Wednesday, May 19 2004

“Hey, I’ve got a great idea! Let’s make it scriptable!”

This Mac security hole has been all over the web recently. The thing that makes it dangerous is that it’s ridiculously easy to exploit. The thing that makes it annoying is that anyone on the development team should have seen it coming a mile away, especially given the many well-publicized scripting exploits in Windows software.

How did it happen? WebCore. In an effort to produce a common HTML/HTTP library for all applications, functionality that used to be restricted to the Help tool was suddenly embedded in everything that retrieved or displayed web pages. Apple’s pervasive AppleScript support completes the circle.

Ask not what you can do with scriptable applications; ask rather what scriptable applications can do to you…

Update: The official fix is available via Software Update.

Update: You still need to turn off the Open “safe” files after downloading option in Safari, because disk: URLs still work, and mounted disk images can include auto-execute programs. Yes, there are two stupid features in the previous sentence.

Saturday, July 3 2004

KonfabuDashboard

After hearing all the whining about another example of how Apple is killing off third-party developers by “shamelessly copying Konfabulator” (which can fairly be described as Super Desk Accessory Toolkit, an update of the classic Mac OS utilities), I decided to take a look at this amazing product that I’d somehow overlooked.

Um, where’s the fire? I just went through the gallery of Konfabulator widgets, and far too many of them are like these two:

ugly clipboard manageryour IP address as a bar code

A small handful of them were useful, but while some of Apple’s sample gadgets from the Tiger beta are badly designed, at least they’re good for something. In fifteen minutes of browsing, I couldn’t find a single Konfabulator widget that was interesting enough to encourage me to buy and install their application. Indeed, the trite “get the original Dashboard now” page at their site showcases a bunch of gaudy widgets that I simply don’t want on my computer.

There’s a fugly clock that slavishly emulates a low-resolution, low-legibility digital clock; another one that slavishly emulates the limitations of an old analog wristwatch; a color-coded pseudo-3D to-do list that’s covered with redundant buttons; a Google searchbar that looks like it’s supposed to be inserted somewhere; and a user-hostile iTunes controller (okay, Apple screwed that one up, too). And how do you gain access to these screen toys? Through a pull-down menu, just like the old Apple desk accessories.

Designing your own means learning to use their XML layout schema. Designing a Dashboard gadget, on the other hand, is as easy as laying out a web page, because it is a web page, rendered with the same engine as Safari. In fact, you can create it with your favorite text editor and graphics program, leveraging your knowledge of HTML and CSS.

Thursday, July 8 2004

Apple’s Dashboard: sample gadget

I’m not really a programmer; I’ve been a Perl hacker since ’88, though, after discovering v1.010 and asking Larry Wall where the rest of the patches were (his reply: “wait a week for 2.0”). If I’m anything, I’m a toolsmith; I mostly write small programs to solve specific problems, and usually avoid touching large projects unless they’re horribly broken in a way that affects me, and no one else can be persuaded to fix them on my schedule.

So what does this have to do with learning Japanese? Everything. I’m in the early stages of a self-study course (the well-regarded Rosetta Stone software; “ask me how to defeat their must-insert-CD-to-run copy-protection”), and authorities agree that you must learn to read using the two phonetic alphabets, Hiragana (ひらがな, used for native Japanese words) and Katakana (カタカナ, used for foreign words). A course that’s taught using Rōmaji (phonetic transcriptions using roman characters) gives you habits that will have no value in real life; Rōmaji is not used for much in Japan.

So how do you learn two complete sets of 46 symbols plus their variations and combinations, as well as their correct pronunciations? Flashcards!

The best software I’ve found for this is a Classic-only Mac application called Kana Lab (link goes direct to download), which has a lot of options for introducing the character sets, and includes recordings of a native speaker pronouncing each one. I’ve also stumbled across a number of Java and JavaScript kana flashcards, but the only one that stood out was LanguageBug, which works on Java cellphones (including my new Motorola v600).

When the misconceptions about Apple’s upcoming Dashboard feature in OS X 10.4 were cleared up (sorry, Konfabulator, it will kill your product not by being a clone, but simply by being better), I acquired a copy of the beta (why, yes, I am a paid-up member of the Apple Developer Connection) and took a look, with the goal of building a functional, flexible flashcard gadget.

Unfortunately, I’ve spent the past few years stubbornly refusing to learn JavaScript and how it’s used to manipulate HTML using the DOM, so I had to go through a little remedial course. I stopped at a Barnes & Noble on Sunday afternoon and picked up the O’Reilly JavaScript Pocket Reference and started hacking out a DHTML flashcard set, using Safari 1.2 under Panther as the platform.

Note: TextEdit and Safari do not a great DHTML IDE make. It worked, but it wasn’t fast or pretty, especially for someone who was new to JavaScript and still making stupid coding errors.

I got it working Tuesday morning, finished off the configuration form Wednesday afternoon, and squashed a few annoying bugs Wednesday night. Somewhere in there I went to work. If you’re running Safari, you can try it out here; I’ve made no attempt to cater to non-W3C DOM models, so it won’t work in Explorer or Mozilla.

There’s a lot more it could do, but right now you can select which character sets to compare, which subsets of them to include in the quiz, and you can make your guesses either by clicking with the mouse or pressing the 1-4 keys on the keyboard. I’ve deliberately kept the visual design simple, not just because I’m not a graphic designer, but also to show how Apple’s use of DHTML as the basis for gadgets makes it possible for any experienced web designer to come in and supply the chrome.

So what does it take to turn my little DHTML web page into a Dashboard gadget?

(Continued on Page 2024)

Monday, July 12 2004

Why I just deleted Konfabulator

It lasted about fifteen minutes on my laptop. Why? First, because the supplied widgets were primarily designed to be pretty. The weather and calendar widgets are translucent; you can’t make them not be translucent, even if you have wallpaper on your screen that makes them unreadable. The (thankfully not translucent) to-do list doesn’t allow you to edit in-place; anything you want to do with a to-do item involves popping up a bog-standard Mac dialog box and clicking “Okay”, which pretty much renders it useless as a “quick! write that down!” tool or organizing tool. Most of the other standard widgets are similarly long on chrome and short on function, to the point that I have trouble remembering them mere minutes after trying them out.

I was already underwhelmed by the contents of their user-submitted widget gallery, so I’m left with no possible reason to purchase this product, nor can I imagine it ever becoming a significant commercial success. This renders the whole “Apple stole our idea” and “Dashboard was designed to be a Konfabulator killer” claims completely moot. Konfabulator in its current form could never have made its way onto the desktops of a significant percentage of Mac users; it’s just not that interesting.

Will there be a lot of high-chrome, low-content Dashboard gadgets? Sure; as the man said, 90% of everything is crap. The difference is that you don’t need to learn a proprietary development environment to create gadgets for Dashboard. Hell, you don’t even need to learn JavaScript; Dashboard will cheerfully run Flash applications with a trivial DHTML wrapper. You can also embed Java applications, QuickTime videos, etc.

Konfabulator can’t do any of that.

If, for instance, I wanted to build a nice kana/kanji chart around this remarkable collection of QuickTime videos that demonstrate the correct stroke order for the entire hiragana and katakana syllabaries as well as all 1,945 Jōyō kanji, I could (and likely will, if only for my personal use), because a Dashboard gadget is just a web page, and web pages can have embedded QuickTime videos.

The closest thing they’ve got over in Konfab-land is the new Kanji-A-Day widget, which uses /usr/bin/curl to scrape a Japanese web site and import its content into a (cough) pretty window. Maybe that’s the one that will justify the $25 they want for the product…

Tuesday, August 3 2004

Got sleeping pills? Need some?

The iTunes Music Store has put up free audiobooks of the DNC speeches. Knock yourself out.

No, really.

Tuesday, August 24 2004

Airport Express: call me when it’s ready

I wasn’t surprised to find that my receiver takes a second or so to sync up to a new digital audio stream; this is not an unusual flaw. I was surprised that Airport Express isn’t sending a continuous audio signal to the receiver when it’s active, and that iTunes sends each song in a playlist as a separate digital stream.

Net result? My Kenwood VR-407 loses the first second or so of every song unless I set iTunes’ crossfade option to at least four seconds. With that, the first song is still chopped, but as long as I don’t change tracks manually very often, the majority are ok.

This would be acceptable as a short-term workaround, even though I despise crossfade, except that the device isn’t terribly stable. Several times in the first hour, the audio stream simply locked up and had to be restarted.

Bottom line, until there are updates for both iTunes and Airport Express, it won’t get much use at my house. I could switch the connection to analog to avoid the crossfade, but that won’t do anything about the unstable connection.

Sunday, September 19 2004

Thanks for noticing…

So, I just received email from Apple, thanking me for registering iLife ’04 and GarageBand Jam Pack. Which I registered in January.

Friday, September 24 2004

.Mac foolishness

So I decided to increase the iDisk storage on my .Mac account, mostly because I’m using the password-protected Public folder to share a largish database with some friends, and mounting DAV volumes is easy, convenient, and doesn’t involve bandwidth that I pay for. The fact that it autosyncs to every Mac I use is just a bonus, of course.

The problem? The confirmation screen for buying upgrades to your .Mac account includes your plaintext password. Sure, it’s a secure web form, but this is a receipt, and I print out receipts for online purchases. I suspect other people do as well.

This transaction did not involve changing a password, adding a sub-account with a new password, or anything similar, so why is my password being printed out? More significantly, why is .Mac storing plaintext passwords in the first place? This is an old security mistake, and anyone designing a service on top of Unix should know better.

Update: a few days later, they decided to bump disk storage for everyone and cut the price of bumping it further. Unfortunately, they also bounced a lot of email for a day with bogus “over quota” errors.

Update: well, that’s at least useful. The standard .Mac account now has a total of 250MB of storage, which can be divided up between email and iDisk however you like. My upgrade to 200MB of iDisk storage is now to a total of 1GB, divided evenly by default. I quickly cranked the email storage down to 50MB and put the rest into the iDisk. You still can’t safely sync it when you’re on a wireless network (your .Mac password is sent in the clear for non-SSL WebDAV), but it’s still a handy tool.

Sunday, October 10 2004

Zen koan nowhere

Creative Labs has announced their new iPod Mini killerclone, the Zen Micro. It comes in ten different colors (face-plate only, and they all have a blue border), is slightly shorter and thicker, adds an extra gigabyte of storage, and includes FM radio, voice recording, and a removable rechargeable battery, all for the same price as the Mini.

Oh, yeah, and it’s hideous:

(Continued on Page 2148)

Wednesday, October 27 2004

More iPod Roadkill

Pretty much every new portable music device that comes out is evaluated for its potential as an “iPod-killer”. I’m sorry, but as long as they keep building things that look like this, they’re not the killers, they’re just a flat patch of fur on the side of the road.

Saturday, January 15 2005

Dear Apple,

Please take the iPod Shuffle design, and replace the headphone jack and shuffle button with a small microphone and speaker. Record in a standard audio format, save in a standard FAT32 file system, and please don’t make it a multi-function device. Just record voice memos really really well, for playback on any computer.

And make it a different color, so people don’t confuse it with the Shuffle.

Thursday, March 10 2005

iPod Shuffle to the rescue!

So, yesterday afternoon I went in for some quick outpatient surgery. Nothing major (or ahem life-altering), just some quick drainage work, and then I’d be able to drive myself home. I figured I’d stop at Costco on the way back and pick up some steaks to grill.

That was 1:30PM. At 2PM, the surgeon finished looking at my “right axillary abscess” and said he wanted to take me across the street to the O.R. and do the (still simple, still minor) procedure under general anaesthesia. Not having spent much time under the knife, I didn’t immediately translate this to “you ain’t driving home, son”.

After getting me into one of those silly gowns and inserting an IV, the nurse asked who was going to pick me up. I explained that everyone on my list of possibles was at least 70 miles away and stuck at work for several hours, and found myself being admitted for the night.

Then they told me it’d be at least 5:30PM before they started. Then 6:30PM. At 8:15PM, I was finally knocked out with a clever assortment of chemicals, and woke up at 8:45PM with a well-packed bandage under my right arm. I got about an hour’s sleep last night, and finally got out of there around 10:30AM this morning.

The point of this story? When I left the house to start this little adventure, I stuffed my iPod Shuffle into a jacket pocket, figuring I might need some entertainment for half an hour or so while I waited for the surgeon. It saved my sanity. Except for the relatively short time that I was otherwise occupied, I was able to stay entertained with an assortment of music and Japanese talk radio.

Being partially color-blind, I couldn’t decipher the red/orange/green LED that signals remaining battery life, but it never ran dry. It warded me from the chatter in the hospital hallways, the burbling of my roommate’s oxygen supply, the dreadful basic-cable offerings on TV, and the small stack of relentlessly defeatist newsweeklies that passed for reading material.

And since the Shuffle correctly syncs play count with iTunes, I knew which talk-radio shows to delete when I got home this morning, making room for more.

Oh, and everyone I ran into wanted one. Most of them found the price as attractive as the product.

Friday, April 8 2005

GarageBand is officially a success

M-Audio has announced this custom controller for it, with matching faux-wood paneling.

iControl

I’d love to see the market numbers that drove this decision. Macs have always been big in the creative market, but making custom hardware for an application that comes free with the OS? Hmm…

Update: I’m not exactly a fan of Nine Inch Nails, but any band that releases a track from their upcoming album in GarageBand format for their fans to play with is officially cool.

Monday, April 18 2005

Safari 1.3, two steps forward…

…half-step back. I’m a big fan of the increase-text-size button in Safari, so while I appreciate the definite improvements in the version included with the 10.3.9 update, I have some…issues:

Safari 1.3 Error

This anime review site displays just fine at the normal text-size setting, but Safari 1.3 persistently hoses the images if you’ve hit the increase-text-size button. Sometimes a forced redraw fixes it, sometimes I have to decrease text size and then increase it again.

Saturday, May 7 2005

Best Tiger feature so far…

Open the Keyboard Viewer. Click the Zoom/Maximize button. Compare to its “zoomed” size under Panther. Thank the person responsible.

Mac OS X Keyboard Viewer, Tiger vs. Panther

(of course, to reach this point you must first open System Preferences and select the International preferences, switch to the Input Menu tab, and check the Keyboard Viewer palette and “show input menu in menu bar” boxes; only then will you actually be able to use the Keyboard Viewer. I think this is one of the most convoluted methods of enabling an essential utility yet devised, and I can only hope that Apple moves the damn thing into Dashboard real soon now.)

Wednesday, May 11 2005

Macophile?!? Them’s fighting words!

Okay, technically it’s one word, but an amusing one nonetheless, coming from an unexpected source. I haven’t mentioned it here before, but when I interviewed at Apple last year, the off-the-record explanation for why I wasn’t hired was that I just didn’t seem to be enthusiastic about the company. That, and I kicked off my sandals during the interview, which really freaked somebody out.

Never mind that I walked in with a PowerBook, an iPod Mini, two decades of Mac experience, an ADC membership, a NeXT connection going all the way back to the original beta hardware, a thorough understanding of the job, a friend in the developer group that made the product, plenty of experience doing what they needed done, and a willingness to at least discuss the likely $25,000 paycut compared to what I get at “that other company”. I wasn’t enthusiastic enough.

What he meant was that I wasn’t a starry-eyed zealot who would give his left nut for the chance to be on the inside, where the magic happens. You know, a “macophile”…

[What am I, then, if not one of those? A Unixphile, BSD flavor, with a side order of Photoshop. It was the combination of these two features that made it possible for me to once again become a Mac user, after I abandoned the platform way back in the Eighties. I still supported it at work, I just had no use for it personally.]

Wednesday, May 18 2005

4 - 1 + 1 - 1 = 5 (“3, sire”)

I have three Macs. One is the G3 iBook that I bought back when Apple finally delivered the first practical desktop Unix. It was very nice, but these days it mostly just runs my Rosetta Stone language software. Current OS: 10.4.1. Hostname: Cyberdoll.

The second is a dual 1GHz G4 tower attached to a 20” Cinema Display. It’s still quite nice, and does a decent job with Photoshop and other applications (most recently World of Warcraft). Current OS: 10.4.1 and 10.4 Server. Hostnames: Arrin-Ken and Tai-Tastigon (Server).

The third is a 15” 1.25GHz G4 PowerBook. It is the center of my existence, holding all my email, projects, ripped CDs, games, toys, downloads, etc. Current OS: 10.3.9 (mama didn’t raise no fools). Hostname: Slots.

At work, there’s a Windows machine that I use for scheduling meetings and filing expense reports. Nice hardware, pity about the OS.

I have purchased quite a few songs from the iTunes Music Store, and all four of these machines were authorized to play them. When I was rebuilding Arrin-Ken last week, I deauthorized it, wiped the disk, installed a fresh OS, and then reauthorized. iTMS says: 4 machines authorized.

Today, I decided to deauthorize the Windows box at work. I just wasn’t using it for music much. When I was done, I logged into the store from my PowerBook and checked the authorization count: 5. Not good, so I checked it from the Windows machine: 3.

Belatedly, I realized that I might have actually done things in a slightly different order when creating Arrin-Ken, namely wiped the disk and then deauthorized it (it had multiple partitions, and only one had ever run iTunes). The authorization count was correct afterwards, so I didn’t worry about it. But I checked it on the machine that had just been reauthorized, and now it seems that the answer you get depends on where you’re standing when you ask.

Officially, doing things in the wrong order uses up an extra authentication slot:

Make sure you deauthorize your computer before you upgrade your RAM, hard disk or other system components. If you do not deauthorize your computer before you upgrade these components, one computer may use multiple authorizations.

But the count was correctly four when I checked it from that machine after the upgrade, and is now correctly three when I check from the Windows box. The obvious thing to do is to attempt to authenticate a completely different machine (say, the Windows laptop at home that only exists to make VPN connections to work), and then see how many authorizations they all think exist.

Worst case, I can exercise the once-a-year wipe option and remove all of my current authorizations, real and imagined. But that’s overkill if it’s just a glitch.

Update: glitch. All of my machines now report the correct authorization count.

Monday, June 6 2005

WWDC Keynote Review, Bad Haiku Edition

Rumor mill gone wild.
Mac news sites getting pounded.
Girl-watching instead.

Intel rumor true?
Blech, what a bad idea.
Third-parties wave bye.

Can’t test without one!
Buy Rent Intel Mac bundle now!
Dev costs just doubled.

Dev site: “The reque-
sted application was not
found on this server”

Was planning to buy
dual G5 tower real soon.
Bit less likely now.

Adobe upgrade.
Should I buy CS2 now?
xMac next summer…

Thursday, June 9 2005

And this Kills Shuffles how, exactly?

Gizmodo links to a review of the new Sony NW-E507 that they think is an honest-to-gosh iPod Shuffle killer. Features: “easy, one-handed controls”, “estimated 50 hour battery life”, and “integrated FM tuner” (still waiting for an explanation of why you want radio on a device that can hold anything you ever want to listen to). For only $50 more than a Shuffle, what a deal!

Choice quotes from the actual review:

The mirror-like Champaign gold fascia looks plain, but there is an OLED display hiding behind it.

The bundled ear buds that come in the box sound muted and muffled, while the cable is also a bit too short.

Sony claims 50 hours continuous playback, although that’s when playing ATRAC3 at 105kbps.

At the base of the NW-E507 is a plastic cover that hides the mini-USB port.

I found the clip to be less than confidence inspiring – twice I tried to attach it to my belt, and twice the player fell off while I was walking.

Software wise, you get SonicStage version 3.0, which is a definite improvement over previous versions, but still nowhere near as good as MusicMatch or iTunes.

So, it might have significantly better battery life, although the difference between 12 hours and 50 hours doesn’t impress me, since both units have to be plugged into a computer to charge or update, and the difference between charging it overnight and charging it every few days isn’t that significant in ordinary use. With the Sony, though, you have to carry around a mini-USB to USB cable; the Shuffle just plugs into any standard USB port.

The bundled accessories sound pretty weak, too; bad earbuds, bad belt clip, lame software. Sure, the Shuffle’s quick-detach neck strap screams “snatch-and-grab”, but at least it never just falls off. And I defy anyone to read the detailed description of the “easy, one-handed controls” without giggling. Press, press and hold, twist back and forth, and pull out one click or two, with buttons on front, back, top, and sides.

Conspicuously missing from the review is any mention of using it as a standard USB flash drive. The Sony site hints that you can store data on it, but doesn’t say how.

And, of course, the software is Windows-only.

Sunday, July 17 2005

Subtle changes in Tiger

I finally upgraded my primary Mac to Tiger, because the 10.4.2 release seems to have stomped most of the bugs I cared about (or the bugs I cared most about; works either way). There are some things that I don’t consider improvements, like the Mail.app UI, but so far only one change has actually annoyed me: emacs broke.

More precisely, the vt102 emulation in Terminal.app changed just a tiny bit, forcing me to remove the stty -tabs line that’s been in my Unix dotfiles for the past 18 years. It’s a pity that I got rid of my honest-to-gosh DEC VT102 about ten years ago, or I could file a truly outraged bug report with Apple.

Admittedly, the fact that this is the first time they’ve done something that broke my dotfiles is actually a pretty good sign.

Monday, July 25 2005

Apple iPod Store

We tried to stop at the Palo Alto Apple Store on Friday, only to find it closed for a brief-but-thorough renovation. It reopened today, and it’s very iPod-centric now. You can buy new Macs there, but if you’re looking for software, books, or other accessories, the shelves are pretty bare.

The optimistic interpretation is that they’re temporarily compensating for sluggish Mac sales caused by the x86 announcements.

Wednesday, August 3 2005

The Best Damn Keyboard You Can Buy

Friend and co-worker Jeff was an unhappy typist, suffering under the tyranny of mushy keyboards. Soon after I started my new job, he complained about the pain (both spiritual and physical) that these devices cause him. He lamented the passing of the Apple Extended Keyboard, code-name Nimitz, which reminded me that I’d blogged about its return more than a year ago. Jeff ordered one five minutes later. Ten minutes after it arrived, I ordered two. There was another suspiciously keyboard-shaped box sitting in his office today…

Pay no attention to the Mac-themed advertising for the Tactile Pro keyboard; it works just fine with “those other operating systems”. Pay close attention to the mechanical keyswitches that make typing a joy, and that fill the air with a reassuring clatter. My PowerBook isn’t bad, especially compared to the dreck Dell ships with their desktop PCs, but I’m seriously considering picking up another one for travel, even if I have to buy a bigger laptop bag to hold it. It’s that good.

We’ve been buying them straight from the manufacturer, but it turns out that SmallDog has them at a better price.

Friday, August 12 2005

6Sense, podcast edition

A Japanese-language online radio show I like, 6Sense, is published in an annoying way. They keep more than a month’s worth of archives online in MP3 format, but each episode is split into 60+ audio files, accessed through a Flash interface.

Examining the Flash app told me very little. Examining my Privoxy logs gave me the regular-but-unpredictable naming convention for the audio files, and a little more digging turned up the URL that the Flash app calls to get the list for a specific day. After that, I simply used wget to download the complete show… as 60+ MP3 files.

Knowing that someone had to have written a Perl script to concatenate MP3 files, I googled and found mp3cat, part of Johan Vroman’s mp3cut package. Making the results into a podcast required the use of another Perl script, podcastamatic, and a web server to host the results. I just turned on web sharing on my Mac, moved the files into ~/Sites, and typed the appropriate URL into iTunes.

With the latest version, iTunes supports podcasts directly, but the integration is kind of peculiar, and carries over to the iPods. Both correctly track what you’ve listened to, and where you left off in the middle of an episode, but otherwise they’re not treated like regular audio tracks.

In iTunes, if you finish listening to one episode of a podcast, instead of moving on to the next episode, it skips to the current episode of the next podcast. On iPods, there’s no concept of “next” at all; when a podcast ends, it just stops playing. If you’ve set it to repeat, it repeats the episode you just heard. Unfortunately, not all podcasts are an hour long; some are quite short, such as ナナライフ, which averages about 90 seconds.

Ironically, the least sophisticated iPod handles podcasts the best right now. The iPod Shuffle just treats them as sound files, and syncs up the play count when you connect it to your computer. When you delete an episode from iTunes, it’s deleted from your Shuffle. Not perfect, but better for long drives (and I’m driving 150 miles a day right now, as I settle in to my new job…).

Thursday, September 1 2005

Tuning in the Red Cross

Apple has chosen an interesting method for supporting the current hurricane relief efforts. They’ve made it possible to donate to the American Red Cross through the iTunes Music Store.

They also used their regular iTMS weekly updates mailing list to announce the link.

Friday, September 16 2005

I was wondering…

…why Apple went from “Dashboard gadgets” during the Tiger beta to “Dashboard widgets” in release. Perhaps this is the answer: Microsoft Gadgets.

Quoting:

To bring the web’s content to users through:
• Rich DHTML components (Gadgets)
• RSS and behaviors associated with RSS
• High customizability and personalization
• To enable developers to extend their start experience by building their own Gadgets

Tuesday, September 27 2005

Ah, AppleScript

Daring Fireball demonstrates at length why it’s a bad idea to pretend that a programming language’s syntax is “English-like”. Personally, I’ve avoided AppleScript due to a bad experience with Apple’s similar HyperTalk language, which scarred my brain the day I tried to do something extremely simple,and found myself typing:

get line one of card field short name of the target

This was the simple, concise way to do it…

Thursday, September 29 2005

The cleansing power of Quartz

So my new Japanese class has started (lousy classroom, good teacher, reasonable textbook, nice group of students, unbelievably gorgeous teacher’s assistant (I will never skip class…)), and, as expected, the teacher is pushing us to master hiragana quickly. I did that quite a while ago, so while everyone else is trying to learn it from scratch, I can focus on improving my handwriting.

One thing she suggested was a set of flash cards. I had mine with me, and mentioned that they were available for a quite reasonable price at Kinokuniya. Her response was along the lines of “yes, I know, but nobody ever buys optional study materials; do you think you could photocopy them so I can make handouts?”

I could, but that wouldn’t be nearly as much fun as making my own set. The first step was finding a decent kana font. Mac OS X ships with several Unicode fonts that include the full Japanese kana and kanji sets, but they didn’t meet my needs: looking good at display sizes, and clearly showing the boundaries between strokes. I found Adobe Ryo Display Standard. TextEdit seems to be a bit confused about its line-height, but I wasn’t planning to create the cards in that app anyway.

How to generate the card images? Perl, of course, with the PDF::API2::Lite module. I could have written a script that calculated the correct size of cards to fill the page, but I was feeling lazy, so I wrote a 12-line script to put one large character in the middle of a page, loaded the results into Preview, set the print format to 16-up with a page border, and printed to a new PDF file. Instant flash cards.

For many people, this would be sufficient, but one of the things sensei liked about the cards I had brought was the numbers and arrows that indicated the correct stroke order. There was no lazy way to do this, so I used Adobe Acrobat’s drawing and stamping tools. The stamping tool lets you quickly decorate a PDF file with images in many formats, so I just modified my previous script to create PDF files containing single numbers, and imported them into the stamp tool. The line-drawing tool let me make arrows, although I couldn’t figure out a simple way to set my own line-width and have it remembered (1pt was too thin after the 16-up, and 2pt had too-big arrowheads).

So why is this post titled “the cleansing power of Quartz”? Because the one-per-page annotated output from Acrobat was more than six times larger than the same file printed 16-up from Preview. Just printing the original file back to PDF shrank it by a factor of four, which, coincidentally, is almost exactly what you get when you run gzip on it…

The final results are here.

Wednesday, October 19 2005

Toy time!

Coming soon to a home office near me: Dual dual-core 2.5GHz G5 PowerMac, with 4GB 533 DDR2 ECC SDRAM, 2x 500GB SATA HDD, NVIDEA GeForce 6600 w/ 256MB RAM. Add a Matias Tactile Pro Keyboard and a Microsoft Wireless Notebook Optical Mouse, and life will be good indeed. I suppose I’ll need a new set of speakers, too…

Coming soon after, a copy of Aperture.

Friday, November 18 2005

Automating

Most of the real bang for the buck with OS X Tiger is under the hood, but as cool as things like Core Image are, Apple found it easier to focus their marketing on three key features: Dashboard, Spotlight, and Automator. The only problem with this is that they’re not done yet.

Spotlight should have been released as an open beta for users to play with and developers to write plug-ins for. Instead, Apple made it pretty much the only way to search in Tiger, and hijacked a very useful keyboard shortcut to activate it. Worse, the indexing process is a major pig, and the default behavior is to index the entire contents of any disk you attach to your computer, as soon as you connect it.

Dashboard is a cool prototype of a number of ideas. If they ever finish the APIs necessary to write full-featured programs in DHTML, a thousand useful special-purpose tools will appear. As it is, all we’ve got are a thousand web-scrapers, search buttons, and picture viewers, and many of them are CPU hogs. To be honest, I’m more excited by the tantalizing glimpse it gives of a future desktop-layering API; the way that the Dock, Exposé, and Dashboard exist outside the desktop while interacting with it has real potential. I think we’re going to see more such layers in future releases; the most obvious candidates are screen savers and the grab-bag of tools with “float above over windows” options, but there are certainly others I haven’t considered. My other hunch is that a mature version of Dashboard would be a perfect match for an Apple PDA; the SDK’s emphasis on small size and distinctive front graphics fits almost too well.

Which brings me to Automator. It’s actually good enough to call a released application; the problem is that it isn’t what Steve told us it would be. In another year, perhaps, third-party developers will have fleshed it out with a wealth of plug-ins that make it possible to really tie your applications together in useful ways without programming, but it’s not there yet.

So. Today’s problem: my manager’s SO has 3,680 audio files that she wants to put on her iPod. Unfortunately, they’re in a format iTunes doesn’t understand. Google turned up a few Windows utilities that claim to grok this format, but the only Mac tool likely to work was a Mac OS 9 app, and I really didn’t want to reinstall Classic just to find out.

To my surprise and delight, however, QuickTime Player reads them just fine, and it has an Export function that will let me write them out in AIFF or WAV format. In theory, this is a perfect task for Automator: “for each file in these directories, open it up and write it back out in WAV format, then send the whole lot to iTunes and have it convert them to MP3/AAC”. In practice, however, the only thing that Automator can do is allow you to select the files and send them to QuickTime Player; converting them requires a bit of AppleScript programming. Automator will run that script once you’ve written it, but unless you get lucky and find something on the web that’s pretty close, it may take longer to automate the solution than to do it by hand.

I got lucky. Even better, I happen to have another 8,400 of these files that I wouldn’t mind having on my iPod…

[update: it turned out to be easier to hack the script to walk the directory tree directly, so I don’t need Automator at all, just AppleScript. The only way to improve the script further would be to write it in Perl and generate the necessary AppleScript; that way I could have a decent string-handling library.]

Thursday, December 1 2005

Four cores, no waiting

My dual-dual-core PowerMac arrived this week. I had to go with the “low-end” graphics card, because there’s a 6-8 week delay on the better one (I simply refused to consider the best one, which would have added $1,650 to the price), but performance is quite spiffy, and the machine is quite quiet in normal operation.

How quiet? I can occasionally hear a bit of drive noise when it’s chugging away, but I’ve yet to be able to pick the fans out from the background noise in my house. I’m sure that will change when I really start pounding on the CPUs, but when it’s idle, I forget that it’s turned on.

Sadly, since I’ve come down with the seasonal muck, it’s all I can do to sit up long enough to play World of Warcraft for a few hours. The good news is that I can crank up all the video options and still get 30 frames/sec on my 20” Cinema Display. Well, except in front of the bank in Ironforge, but that problem’s on the other end.

Configuration details:

  • 2.5GHz Quad-core PowerPC G5
  • 4GB DDR533 Non-ECC 4X1GB
  • 250GB Serial ATA-7200rpm
  • 16x SuperDrive Dual Layer (DVD-R/CD-RW)
  • NVIDIA GeForce 6600 256MB SDRAM
  • AirPort Extreme + Bluetooth

The machine it’s replacing is a dual 1GHz G4 (WindTunnel aka “Dual Mirrored Doors”), so some performance improvement is to be expected. :-)

Tuesday, December 27 2005

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.

Friday, December 30 2005

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

Friday, January 6 2006

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…

Monday, January 9 2006

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.

Thursday, January 12 2006

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.

Wednesday, February 15 2006

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.

Saturday, February 18 2006

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.

Tuesday, February 21 2006

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).

Thursday, March 2 2006

Dear Cisco,

If you’re going to make your VPN Client software completely incompatible with the Mac OS X built-in VPN support, could you at least make it capable of connecting to non-Cisco servers? It’s just not fun to be forced to delete my other VPN config and reboot every time I need to connect to one of your servers. It’s not like this stuff is some kind of standard or something…

Love, J

Saturday, March 4 2006

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.

Tuesday, March 7 2006

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;

Friday, March 17 2006

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.

Tuesday, March 21 2006

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

Thursday, March 23 2006

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.

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

Sunday, March 26 2006

Short Review: Nisus Writer Express

If your (Mac-only) word-processing needs fit within Writer Express’s feature list, the generally sensible UI will make it a superior alternative to Word. Within its limitations, it’s an excellent, useable program.

However, if you need table support that’s better than an ancient version of Netscape, real Word interoperability, or precision layout tools, look elsewhere. For now, at least; they’re working hard to improve the product.

Note to people with fond memories of the Mac OS Classic Nisus Writer: Express implements a subset of the old features, along with a bunch of new ones.

Thursday, April 6 2006

Boot Camp/Parallels

I have (shudder) Microsoft Windows running on my Mac Mini now, both virtualized and dual-boot, thanks to this week’s most interesting betas: Boot Camp and Parallels.

Both have significant potential. I have some Windows-only software that drives useful hardware devices, like my GPS and my camera, and the full dual-boot solution guarantees that they’ll work correctly. Inconvenient, but less so than trying to keep an actual Windows box around.

I also have some old, relatively lightweight Windows software that I’d like to use occasionally, like MasterCook and Streets & Trips. Those are usable on a G4 running Virtual PC, so a real virtualizer is more than sufficient, and preferable for handing off things like printing to the host OS.

The people who think this is “the beginning of the end” for Apple and OS X are smoking their socks (or less savory garments). This is the wafer-thin mint that has the potential to explode the current limits on home and corporate Mac deployment. Hell, just the dynamic partitioning that Apple included in the Boot Camp beta points to a bright future.

Last year I bought my dad a G5 iMac, to try to wean him away from his endless Windows problems. He has just enough third-party crapware that I have to send him a copy of Virtual PC to complete the job. If 10.5 ships with real virtualization, I’ll gleefully swap that iMac out for a new one and call it a bargain. Even the dual-boot may be enough, with its near-certain compatibility with every little USB gadget.

Update: forget “lightweight”; I was using Windows Media Player to watch large movie trailers in my Parallels session last night. The mouse is a bit jumpy, apparently related to propagating cursor changes between the Windows and Mac environments, but that’s the only visible performance issue. Even without taking full advantage of the Intel Core chip’s virtualization (off by default on the Mini, no hints on how to turn it on yet), it’s darn quick for 2D apps.

Thursday, May 18 2006

PDF::API2, Preview.app, kanji fonts, and me

I’d love to know why this PDF file displays its text correctly in Acrobat Reader, but not in Preview.app (compare to this one, which does). Admittedly, the application generating it is including the entire font, not just the subset containing the characters used (which is why it’s so bloody huge), but it’s a perfectly reasonable thing to do in PDF. A bit rude to the bandwidth-impaired, perhaps, but nothing more.

While I’m on the subject of flaws in Preview.app, let me point out two more. One that first shipped with Tiger is the insistence on displaying and printing Aqua data-entry fields in PDF files containing Acrobat forms, even when no data has been entered. Compare and contrast with Acrobat, which only displays the field boundaries while that field has focus. Result? Any page element that overlaps a data-entry field is obscured, making it impossible to view or print the blank form. How bad could it be? This bad (I’ll have to make a screenshot for the non-Preview.app users…).

The other problem is something I didn’t know about until yesterday (warning: long digression ahead). I’ve known for some time that only certain kanji fonts will appear in Preview.app when I generate PDFs with PDF::API2 (specifically, Kozuka Mincho Pro and Ricoh Seikaisho), but for a while I was willing to work with that limitation. Yesterday, however, I broke down and bought a copy of the OpenType version of DynaFont’s Kyokasho, specifically to use it in my kanji writing practice. As I sort-of expected, it didn’t work.

[Why buy this font, which wasn’t cheap? Mincho is a Chinese style used in books, magazines, etc; it doesn’t show strokes the way you’d write them by hand. Kaisho is a woodblock style that shows strokes clearly, but they’re not always the same strokes. Kyoukasho is the official style used to teach kanji writing in primary-school textbooks in Japan. (I’d link to the nice page at sci.lang.japan FAQ that shows all of them at once, but it’s not there any more, and several of the new pages are just editing stubs; I’ll have to make a sample later)]

Anyway, what I discovered was that if you open the un-Preview-able PDF in the full version of Adobe Acrobat, save it as PostScript, and then let Preview.app convert it back to PDF, not only does it work (see?), the file size has gone from 4.2 megabytes to 25 kilobytes. And it only takes a few seconds to perform this pair of conversions.

Wouldn’t it be great to automate this task using something like AppleScript? Yes, it would. Unfortunately, Preview.app is not scriptable. Thanks, guys. Fortunately, Acrobat Distiller is scriptable and just as fast.

On the subject of “why I’m doing this in the first place,” I’ve decided that the only useful order to learn new kanji in is the order they’re used in the textbooks I’m stuck with for the next four quarters. The authors don’t seem to have any sensible reasons for the order they’ve chosen, but they average 37 new kanji per lesson, so at least they’re keeping track. Since no one else uses the same order, and the textbooks provide no support for actually learning kanji, I have to roll my own.

There are three Perl scripts involved, which I’ll clean up and post eventually: the first reads a bunch of vocabulary lists and figures out which kanji are new to each lesson, sorted by stroke count and dictionary order; the second prints out the practice PDF files; the third is for vocabulary flashcards, which I posted a while back. I’ve already gone through the first two lessons with the Kaisho font, but I’m switching to the Kyoukasho now that I’ve got it working.

Putting it all together, my study sessions look like this. For each new kanji, look it up in The Kanji Learner’s Dictionary to get the stroke order, readings, and meaning; trace the Kyoukasho sample several times while mumbling the readings; write it out 15 more times on standard grid paper; write out all the readings on the same grid paper, with on-yomi in katakana and kun-yomi in hiragana, so that I practice both. When I finish all the kanji in a lesson, I write out all of the vocabulary words as well as the lesson’s sample conversation. Lather, rinse, repeat.

My minimum goal is to catch up on everything we used in the previous two quarters (~300 kanji), and then keep up with each lesson as I go through them in class. My stretch goal is to get through all of the kanji in the textbooks by the end of the summer (~1000), giving me an irregular but reasonably large working set, and probably the clearest handwriting I’ve ever had. :-)

The New MacBook: not for me

When I first looked at one, I saw some reflections from the glossy screen, but it wasn’t obnoxious. Also, while I didn’t particularly like the keyboard (anything short of a Matias Tactile Pro simply can’t be good), it wasn’t worse than my current PowerBook, just different.

Today, the local Apple Store had them set out near the windows. Afternoon sun bouncing off of the buildings across the street gave me a more realistic test of the screen’s usability, and it failed. The reflections produced by diffused store lighting were easy to ignore; the image of the street outside was not. I see a big market in add-on glare hoods.

I wouldn’t have been in the market for one for a few more months anyway, but now I’m definitely waiting to see if they deal with the problem. Right now, I’m more likely to buy a Pro in September, just because of the screen. There’s not much size (or weight) difference between the MacBook and the 15-inch MacBook Pro, and the high-glare screen is still an option.

Also, the exterior of the matte black models were all smudged with fingerprints, visible from ten feet away, and they just put them on display…

Friday, May 19 2006

Automating PDF cleanup with Acrobat and AppleScript

As I mentioned earlier, I’m generating lots of PDF files that don’t work in Preview.app, and are also a tad on the large side. Resolving this problem requires the use of Adobe Acrobat and Acrobat Distiller. Automating this solution requires AppleScript. AppleScript is evil.

Just in case anyone else wants to do something like this from the command line, here’s what I ended up with, which is run as “osascript pdfcleaner.scpt myfile.pdf”:

on run argv
	set input to POSIX file ((system attribute "PWD") & "/" & (item 1 of argv))
	set output to replace_chars(input as string, ".pdf", ".ps")
	
	tell application "Adobe Acrobat 7.0 Standard"
		activate
		open alias input
		save the first document to file output using PostScript Conversion
		close all docs saving no
	end tell
	
	tell application "Acrobat Distiller 7.0"
		Distill sourcePath POSIX path of output
	end tell
	
	set nullCh to ASCII character 0
	set nullFourCharCode to nullCh & nullCh & nullCh & nullCh
	tell application "Finder"
		set file type of input to nullFourCharCode
		set creator type of input to nullFourCharCode
	end tell
	
	tell application "Terminal"
		activate
	end tell
end run
	
on replace_chars(this_text, search_string, replacement_string)
	set AppleScript's text item delimiters to the search_string
	set the item_list to every text item of this_text
	set AppleScript's text item delimiters to the replacement_string
	set this_text to the item_list as string
	set AppleScript's text item delimiters to ""
	return this_text
end replace_chars

[I wiped out the file type and creator code to make sure that the resulting PDFs opened by default with Preview.app, not Acrobat; I swiped that code from Daring Fireball. The string-replace function came from Apple’s AppleScript sample site.]

Saturday, June 10 2006

English can be so confusing…

I think boingboing put the adjective in the wrong place. Let me fix it for them…

Tomorrow, seven activists in seven cities across the US will picket Apple Stores, handing out information about the dangers of the DRM hidden in Apple’s iTunes.

I think my version better carries the flavor of this important event.

(Continued on Page 2553)

Wednesday, August 9 2006

The Time Machine paradox

[disclaimer: developers who didn’t attend WWDC don’t have copies of the Leopard beta yet, and when they do send me one, I won’t be able to discuss how things actually work, so this is based solely on what Apple has stated on their web site]

When I heard the initial description of Apple’s upcoming Time Machine feature, it sounded like it was similar to NetApp Filer snapshots, or possibly the Windows volume shadow copy feature that’s been announced for Vista (and is already in use in Server 2003). The answers, respectively, are “not really” and “yes and no”.

Quoting:

The first time you attach an external drive to a Mac running Mac OS X Leopard, Time Machine asks if you’d like to back up to that drive.

Right from the start, Time Machine in Mac OS X Leopard makes a complete backup of all the files on your system.

As you make changes, Time Machine only backs up what changes, all the while maintaining a comprehensive layout of your system. That way, Time Machine minimizes the space required on your backup device.

Time Machine will back up every night at midnight, unless you select a different time from this menu.

With Time Machine, you can restore your whole system from any past backups and peruse the past with ease.

The key thing that they all have in common is the creation of copy-on-write snapshots of the data on a volume, at a set schedule. The key feature of NetApp’s version that isn’t available in the other two is that the backup is transparently stored on the same media as the original data. Volume Shadow Copy and Time Machine both require a separate volume to store the full copy and subsequent snapshots, and it must be at least as large as the original (preferably much larger).

NetApp snapshots and VSC have more versatile scheduling; for instance, NetApps have the concept of hourly, daily, and weekly snapshot pools that are managed separately, and both can create snapshots on demand that are managed manually. TM only supports daily snapshots, and they haven’t shown a management interface (“yet”, of course; this is all early-beta stuff).

VSC in its current incarnation is very enterprise-oriented, and it looks like the UI for gaining access to your backups is “less than user-friendly”. I’ve never seen a GUI method of accessing NetApp snapshots, and the direct method is not something I’d like to explain to a typical Windows or Mac user. TM, by contrast, is all about the UI, and may actually succeed in getting the point across about what it does. At the very least, when the family tech-support person gets a call about restoring a deleted file, there’s a chance that he can explain it over the phone.

One thing VSC is designed to do that TM might also do is allow valid backups of databases that never close their files. Apple is providing a TM API, but that may just be for presenting the data in context, not for directly hooking into the system to ensure correct backups.

What does this mean for Mac users? Buy a backup disk that’s much larger than your boot disk, and either explicitly exclude scratch areas from being backed up, or store them on Yet Another External Drive. What does it mean for laptop users? Dunno; besides the obvious need to plug it into something to make backups, they haven’t mentioned an “on-demand” snapshot mechanism, simply the ability to change the time of day when the backup runs. Will you be able to say “whenever I plug in drive X” or “whenever I connect to the corporate network”? I hope so. What does it mean for people who have more than one volume to back up? Not a clue.

Now for the fun. Brian complained that Time Machine is missing something, namely the ability to go into the future, and retrieve copies of files you haven’t made yet. Well, the UI might not make it explicit, but you will be able to do something just as cool: create alternate timelines.

Let’s say that on day X, I created a file named Grandfather, on X+20 a file named Father, and on X+40 a file named Me. On X+55, I delete Grandfather and Father. On X+65, I find myself missing Grandfather and bring him back. On X+70, I find myself longing for a simpler time before Father, and restore my entire system to the state it was in on X+19. There is no Father, there is no Me, only Grandfather. On X+80, I find myself missing Me, and reach back to X+69 to retrieve it.

We’re now living in Grandfather’s time (X+29, effectively) with no trace of Father anywhere on the system. Just Me.

Now for the terror: what happens if you set your clock back?

Thursday, August 31 2006

Stupid Apple Tricks

YouTube stopped working a while back on my Quad G5. Videos played, but with no sound. All other forms of video worked fine, and the exact same video would work if I downloaded it manually and ran it from a different FLV player.

I reinstalled Flash, I wiped caches to make sure I didn’t have an old version of the YouTube flash player, grabbed the latest version of Firefox and tried it there, etc, etc. No change. It wasn’t a big problem, since I usually don’t surf from that machine, but I finally spent a few minutes chanting Google incantations and found the answer:

Run the Audio MIDI Setup utility and change the Audio Output Format back to 44100 Hz

Saturday, September 23 2006

Did you know?

Why doesn’t anyone ever tell me these things?

First, I learn from Daring Fireball that holding down the Shift key turns your Mac mouse’s vertical scroll-wheel into a horizontal scroll wheel.

Then, just now, I accidentally hit my scroll-wheel while watching a video in QuickTime Player, and it scrubbed through the video. Remarkably useful.

Friday, September 29 2006

Sad, really

A 1.25GHz G4 PowerBook plays World of Warcraft far better than a 2.0GHz Intel Core Duo Macbook, even with 2GB of RAM, even with the video settings set lower on the MacBook. Civ IV, on the other hand, runs fine, something that’s not true on the G4. There’s got to be a bug in the video drivers, because that just doesn’t make sense, even with shared video memory.

[and why did I buy a MacBook instead of a MacBook Pro? Partially because I already have gaming hardware at home (and, at least for now, a work-owned MacBook Pro with 2GB of RAM), partially because I wanted the slightly smaller form factor and increased battery life, partially because Sony launched the α100 with a 135mm f/1.8 Zeiss lens…]

[by the way, I replaced the stock drive with a 160GB Seagate from OWC. I never even booted off of the supplied 60GB drive; I just moved it into an external enclosure and copied everything over with SuperDuper!]

[Update: I expected the problem to be related to the variety of shapes and textures used for player-character armor and weapons, so that having more people around made the performance worse. Nope, it’s geometry. I can run through a crowd in Undercity at 15 f/s, but I can’t stare at a single complex building (such as Light’s Hope Chapel, with no players in sight) without the frame rate dropping to 4-5 f/s. The crowds of people around the bridge in Ironforge aren’t what slows the MacBook down to 2 f/s; it’s the buildings themselves. The game is perfectly playable away from architecture.]

[Update: Damn. I mean, damn. I just finished putting the latest Boot Camp beta on the MacBook, and tested WoW under Windows. The frame rate was 3-5 times higher, across the board. Exact same hardware, exact same game settings, ridiculously fast. So I turned the settings up, restarting every time to see when it would choke, and found myself riding past the bank in Ironforge at 10 f/s with every setting at maximum, on Saturday night at 9pm. I realize that a reliable OS can’t let random drivers get as chummy with the hardware as Windows does, but damn. “Dear Apple. Fix this. Love, J”.]

Tuesday, October 10 2006

Aperture 1.5: fragile

My new MacBook is not the ideal machine for running Apple’s Aperture application, but it’s supported, and with 2GB of RAM, usable. At least, it would be if Aperture didn’t crash every five minutes on a brand new install of version 1.5, while just poking around with the supplied sample project.

I hope it will be more stable on my Quad-core G5, which is the ideal machine for this sort of application…

(or was, before the new Mac Pro came out; still, one can’t whine too much about the power of Last Year’s Computer, especially when it’s quite the screamer)

Tuesday, October 17 2006

ClarisWorks 4 JP to Word

Given an old ClarisWorks 4 Japanese document and a working copy of ClarisWorks 4 Japanese Edition, in theory you can just export it to Word, and the Japanese text will be translated correctly. If you are running on an Intel-based Mac, this won’t work. Actually, unless you can do a clean reinstall of CW4JP under a copy of Classic that has the Japanese language kit installed, it might not work at all.

AppleWorks 6, however, which is still available in stores and runs nicely under Rosetta, will. At least, with a little help.

  1. Open the file myoldstuff in AppleWorks. Don’t worry if the kanji turns to garbage, and even if it looks okay, don’t bother trying to cut-and-paste into other documents. It won’t work. You can view and print, and that’s about it.
  2. Save as RTF in, let’s say, Desktop/myoldstuff.rtf.
  3. Open the Terminal, and run this command:
    textutil -inputencoding x-mac-japanese \
       -encoding UTF-8 -convert rtf Desktop/myoldstuff.rtf
  4. Open the file in Word, and save as a Word Document. Optionally, fix the fonts and margins, which are almost certainly wrong now.

If your AppleWorks install is damaged or incomplete, it won’t be able to open CW4JP docs; you’ll have to reinstall. The English version bundled with PowerPC-based Macs for a long time works just fine, so if you’ve got one, you don’t need to buy the retail package. I use the copy that came with my PowerBook, which was automatically transferred to my new MacBook.

Note that DataViz MacLinkPlus, for all its virtues, hasn’t the slightest idea what to do with Japanese editions of the software formats it supports.

Thursday, October 26 2006

“Buy our software or we beat a dead horse.”

A company called Intego, whose business model is “scare people into buying our products”, announced today that they’ve created a proof-of-concept Bluetooth exploit that can crack your Mac wide open in seconds, without any user interaction. You’re vulnerable if you have Bluetooth turned on.

…and haven’t installed any of the patches Apple has released since May.

Wednesday, November 1 2006

iTunes in Japanese, you say?

But Brian, isn’t it always?

iTunes in Japanese

Oh, you meant the online store. Apparently it’s sending people all over the world today, and not just those who took the 7.0.2 update. I’d guess that their region-guessing heuristic goes by netblocks, and the database got corrupted somehow.

[I was tempted to title this entry 「また会う日まで」, in response to Brian’s Mr. Roboto quote, but it doesn’t really work, even though it’s the refrain in one of the songs pictured]

Friday, November 17 2006

Microsoft Streets & Trips 2007, with GPS

I picked up a copy of this a few days ago at the Microsoft company store ($65 for alumni, $99 at Amazon). I’ve enjoyed hating this software in the past, and I think I’ll enjoy hating this version as well.

The difference is that I’m hating it on my Mac with Parallels, and the USB GPS works fine.

What’s to hate? Pretty much their entire workflow. It’s capable of being used for in-car navigation on a laptop, with a full-screen mode and voice synthesis, but the designers have apparently never seen an in-car navigation system or hand-held GPS unit. I’m all in favor of having people park the car before fiddling with the routing system, but not for ten minutes at a time. I’m sure that eventually you can get good at quickly navigating the search and routing dialogs, but the workflow is built around creating a new document for each trip, and sharing “pushpins” between documents requires constant use of either import/export or “save as…”.

On the bright side, it only took me half an hour of googling to find the universal driver and Info.plist modifications required to get the GPS working as a native Mac serial device.

Monday, December 11 2006

Dea Apple,

I caefully tested out the funky keyboad on the MacBook befoe buying one, but after seveal months, I’m eady to send mine in fo sevice. It seems thee’s a poblem with the ‘’ key not eliably egisteing keypesses. This is not a ecent poblem, but one that’s been botheing me since the day I unpacked it.

At fist, I thought I was just having touble adjusting to the key action, but it’s just the ‘’ key. All of the othes work fine evey time, but the ‘’ only woks about 60% of the time.

Unless I press really had, and then it’s still only about 90%. The annoying thing is that I eplaced the stock AM and had dive with bette stuff, and now I have to swap the oiginals back in, o AppleCae won’t touch it. Fotunately, that’s easy to do.

Wednesday, December 20 2006

Useless UI tricks

This has no value whatsoever, but triple-clicking the title bar of a Finder window minimizes it to the Dock and then immediately boomerangs it back onscreen. The third click is processed after the minimizing animation finishes.

Speaking of useless UI tricks, it was briefly amusing when Apple arranged for the Shift key to toggle animations like this into slow motion, but after a few years it’s just annoying to lose control of an application for five seconds because you had a finger on the keyboard while minimizing a window.

Sunday, December 24 2006

Ah, a bit of sanity…


It should really be called World Domination 050, because it’s providing remedial education that the student should have had before coming to college, but it’s a start:

Linux on the desktop has been a year or two away for over a decade now, and there are reasons it’s not there yet. To attract nontechnical end-users, a Linux desktop must work out of the box, ideally preinstalled by the hardware vendor.



When somebody with a degree in finance or architecture or can grab a Linux laptop and watch episodes of The Daily Show off of Comedy Central’s website without a bearded Linux geek walking them through an elaborate hand-configuration process first, maybe we’ll have a prayer.



You can’t win the desktop if you don’t even try. Right now, few in the Linux world are seriously trying. And time is running out.



Unfortunately “good” isn’t the same as “ready to happen”. The geeks of the world would like a moonbase too, and it’s been 30 years without progress on that front. Inevitability doesn’t guarantee that something will happen within our lifetimes. The 64-bit transition is an opportunity to put Linux on the desktop, but right now it’s still not ready. If the decision happened today, Linux would remain on the sidelines.

[Update: as usual, those wacky kids on Slashdot just don’t get it.]

Tuesday, January 9 2007

iPhone?

Quite some time ago, a friend at Apple had a small object quickly waved in front of him, and was told “this is going to be the coolest thing ever”. I believe the person responsible for this tiny little leak was fired. Later, when the rumors started leaking out about an Apple PDA, I realized why Dashboard had been released unfinished as a major feature in Tiger, with UI guidelines that flew in the face of every aspect of Mac app design: it was really intended for making fullscreen tools for a small-form-factor device, and they wanted people tinkering with it early. What that device would be, I wasn’t sure. Like many, I keep hoping for a new Newton, but that’s just not likely.

Will I buy an iPhone? Definitely not at launch; not only do you run the usual risks of 1.0 hardware from Apple, you also add a bunch of cutting-edge technology that may not survive outside the lab (anyone remember another Jobs favorite, the single-sided optical drive that shipped with the NeXT cube?), and all of the friction and finger-pointing of a partner product.

Doubts? The first thing that jumped out at me watching the mocked-up demo videos is that I’ve never seen a handheld computer with such fluid animation and quick response to user input. Yes, we all know that all of the Internet and carrier stuff will have delays, but I’ll be quite surprised if the photo, music, and video browsers are as quick as shown, or as smooth about transitioning between portrait and landscape modes. It has to be that smooth to work well with no tactile feedback, which means that whatever custom version of OS X it’s running must have real-time features that are missing on Macs.

What was most conspicuously missing? Any mention of .Mac mail, .Mac sync, iDisk sync, etc. Why? Because .Mac is currently a mess, and its sync is unreliable. It’s been that way all through the Tiger release, despite Apple’s push to get developers to add the sync API into their applications. I’ve heard that things are a lot better in Leopard, but who knows what will be in the final release.

Friday, January 12 2007

Okay, it’s memorable, but…

So there’s a new player in the Mac backup business, Decimus. Their product is called Synk Backup.

So when your synk backs up, your office is decimused. No doubt they’ve outsourced their tech support to Plumbr.

Monday, January 15 2007

Dear Apple,

I just burned a DVD from Disk Utility. It was automatically ejected when the burn finished successfully. I wanted to verify it, so I closed the drive and let it start up in DVD Player.

DVD Player launched, but didn’t start the movie. I hit the play button, and it complained about no supported disc being present. Why? Because I’d switched windows during the burn, and hadn’t come back to Disk Utility and clicked “OK” on the little dialog box that said the burn was successful. Adding insult to injury, when I switched back to Disk Utility, the confirmation dialog box was now under the main window, so I initially didn’t realize that it remained unclicked.

Sadly, clicking it afterwards didn’t help. Apparently I have to reboot to unconfuse the driver. I count at least three bugs here.

Thursday, March 1 2007

Aargh! Java fall down, go boom!

I had a downright peculiar problem. Any Java app I ran on my Mac apparently painted the window in the wrong order, so that the content was overwritten by the canvas. In some cases I could drag or tab through and get to see the fields, but not reliably.

I tried logging in as another user, and it worked fine, but deleting every preference and cache file that mentioned “java” in the name didn’t help a bit. And so, the search began.

Binary search, that is, where I started by moving my entire home directory out of the way without rebooting, tested (worked!), and gradually narrowed it down. To make a long story short, it was ~/Library/Preferences/.GlobalPreferences.plist, specifically the AppleDisplayScaleFactor key, which was set to “1”. [note: use plutil to convert plist files back into the old XML format]

Why? Because long ago and far away, I once played with the under-development GUI scaling feature in Tiger. It wasn’t ready then, still isn’t ready now, and setting the value back to “1” is supposed to be the same as never having set it in the first place. One of the recent Java updates disagrees.

Nuke that pref, and instantly every Java app paints correctly.

Wednesday, March 28 2007

Dear Apple,

Why did Spotlight suddenly stop indexing my email, and completely lose track of all previously indexed email?

mdfind, mdutil, …

Ah, I see; it spontaneously disabled indexing on the entire drive, and masked this by continuing to report file-name matches. That’s nice.

Friday, April 6 2007

Quicksilver quicktake

Lots of Mac users seem to like Quicksilver. I figured I’d give it a try.

Okay, that was enough. For application launching, I’m much happier with Overflow, and even after overriding the automatic “you stopped typing for two seconds so I’ll start a new search” behavior, it’s not terribly useful to me, because it bypasses input managers and assumes that all the world’s in ASCII.

This, despite the pretentious preciousness of quoting the Tao Te Ching as their design philosophy.

Thursday, April 12 2007

Does it restart?

I needed to put a Mac Mini in someone’s house.

But it had to run Windows XP.

Headless.

And restart automatically after losing power.

The headless part was handled by our master solderer, following the instructions from the nice folks at Mythic Beasts. They also explain the power-on problem, but don’t provide a direct Windows solution.

To make a long google short, download WPCRS120.EXE from Japan, run it, run the included installer, reboot, run wpcrset.exe, set {Bus 0, Device 31, Function 0, Register A4} to 0, and reboot again.

Before each of the required reboots, you’ll see this:

(Continued on Page 2721)

Friday, April 13 2007

Open-slot surgery

Slot-loading optical drives suck, especially when they refuse to eject a disc that shouldn’t be allowed into the hands of J Random Technician down at the Apple Store (or anywhere else, really).

For future reference, if you really, really need to crack open a MacBook Pro and peel the optical drive open, the nice folks at Other World Computing have you covered.

Be sure to pick up a Torx size 7 and a Philips size 000 before starting, and keep very careful track of which screws came from where. And don’t forget to plug the keyboard back in before you seal it back up.

Wednesday, May 16 2007

Dear Apple,

Thanks for pretending that I eagerly signed up to get email about the iPhone. This is, of course, a lie.

From: News@InsideApple.Apple.com
Subject: Thank you for your interest in iPhone.
Date: May 16, 2007 3:06:48 PM PDT

Talk to you soon.

Thanks for signing up. You’ll be the first to hear the latest about iPhone–coming this June. That gives you just enough time to think of ways to break the news to your current phone.

Wednesday, May 23 2007

Okay, now what?

There’s a set of sample images over on No, Dave, it’s just you that, in theory, will help you determine if your Apple laptop display has 24-bit or 18-bit color. I can detect no banding in the 24-bit image, so I must have one of the (allegedly few) good MacBooks, right?

Wrong. Before trying this test, I used SwitchResX to determine that my MacBook has an AU Optronics B133EW01, which is definitely an 18-bit display.

I suspect that all Apple (and most other) laptops have 18-bit displays, and the real news here is that Apple bought some lemons.

Wednesday, May 30 2007

Technology put to use…

While browsing the newly-updated iTunes store, I stumbled across the following podcast: 女の子の写真スライドショー/Japanese Cute Girl Slide Show. It’s exactly what it sounds like.

Of course, you could download the same photos at higher resolution from someplace like Zorpia, and you wouldn’t be limited to this person’s taste in music and girls. But then it wouldn’t auto-download a new one to your iPod every week, which I guess counts as a feature.

Thursday, May 31 2007

Not a good day to shop at the iTunes store…

Whether I try to upgrade some of my music to the new iTunes Plus format, or buy something new, I just get this:

iTunes Store glitch

It can wait.

[update: I can’t buy anything at all; my account is now thoroughly confused in their database.]

[update: okay, it took a week, but they figured out which Dean Martin album shouldn’t have been trying to upgrade to iTunes Plus, and with that out of the way, I could determine that the season pass for The Dresden Files (not as good as the books, but not bad) was also broken]

Wednesday, July 4 2007

Claws Mail doesn’t appear to suck

My friends keep whining about certain behaviors in Apple’s Mail.app. Specifically, the inept way it wraps URLs in allegedly plaintext email, which simply don’t work in most other mailers. I can’t really defend its behavior, because I think that Mail.app’s concept of “plain text” is pure shit and violently anti-WYSIWYG, obviously only tested against itself. [note: don’t bother complaining to Apple, the bug will be closed with “working as intended”]

Claws Mail seems to be much more sensible, and at this point I’d cheerfully send some cash to support a native port to Mac OS X. The X11 port works, but it’s a bit clumsy to use (especially for Japanese; Apple’s X11 server doesn’t support their own Kotoeri input method, so you have to use an external editor), and like virtually all Open Source applications, it’s in desperate need of user interface design. I need to poke around some more and see how it handles some of the features I rely on in Mail.app (particularly SpamSieve), but the initial experience is pretty good, and it sends honest-to-gosh plain text.

There’s a native Windows port available, but it hasn’t been updated in quite a while (2.4, current is 2.10).

[Update: Tip for the day: don’t open an IMAP folder containing 17,167 messages. Claws locks up until it finishes downloading and processing all of their headers, and then (at least on Mac OS X) the X server locks up for a few minutes when you try to scroll through the massive message list too quickly.

Mind you, until today I didn’t know that I had an IMAP folder with 17,167 messages in it (it was a trash folder full of spam, on a server I’d only been reading via POP), so I really can’t blame Claws Mail for being a bit overwhelmed. And to its credit, it recovered perfectly when the X server came back, and the memory footprint was still nice and lean.

It doesn’t look like the Mac port includes any plugins right now, so I need to keep something else around to handle spam. The account I most want to get mail from is of course the one with the most spam, so I need to continue processing it through SpamSieve for now. Most likely, what I’ll do is leave Mail.app running with SpamSieve on one of my machines, but turn off all of the other filtering rules and port those to Claws.]

Friday, July 13 2007

Making it bigger

The 250GB drive for my MacBook arrived, and with two fresh backups in hand (plus a third on the old drive), I quickly installed it. It was completely painless to migrate my Mac environment over. You can do it half a dozen different way for free; I chose SuperDuper.

But I also have a Vista partition on this machine, and Vista (if you bought the right version) includes a Complete PC Restore tool that’s designed specifically for moving a complete, working installation onto a new disk… as long as you don’t mind the risk of spending half an hour on the phone reading authorization codes to someone in India to reactivate it.

The old disk had 124GB for Mac, 25GB for Vista. The new disk had 185GB for Mac, and 47GB for Vista. After finishing the Vista restore, both partitions booted correctly, so I went ahead and activated. Then I checked the free space, and found that Vista was still only using 25GB.

No problem, thought I. It’s trivial to extend an NTFS partition into the remaining free space, so I opened up the relevant tool, and found the original partition sizes, with an empty 80GB partition at the end of the disk.

fsck and chkdsk both insisted that the volumes were valid from their respective OS’s, but on the Mac side, it thought the Vista partition had a lot less files in it than it should have. Not good. Very, very not good.

Not being an idiot, I started over, rebuilding the disk from scratch again. Since it’s a Mac, I just booted the old drive from an external FireWire enclosure and ran SuperDuper again. This time, though, I didn’t bother using the Vista restore tool; I just dd‘d the old partition over and ran the repair tools from the install CD. I still need to do an upgrade install to clean up the boot files, resize the filesystem to fill the new partition, and then reactivate again, but it should work this time.

There’s actually a checkbox in the Vista Restore process that theoretically allows you to restore onto an existing partition without trashing your new disk, but it was grayed out, and clumsily worded. Net result: one of the features you pay extra for in certain Vista versions is not only useless, but dangerous.

In a rare example of good sense, though, you can get at all of the data in the backup; it’s a disk image in VHD format.

Thursday, August 9 2007

Two packets enter, one packet leaves!

Okay, I’m stumped. We have a ReadyNAS NV+ that holds Important Data, accessed primarily from Windows machines. Generally, it works really well, and we’ve been pretty happy with it for the last few months.

Monday, the Windows application that reads and writes the Important Data locked up on the primary user’s machine. Cryptic error messages that decrypted to “contact service for recovering your corrupted database” were seen.

Nightly backups of the device via the CIFS protocol worked fine. Reading and writing to the NAS from a Mac via CIFS worked fine. A second Windows machine equipped with the application worked fine, without any errors about corrupted data. I left the user working on that machine for the day, and did some after-hours testing that night.

The obvious conclusion was that the crufty old HP on the user’s desk was the problem (it had been moved on Friday), so I yanked it out of the way and temporarily replaced it with the other, working Windows box.

It didn’t work. I checked all the network connections, and everything looked fine. I took the working machine back to its original location, and it didn’t work any more. I took it down to the same switch as the NAS, and it didn’t work. My Mac still worked fine, though, so I used it to copy all of the Important Data from the ReadyNAS to our NetApp.

Mounting the NetApp worked fine on all machines in all locations. I can’t leave the data there long-term (in addition to being Important, it’s also Confidential), but at least we’re back in business.

I’m stumped. Right now, I’ve got a Mac and a Windows machine plugged into the same desktop gigabit switch (gigabit NICs everywhere), and the Mac copies a 50MB folder from the NAS in a few seconds, while the Windows machine gives up after a few minutes with a timeout error. The NAS reports:

smbd.log: write_data: write failure in writing to client 10.66.0.151. Error Connection reset by peer
smbd.log: write_data: write failure in writing to client 10.66.0.151. Error Broken pipe

The only actual hardware problem I ever found was a loose cable in the office where the working Windows box was located.

[Update: It’s being caused by an as-yet-unidentified device on the network. Consider the results of my latest test: if I run XP under Parallels on my Mac in shared (NAT) networking mode, it works fine; in bridged mode, it fails exactly like a real Windows box. Something on the subnet is passing out bad data that Samba clients ignore but real Windows machines obey. The NetApp works because it uses licensed Microsoft networking code instead of Samba.]

[8/23 Update: A number of recommended fixes have failed to either track down the offending machine or resolve the problem. The fact that it comes and goes is more support for the “single bad host” theory, but it’s hard to diagnose when you can’t run your tools directly on the NAS.

So I reached for a bigger hammer: I grabbed one of my old Shuttles that I’ve been testing OpenBSD configurations on, threw in a second NIC, configured it as an ethernet bridge, and stuck it in front of the NAS. That gave me an invisible network tap that could see all of the traffic going to the NAS, and also the ability to filter any traffic I didn’t like.

Just for fun, the first thing I did was turn on the bridge’s “blocknonip” option, to force Windows to use TCP to connect. And the problem went away. I still need to find the naughty host, but now I can do it without angry users breathing down my neck.]

Monday, August 13 2007

VMware Fusion

I like Parallels, even if it can be a real memory hog, but even the latest version doesn’t have very good USB support. Unfortunately, there’s a Windows application I want to use that requires good USB support. Even more unfortunately, it will never, ever run under Vista.

Why not? Because Minolta sold off their entire camera business to Sony, who has no interest in updating the remote-control software for the Dimage A2.

I don’t currently own any computers that run Windows XP, and I don’t particularly want to. But if I ever find the free time to start playing with studio lighting again, I’ll want to remote-control the A2, and with XP gradually disappearing from the market, now’s the time to figure out how.

With the latest Parallels 3.0 build, plugging the camera in while it’s in remote-control mode locks up the virtual machine.VMware Fusion not only handles the camera correctly, it seems to use about half as much memory.

[Note that there is an abandoned open-source project to decipher the Minolta protocol and write a GUI capture tool. I’m not really interested in hacking on it.]

Thursday, August 23 2007

Wrong Widgets

Quite by accident, I just noticed that a number of Apple-supplied Dashboard widgets on my MacBook were running under Rosetta. Specifically, Flight Tracker, People, Phone Book, Translation, and Unit Converter; the others with plugins had universal binaries.

I did use the Migration Assistant to preserve everything from my old PowerBook, but that shouldn’t have overwritten system-supplied widgets that were already present on the target machine. But maybe it did. Or else my MacBook shipped with some PowerPC cruft that hasn’t been caught in the last four OS updates.

An interesting note is that the PowerPC-only version of the Unit Converter widget is only localized for English and Japanese, while the universal version adds about a dozen more, despite the Info.plist file claiming that they’re both version 1.2.1.

Wednesday, September 12 2007

“Hi, Gary”

My opinion of the talent working the Genius Bar at Apple stores has been… less than wholly positive. Tonight an old co-worker from my Synopsys days turned up as the New Genius In Town.

I’ll feel a lot better about taking one of our MacBook Pros down there for service now.

Sunday, October 7 2007

Biased sampling…

Heh.

It’s not fair, of course, but it’s not staged, either.

Saturday, October 27 2007

Bad QA, no donut!

This should never happen on a Mac: “reboot in single user and type several cryptic commands if you can’t log in after upgrading to Leopard”. It will give months of ammunition to the paid Ubuntu shills, and even let some Windows users feel good about themselves (“see! see! I told you the grass wasn’t green over there!”).

Changing how user passwords are stored: good. Forgetting that they used to be stored another way in a previous release: bad.

As usual, when my copy arrives, I’ll install onto a test machine and let it bake for a few weeks. My primary machine won’t get upgraded until we finish moving the company into a new building and I get back from my upcoming vacation in Japan.

Tuesday, October 30 2007

Leopard first thoughts

[update: Blech: Safari now constructs synthetic italics for fonts that not only don’t have them, but shouldn’t, such as kanji. Just like IE! Oooooh, smell the bug-compatibility!]

Blech: The excessive translucency really sucks in the Dock and the menubar. I’ve got application icons that are invisible, and a multi-colored menubar that varies between mostly-functional and useless. UI visibility should not depend on the user’s choice of background screen.

Woo-hoo: The behavior of Software Update is a significant improvement; previously, it was possible to keep working while binaries and libraries were changing on disk, which had some nasty failure modes. Now, if an update is going to do something like that, the machine logs you out before replacing everything.

Blech: existing WPA/802.1X configurations are not preserved correctly, and the new dialogs are goofy and glitchy. I’m still not sure I’ve got it fixed, or that I’ll be able to repeat it on a dozen other machines. The “strongly-recommended” keychain update didn’t help in the slightest.

Partial Woo-hoo: Spaces works. It behaves in odd, unexpected ways, however, and will definitely take some getting used to.

Blech: the Finder is a mess.

Woo-hoo: adjustable desktop icon grid.

Um, okay: the Finder’s built-in smart folders have potential, but why does the “All Images” search sort the porn to the top?

Blech: why is “Bluetooth Sharing” turned on by default?

Blech: why was my previous firewall setting replaced by “Allow all incoming connections”?

Woo-hoo: Japanese and J-E dictionaries integrated; the search capabilities aren’t as comprehensive as JEdict, but it’s not based on the free Edict data. I don’t know how good Shogakukan’s dictionaries are, but just having a second opinion is often useful.

[yes, this is a test machine; nothing I actually rely on will be upgraded for weeks]

PS: It’s probably coincidence that one of the backlights on the LCD panel started to fail after the upgrade…

PPS: why does the wireless fail to authenticate (WPA2, EAP-TTLS) when I log in (showing connected but with a self-assigned IP address), but succeed immediately if I run “sudo ifconfig en1 down” (note: just down; it brings it back up on its own)?

Wednesday, October 31 2007

Lost in Spaces

When you switch between open applications by clicking their icon on the dock or using Command-Tab, Spaces switches you to the space where that application has an open window.

If that application has windows open in more than one space, it alternates between them. So, if spaces 1 and 3 contain open Finder windows, and spaces 2 and 4 contain open Terminal windows, switching back and forth between the two will show you all four spaces in a consistent, predictable order.

Except when it doesn’t. Currently, I’ve got a set of windows Spaced out where repeatedly pressing Command-Tab takes me on a very peculiar tour: 1, 5, 2, 4, 1, 5, 1, 5, 1, 4, 2, 4, 1, 4, 2, 5, 1, 5, 1, 5, 2, 5, 1, 5, 1, 5, 1, 5, 2, 5, 1, 4, …

Wish list for Spaces:

  • visual indication of current space (background color, etc)
  • named spaces (#3 is less useful than “build monkeys”)
  • ability to isolate desktop icons to a single space
  • consistent switching

[Update: I killed it! I added a second Terminal window to one of my spaces and started rapidly hitting Command-Tab to see if it changed the behavior, and after a few cycles, Spaces went kablooie. I lost Spaces, Dashboard, Dock, Exposé, and Command-Tab. Fortunately I landed in a space that had a Terminal window, because “Force Quit” doesn’t include an option to restart the Dock (which is the parent app for all of the above).]

Monday, November 5 2007

Dear Apple,

Uh-huh, yeah, sure:

From: News@InsideApple.Apple.com
Subject: Leopard. Easy to install. Just say go.

So advanced, it practically installs itself.

Tuesday, December 18 2007

Apple Aperture: sluggish but useful

[Update: Grrr. Aperture won’t let you updateor create GPS EXIF tags, and the only tool that currently works around the problem only supports interactively tagging images one at a time in Google Earth. Worse, not only do you have to update the Sqlite database directly, you have to update the XML files that are used if the database ever has to be rebuilt.]

I’ve played with Aperture in the past, but been put off by the terrible performance and frequent crashes. Coming back from Japan, though, I decided to give the latest version a good workout, and loaded it up with more than a thousand image files (which represented about 850 distinct photos, thanks to the RAW+JPEG mode on my DSLR).

On a MacBook with a 2GHz Core Duo and 2GB of RAM, there’s a definite wait-just-a-moment quality to every action I take, but it’s not long enough to be annoying, except when it causes me to overshoot on the straighten command. The fans quickly crank up to full speed as it builds up a backlog of adjustments to finalize, but background tasks don’t have any noticeable impact on the GUI response.

My biggest annoyance is the lack of a proper Curves tool. I’m used to handling exposure adjustments the Photoshop way, and having to split my attention between Levels, Exposure, Brightness, Contrast, and Highlights & Shadows is a learning experience. I think I’ve managed so far, and my Pantone Huey calibrates the screen well enough to make things look good.

I have three significant wishes: finer-grain control over what metadata is included in an export, real boolean searches, and the ability to batch-import metadata from an external source. Specifically, I want to run my geotagger across the original JPEG images, then extract those tags and add them to the managed copies that are already in Aperture’s database. Aperture is scriptable, so I can do it, but I hate writing AppleScripts. I could have geotagged them first, but for some reason MacOS X 10.4.11 lost the ability to mount my Sony GPS-CS1 as a flash drive, and I didn’t have a Windows machine handy to grab the logs. [Sony didn’t quite meet the USB mass-storage spec with this device; when it was released, it wouldn’t work on PowerPC-based Macs at all, and even now it won’t mount on an Asus EEE]

For the simple case of negating a keyword in a search, there’s a technique that mostly works: the IPTC Keywords field is constantly updated to contain a comma-separated list of the keywords you’ve set, and it has a “does not contain” search option. This works as long as none of your keywords is a substring of any other.

I’ll probably just write a metadata-scrubber in Perl. That will let me do things that application support will never do, like optionally fuzz the timestamps and GPS coordinates if I think precise data is too personal. The default will simply be to sanitize the keyword list; I don’t mind revealing that a picture is tagged “Japan, Hakone, Pirate Ship”, but the “hot malaysian babes” tag is personal.

Thursday, January 10 2008

Dear Nolobe,

[Update: just received an apology for the mistake, an updated license key, and a partial refund to bring my price down to the current $39 promotion.]

[Update: I can’t currently recommend this application, for the simple reason that I made the mistake of buying it four days before the release of 9.0, and they charge $29 for the upgrade. Until March, it’s only $39 for a brand-new license, but if I want 9.0, my total cost ends up being $88, which is more than the app is worth. Worse, the updater offered me the new version without mentioning the fact that it would revert to a trial license and require new payment. Fortunately, I was able to revert to 8.5.4.]

Your file-transfer app, Interarchy, is very nice. I particularly appreciate its solid support for Amazon S3. In the latest version, the thing I like most is the fact that permissions settings for uploads are now an honest-to-gosh preference, rather than being buried in some pulldown menu.

I question your decision to make the new version look like the unholy love-child of Finder and Safari, however, especially since your Bookmarks Bar and Side Bar are only cosmetically related to their inspiration, and share none of their GUI behaviors. It looks like a duck, and it sort of quacks like a duck, but it’s really just a cartoon duck, and not worth eating.

And I haven’t the slightest idea why you thought it would be a good idea to have the first item on the Bookmarks Bar be a menu containing every URL in the user’s personal Address Book. Considering that the user can’t rearrange or remove items on the Bookmarks Bar, you’re wasting an awful lot of valuable real estate on a very marginal feature.

Tuesday, January 15 2008

MacBook Air

Pretty much every review I’ve seen by someone who has read all of the specs can be summed up as: “this would be a fantastic machine for someone else”. The deal-breaker for me (and I was already lukewarm on the concept) was the lack of ethernet, which means that the spiffy-keen “use the DVD drive on any networked Mac or PC when you need one” feature is crippled by the performance of your wireless network or Apple’s optional USB 10/100 dongle. Suddenly it doesn’t seem so spiffy. Also, if you spring for the outboard optical drive, it ties up your only USB port, and they don’t mention it including a hub.

I can’t see very many people adopting it as a primary machine, which means syncing configurations and data to another Mac. .Mac sync sucked horribly for the entire lifetime of Tiger, and I still see occasional outages for .Mac mail. They claim to have put a lot of work into it for Leopard, but if the Air is really a secondary machine, then they need to add direct sync between Macs as a solid OS feature.

I think the real accomplishment of the Air will turn out to be improving the quality of lightweight PC laptops and tablets running Windows Vista. I expect to see the first round of them in about three months.

Wednesday, January 16 2008

Coming soon, to an Apple Store near you…

After the MacBook Air, what next?

MacBook Water: splashproof to survive your eXtreme lifestyle, or at least a spilled latté when you show it off at Starbucks.

MacBook Earth: the natural organic sustainable recycled biodegradable cruelty-free dolphin-safe fair-trade computer. 10% of all proceeds are divided equally between Greenpeace, PETA, and BDS.

MacBook Fire: oh, wait, they already make those.

Wednesday, February 13 2008

Leopardized for your protection

So, with 10.5.2 and SuperDuper 2.5 out, I was finally willing to upgrade my primary Mac.

First problem: it merged down an old version of my Safari bookmarks from .Mac, even though I had sync turned off, and the last sync had reset this machine as the master. Fortunately, it was a merge, rather than a replace, so I didn’t lose anything, and only had a small amount of cleanup to do.

Second problem: I can’t turn .Mac sync back on to reset the bookmarks, and it falsely thinks that I’ve got local iDisk sync turned on as well (something I used to use a lot, but shut off a while back due to .Mac flakiness). The whole .Mac connection seems pretty hosed, actually.

Third problem: Mail.app’s IMAP insists on showing my entire home directory on one of my servers, and walking the tree each time to check for “new messages”; this behavior cannot be overridden from the GUI. It also completely lost track of how to connect to my primary SMTP server, but after the third try I was able to get it to send mail again.

[this doesn’t include the many problems I already knew about from upgrading other machines, of course…]

[…and I’m sure I’ll find more…]

Friday, February 22 2008

Dear Apple,

I plugged in a freshly formatted external drive, copied a bunch of files to it, and tried to eject it. I couldn’t, because it was in use. Why? Because Spotlight was indexing the contents (specifically, a pair of “gnutar tf” processes were grovelling over the very large archives I’d just copied).

This is now the second major OS release to embed Spotlight into the OS, and there’s still no way to stop it from the GUI. If I didn’t know about “sudo mdutil -i off /Volumes/foo”, it could be hours before I’d be able to eject that external drive. This is really stupid.

Also, a big “WTF?” to the person who replaced the Berkeley “ps” command with a SysV-style version in Leopard. After twenty years of practice, my fingers don’t type in “compatibility mode”.

Friday, February 29 2008

Dear Apple,

Please fix Safari’s tooltips. You’ve gotten a little better at making them go away eventually, but they still often do stupid things like this:

Safari broken tooltips

The only open tab in my browser is viewing Slashdot, but the tooltip in the tab bar still refers to a site I visited an hour ago. And it wasn’t the most recent site opened in this tab.

Tuesday, March 11 2008

Aperture 2: smells like boosters

Sad, really. Amazon finally delivers my Aperture 2.0 upgrade, and my first thought upon opening the package is, “wow, this manual smells like a freshly-opened Magic: The Gathering booster pack”. Not those cheap, modern, anyone-can-get-some boosters. The good stuff, from the old days, when people would line up around the block to buy a case, then get back in line to buy another one.

Oh, and I didn’t expect it to work, but no, it doesn’t support my old Minolta A2 in its new tethered mode. That was my second thought.

Saturday, April 5 2008

Safari Cookies

Safari now uses a completely different method of storing cookies, which unfortunately means that the only decent management tool I ever found, Cocoa Cookies, doesn’t work any more.

So I rolled my own:

(/usr/libexec/PlistBuddy -c print \
~/Library/Cookies/Cookies.plist |\
awk ‘/Domain = / {x++;print x-1,$0}’ |\
awk ‘!/mee.nu|amazon/{print $1}’ |\
sort -rn | sed -e ‘s/^/delete :/’; \
echo save;echo quit) |\
/usr/libexec/PlistBuddy \
~/Library/Cookies/Cookies.plist

Note that you really don’t want to run this as-is, and probably want something more robust than a shell one-liner anyway. The bits that matter are:

  1. run “/usr/libexec/PlistBuddy -c print” to dump all your cookies in an easily-parsed format.
  2. The array of cookies is zero-based.
  3. The array shrinks as you delete things from it with “delete :N”, so you want to start at the end and work forward.
  4. The original file isn’t altered until you send a “save”.
  5. Safari seems to write this file out whenever you get a cookie, and notices when it’s changed on disk.

Wednesday, April 9 2008

Dear Apple,

Why does plugging in an external drive that’s explicitly marked “do not index” cause the indexing service to take over the CPU for more than a minute?

Sunday, July 13 2008

Dear Apple,

Please make the iPhone screen at least twice as large (4x6 good, 5x7.5 better), add a stylus, and come up with a name that doesn’t piss off Jobs by sounding too much like “tablet” or “Newton”. Maybe iSlab, iSurf, iCanHazTouchscreen, iFinallyhavethetechtomakethiswork; something like that.

Crank up the CPU a little, though, because I found Japanese text input rather sluggish on a friend’s original iPhone.

Thursday, July 17 2008

Dear Free Software Foundation,

$20 says that the Neo FreeRunner, which you think will someday surpass the iPhone and all others, will be about as successful in the marketplace as the Hurd.

Precisely because the FreeRunner is, as you say, “supported by a worldwide community of people rather than a single greedy, dishonest and secretive entity.”

[Update: Ouch. Also, ouch. Second-rate hardware is acceptable on an early dev model that you don’t intend to actually sell to users, but when even the “improved” UI is crap, that “worldwide community” has a lot of focused, carefully directed, market-driven development and testing ahead of it. Oh, wait, that’s the boring work people want to get paid for. Never mind.]

Saturday, July 26 2008

Dear Free Software Foundation,

Way to win hearts and minds, you spoiled little children.

In every Apple retail store is a so-called “Genius Bar” – a technical support station, the purpose of which is to offer help and support for Apple products.

You can use Apple’s helpful online booking system (no registration required) to reserve time slots at the Genius Bar. There are currently 217 Apple stores in seven countries, giving us plenty of slots to book. We want as many people as possible to book slots this Friday and Saturday. Why not book more than one? Having lots of slots booked will get Apple’s attention and ensure that the Geniuses have done their homework.

Head over to your local Apple Store at your designated time. Be sure to get a business card from your Genius first and then politely ask them the questions. For each question, give them a score between 1 and 32, with 1 being a really bad answer, and 32 being an answer that really showed insight into the restrictive practices of the iPhone.

In other words, “we’re not Apple customers, and we’re not even going to pretend to be; we just want to fuck up a real customer’s day and annoy people who’d rather be solving actual problems”. This is right up there with Barlow’s asshatted dancing protest outside the Republican National Convention in 2004.

Wednesday, September 10 2008

Silly me,…

…I thought when Apple said that the new iPod Touch was “available immediately in Apple retail stores”, that meant they’d, y’know, have them, at least as display models. Instead, the Valley Fair store had large displays of the older model, at its full (higher) retail price. Old Nano, too.

I wasn’t going to buy one today, but it would have been nice to take a look.

Friday, September 12 2008

iTunes J-Pop

When I upgraded to iTunes 8.0 and turned on the new Genius feature, I discovered that the US iTunes Store has acquired a rather large catalog of J-Pop, including a significant subset of the various Hello!Project groups’ albums and singles. The iTunes Genius analyzed my collection and gleefully pointed out all of the songs that would be perfect for me.

All of which I already owned. In many cases, it was pointing to the exact same song, from the exact same album. Why? Because the purchased albums have metadata that’s written with kanji and kana, and the iTunes versions are all romanized. Er, mostly romanized. Okay, inconsistently romanized. Album and song titles are usually romanized, artist names are all over the map: kana-ized, Hepburn-romanized, Kunrei-romanized, last-name-first, first-name-first, capitalization and white-space optional; fortunately they seem to stick with the same version for multiple albums.

This makes searching entertaining, but this is a big deal, because all of this stuff is at standard iTunes pricing, which is a helluva lot cheaper than import CDs, and just over half the price of the same tracks in the Japanese iTunes Store.

The Japanese store is the source of the peculiar partial romanization, by the way, and in fact when you view it from the US, all of the navigation is translated as well. I remember that when the store first launched, everything was in Japanese, including song titles, so I’m wondering if they’re geographically localizing not just the menus, but also the song metadata. The search system seems to handle pretty much anything you throw at it, so I wonder if Apple was seeing so many American purchases from the Japanese store through gift cards that they went out of their way to accommodate them, first through romanizing the interface, then through importing popular content.

There are some indexing oddities. If you search for “nakazawa yuuko” in the US store, you’ll get her most recent EP and a stub link that should lead to her audiobooks, but that only works if you’re on the Japanese store. I’m guessing that the stores all talk to each other internally, sharing indexes and content, with flags to indicate what content is importable. Given the price difference, new releases are unlikely to show up for a while.

Sunday, September 14 2008

Dear Apple,

How do I shut off the obnoxious (and inconsistently unavailable) “live preview” of images when I drag them out of Safari? It’s really difficult to drag them into a folder when the mouse cursor (you know, the part that determines where you’re dragging to) is hidden somewhere under the oh-so-spiffy translucent copy of the image.

Friday, September 19 2008

Dear Apple,

Please stop. Plugging in my iPod is not an appropriate time for you to be plugging MobileMe. iTunes should never display an ad when I sync my device.

Never mind that I’m already a .Mac user and you damn well know it; I just haven’t enabled it on my iPod Touch, because the sync is still broken and your servers go offline at random intervals. I don’t want to hose my email, bookmarks, calendar, and contacts by syncing them through an unreliable service.

[speaking of which, plugging in an iPod Touch does not trigger a sync; you have to hit the button manually. WTF?]

(Continued on Page 3122)

Dear Apple,

Please stop making products that subject your customers to electric shocks.

Really, there are better ways to keep the cult alive.

Wednesday, November 5 2008

Dear Apple,

Please inform your developers that the existence of virtual memory is not a good reason to ignore basic software engineering practices regarding memory management. I have 2GB of RAM. I have a Safari window and an Aperture window. Aperture has a small library loaded, for which it is simply generating thumbnails in the background. This is sufficient to page most of Safari out to disk. And Safari has a lot to page out, despite having only four small, static pages loaded in tabs.

Seriously, dude, work on your hygiene.

Sunday, November 23 2008

Apple US goes International

For a long time now, when you order a laptop directly from Apple’s web site, you’ve been given the choice between US and Western Spanish keyboards. With the latest models, they’ve added French and Japanese keyboards (and matching user manuals) for both MacBooks and MacBook Pros, with no effect on the promised shipping time.

The new one will have to be a Pro, since they’ve ripped FireWire out of the base MacBook line and once again left out the expansion slots. Which means that I really can’t justify the expense right now. I mean, for what it would cost to buy a tricked-out MBP, I could buy the new Sinolta 25-megapixel camera body, and I can’t justify that, either. Right now I’m barely using the extremely nice camera gear I already own, and we’re headed into the rainy season. And the current laptop is a 2GHz Core Duo with 2GB of RAM and a 250GB hard drive.

I’m not buying either Really Cool Toy. This year. Spring, maybe. Yeah, that’s it, Spring. The economy can wait until then for major new contributions from me. I might need a new car by then, too. My 2002 RX-300 has over 200,000 miles on it, and Lexus is promising that the new RX-450h will be showing up around then.

Also, my company will have had the chance for real holiday retail sales, the current product will be available in a lot more stores, and we’ll be showing off our next-generation product, so I might even be able to afford all three upgrades. Or get the company to spring for the laptop and buy the other two. :-)

Thursday, January 15 2009

Dear Apple,

Design note: do not assemble laptops with screws that are precisely the correct size to fall into the DVI adapter’s screw holes.

…on the bright side, once I found a strong magnet, I was able to finish installing my new 7200rpm 320GB drive (Amazon, free shipping, $90), giving me the delicious luxury of 200GB of (briefly-)free space.

…and I’m apparently better at putting MacBook Pros back together than the folks at the Apple Store, since the locking mechanism actually works properly again.

Wednesday, February 11 2009

Dear VMware,

Thank you.

Selecting the option Optimize for Mac OS application performance has no effect on performance
This issue is resolved in VMware Fusion 2.0.2. VMware Fusion now uses significantly less memory when the performance option is selected. This fix applies only to Mac OS X versions 10.5.5 and later.

Wednesday, March 11 2009

Dear Apple,

So, let me see if I’ve got this straight: the new iPod Shuffle has no controls at all, making it usable only with the supplied earbuds or your in-ear headphones that cost as much as the player; the interface on the new remote includes double-click to go forward, triple-click to go back, and press-and-hold until it speaks the name of a playlist; and it’s smaller than most of the flash drives that people are constantly losing.

I ask because my beloved 2nd-generation Shuffle has shown some signs of near-future failure, and it sounds like I should grab another one as soon as the clearance sales start, before this new widget is all that’s on the shelves.

[not that that would leave me pod-less; I’ve yet to have one fail completely, so I’ve still got a 30GB, a 60GB, and a Mini that all use the old-style remote control, which I find best for car use. I’ve also got a Touch (for apps) and a Nano (a gift), and someday need to sync them all up with a machine that has my complete music library.]

Friday, March 13 2009

Dear Steve Jobs,

I like buttons.

Sony Discman

I know you think buttons and cables and ports are all bad things, and should be hidden from the user whenever possible, but you’re going too far again. The new Macbook Pro that you can’t plug two even slightly oversized USB cords into, even on the 17-inch model that has acres of free space along the one side you permit ports to appear on? Yeah, that’s pretty stupid.

And the new Shuffle that can’t be controlled without the supplied button-starved remote control that apparently has difficulty registering its array of clicks-and-holds when operated with sweaty fingers? Yeah, that’s looking pretty stupid too.

Now, I have to admit that you’re not alone in your hatred for visible controls. See that picture up above? Way back when, the retailer almost begged me to take it off his hands, because no one had ever bought one, and since they’d been discontinued, he couldn’t get it out of the store fast enough. Customers walked in, looked at the sea of buttons, and bought something else.

I, on the other hand, walked in, looked at the device, and said “Look, look! Logically different operations on different buttons! It must be mine!”.

Dear Apple,

What moron decided that browsing the iTunes Store should involve a “svipp” sound every time a new page loads or you switch tabs? Including the act of leaving the store to go back to your music?

[Update: …and as mysteriously as it arrived, the sound has gone away again…]

Wednesday, April 1 2009

NFSing a Leopard user

Saved for future reference, since I don’t do it very often…

  1. From another admin account, open System Preferences, click Accounts.
  2. Control-click the username, select Advanced Options.
  3. Change the UID and optionally the GID.
  4. From a root shell, chown -R the user’s files.
  5. If you changed the GID, run:
    dseditgroup -o edit -a $USER -t user $OLDGROUP
  6. If you want to add more local groups to match your NFS server, run:
    dseditgroup -o create -r $DESC -i $GID $GROUP

Friday, April 3 2009

Self-inflicted Kybard

During my brief vacation, which involved flying to the midwest to see family and catch a really bad cold, I ordered a new laptop. It’s a Mac, of course, because Windows is simply less functional for people like me. I ordered it online from Apple, so that I could get the precise hardware configuration I wanted: 2.93GHz Core 2 Duo, 4GB RAM, 320GB 7200RPM hard drive, and the Japanese keyboard.

Oh, my, the Japanese keyboard. This is going to take some getting used to:

MacBook Pro Japanese keyboard

The worst thing about it is that it doesn’t work under Windows. Even a fully-updated Vista Ultimate install insists on treating it as a standard US keyboard layout, and none of the registry hacks or driver overrides you’ll find through Google will help. You know how MacOS X will ask you to press a few keys to help it figure out what kind of special keyboard you’ve attached? Windows doesn’t do that. This is true even for external USB keyboards made for the Japanese market. Apparently the only way to get it to work is to make sure you overrode the keyboard layout during the initial install of Vista/XP. Maybe.

The second-worst thing would be the absence of a “\” key. For historical reasons, the “¥” key replaced it on Japanese keyboards, and you have to type Option-¥ to get “\”.

Third-worst would be the massive slowdown in my typing speed for non-alphanumeric characters, which are in places my fingers don’t know how to find.

Nice things include the 英数 and かな keys adjacent to the spacebar. These handle the input-mode switching, replacing the usual Command-Space toggle. 英数 switches to English/numeric input, かな to kana input. I’m still using the romaji-style kana input, of course, even though this keyboard has a true kana layout printed on it; that’s a project for, well, “never”.

Also, the Control key is where god intended it to be.

Apart from the keyboard, there are no real downsides to the machine. I’m doing a clean migration to get rid of years of cruft, which helps. I think I’ve got all the finicky licensed apps moved over (Aperture and Photoshop adore their new home), and the bulk of the data. I need to reinstall a crapload of Perl libraries and random bits of code, data, and configs, but I’ve got basic functionality. The old MacBook is still under AppleCare for a few more months, so in a week or two I’ll revert it to the factory RAM and hard drive and send it in for some minor repairs I’ve been putting off.

Wednesday, April 8 2009

Dear Apple,

[update: don’t ask me how the kanji open-quote got turned into an accented a; it’s an ecto/MovableType thing that happens occasionally]

Unlike Windows (any version), Mac OS X correctly keeps track of keyboard layouts, even going so far as to ask the user about possibly non-standard layouts. Except in the Kotoeri input method, where it insists that all keyboards share the same layout, so that my English external keyboard is assumed to have the same layout as my laptop’s built-in Japanese keyboard, forcing me to guess where you hid the ‘「’ key (blackslash, by the way).

[filed as problem# 6770720]
[updated 4/15 and marked as a duplicate of bug# 5647954]

Wednesday, April 15 2009

Dear iChat,

perl -i- -ne '$s=1 if />ASCII</;$s=0 if $s
    && />Filename</; print unless $s'
    SmileyTable.plist

Yes, I really hate pasting text into a chat window and having something like “(bug 4558)” turn into “(bug 455stop smiling!”.

Thursday, May 7 2009

Dear Apple,

Why is this option here, and only here? And off by default?

Leopard printer driver auto-quit option

Saturday, May 16 2009

Dear Apple,

I get it, I do; you felt it was necessary and cool to have little video clips playing on the System Preferences panel for the new trackpads, to show all the cool multi-touch gestures.

But did it ever occur to you that the videos keep running as long as System Preferences is open to this panel, even in the background, even when the app is hidden? That’s 15-20% of one of my CPUs devoted to showing off multi-touch, when what I really care about is that you keep resetting the tracking speed of the trackpad whenever I plug in an external mouse.

Could you take some of that effort you put into the first five minutes of the user experience with a new piece of hardware, and maybe spend a little of it on how the device behaves for the next five years?

Tuesday, June 9 2009

Dear Apple,

Why does Mail.app keep segfaulting in this method call:

[MetadataManager getAllCalendarStoreData]

I’ve turned off data detectors, rebuilt my iCal database, rebuilt my Mail indexes, and pretty much everything else I can think of, and it still crashes anywhere between 2 minutes and one hour after I start it up.

Mind you, I have no idea why your email client is importing all of my calendars in the first place…

[Update: various forum posts suggest that this is tied to Leopard’s merger of iCal to-do list functionality into Mail, which works by syncing your local to-do lists up with your IMAP server. Except that I don’t use iCal for to-do lists, and wouldn’t want them on my mail servers if I did. So, a feature I’ve never used that does something I don’t want has inexplicably started causing my email to crash at random intervals, and since the bug has been around since at least 10.5.2, it’s unlikely to be fixed deliberately. One can only hope that there’s enough mail-related cleanup in Snow Leopard that it starts working there…]

Friday, June 12 2009

Dear Apple,

When you mark a bug “closed as a duplicate of bug X”, it would be nice if I were able to actually see bug X. Apparently, if I want to know the status of a fix, I have to send email saying “I reported Y, can you tell me if there’s been any action on X?”.

In this case, X has ID 5647954 and Y is 6770720, suggesting that X has been gathering dust for quite a while, and is unlikely to be fixed in an upcoming release. Japanese keyboard support in general seems to be pretty dusty, and I doubt you’ll get them working with Boot Camp any time soon, either.

[yes, this is because XP and Vista are stupid about keyboard layouts, and it affects VMware, too, but so what? You wrote the drivers for Boot Camp, and tout it as a feature, and it doesn’t work with some of your keyboards.]

Wednesday, August 12 2009

Dear Apple,

Where did the “clear recent searches” option go in Safari 4.0.3?

Workaround:

(Continued on Page 3394)

Tuesday, September 22 2009

Dear iTunes,

Can I please have my one-click “show all tracks from this album” back? Clicking on the little arrow next to the album name takes me to the iTunes Store, which was always a pathetic and useless “feature”, but it used to be that alt-clicking on the arrow would take me to the album that I already own, thank you very much. Now it doesn’t.

It appears the only way to select all of the tracks from an album is to select one track, switch to grid view, and then double-click the album cover (which is either a blank square or an automatically-downloaded incorrect picture). And then switch back out of grid view, because it’s pretty-but-useless.

While I’m ranting, wouldn’t it be nice if the new Genius Mixes would show you the tracks it’s going to play, or allow you to rate the current song while it’s playing?

Tuesday, December 1 2009

Faces

I don’t really use iPhoto. Its casual-user focus makes it poorly suited to what I want in a photo-management app, and it’s not particularly useful as a general-purpose image catalog tool, either.

There’s some interesting technology in it, however, including Faces, which attempts to detect and recognize human faces in photos, allowing you to (potentially) organize your pictures by who’s in them. It’s not integrated into the app very well yet, and there are some odd bugs, but it turns out to be surprisingly accurate and useful.

Since I was home sick yesterday and not up to much else, I imported a collection of 1,421 scanned photos of attractive young women and told it to look for faces. On the first pass, it found faces in about 80% of the pictures, and only a few of those were false positives (jewelry, plaids, etc). A second recognition pass got it up above 90%, out of a total of 95% that really did have at least one human face. Most of its failures involved faces that were tilted at roughly 45 degree angles, as well as profiles and low-contrast images. It did surprisingly well at finding low-resolution faces, and even did a fair job of auto-naming them correctly, once I had a good sample size.

[Bug note: There are a few images that I simply cannot manually add a face to, and I don’t know why. I draw out the rectangle, add a name, hit Done, and it deletes my work. It thinks there’s something there, because it will offer them as options in the “person X might be in this picture” section, but it never accepts the face.]

It takes a little while to figure out a decent workflow for adding names to pictures, but it does work. If you select a few good matches for each major face, the name-guesser will perform a lot better, and save you a lot of manual selection. I’d like to see it offer the top three choices instead of just the best one, and the UI needs some work (especially in keyboard navigation consistency and false-positive handling), but it works, and in normal usage, most people won’t be tagging a thousand images at once.

As far as integration goes, the names you tag a picture with aren’t keywords, don’t show up in the Get Info page, can’t be searched via Spotlight, can’t be displayed or printed as captions, can’t be used to sort, etc, etc. There’s a Faces-specific browser, and you can click the Names button on a full-sized image to view all the tagged Faces present, but that’s it. It’s not useful as a general “person X is in photo Y” tagging system yet.

[Update: I was just reminded of another missing feature that I really want: a “faceless” rule for Smart Albums, so I can say “all pictures from Album X that have no faces in them”. After 80% of the 1400+ images in my album had names, I only wanted to sort through the ones that didn’t, and the only way I could find to do it was to create a smart album Y as “pictures from Album X that have faces, none of which are unnamed”, manually copy its contents to another non-smart album Z, then define a new smart album as “pictures from X that aren’t in Z”, and remember to keep Z up to date. (the app won’t let me say “pictures from X that aren’t in Y”)]

Now for the amusing picture. This is what happens when all of the faces you’ve identified come from professionally shot photos of young Japanese women in full makeup:

(Continued on Page 3451)

Thursday, December 10 2009

Faces, precipitated

As I said earlier, the Faces feature isn’t terribly well-integrated into iPhoto. It’s a standalone piece of metadata that has no collection to the app’s events, places, folders, or keywords. It’s even stored separately, in a pair of SQLite databases that have no real connection to anything else; they can even be deleted without affecting the rest of your database.

At a user level, the key issue is that Faces aren’t people. You can’t use it to tag “Bob’s wipeout on the slopes”, “Mary dressed up as Darth Maul”, “Jean hiding from the camera”, or dozens of other scenarios in which the relevant person isn’t clearly showing their normal face. You could select a random portion of the picture and claim it’s a Face, but it will lower the recognition accuracy, and may not work anyway.

I’m sure a future version of the app will integrate it better, perhaps allowing you to mark out areas of a picture that contain a specific person but shouldn’t be used for face recognition, but for now, you end up with two sets of pictures, faced and faceless, only one of which is easy to browse.

The other set does have its charms, though…

(Continued on Page 3455)

Monday, December 21 2009

Dear Apple,

Thanks for enabling two-finger trackpad zoom on the desktop in Snow Leopard. One accidental swipe and my carefully-arranged icons are all over the place, with no undo and no way to turn off the feature without disabling it system-wide. Gosh, how clever of you. “It probably won an award.”

Wednesday, January 27 2010

Rejected names for the iPad

[Update: I’m leaning towards iSpork – only good for consuming canned goods; if you want to cook, it’s the wrong tool]

  • iMaxi
  • iReadOnly
  • iCantTakeNotes
  • iCanHazDongles?
  • iGotRejectedByTheAppStore
  • iPodTouchButBigger
  • iPoundAndAHalf
  • iTrophyWife
  • iOnlyConsumeContentCreatedElsewhere
  • iStreamPornOver3G
  • iHuntAndPeck
  • iBling
  • iWTF
  • iDrinkKoolaid
  • iLikedTheNewtonBetter

Thursday, January 28 2010

Dear Steve Jobs: why carry an iPad?


Student tool?
The iBookstore format is ePub, which has relatively limited layout support, making it a poor fit for most textbooks. Apple has not announced any support for Adobe Digital Editions, and non-DRM PDF textbooks are a pipe dream (feel free to solve this problem next, though, if you’re up for a challenge). Also, the tiny on-screen keyboard with no support for a stylus means no serious note-taking. You can tweet and fingerpaint, but that’s about it, so you’d still need to carry actual notebooks. If you were, say, going to the library to work on a paper, do you take the iPad and an external keyboard, or just carry your laptop?
Carry it to meetings?
No remote for using it in presentations, need to carry a dongle to attach it to a projector, no serious note-taking, microphone unlikely to work well for audio notes.
Errand-running?
Pretty big for holding your shopping list, no GPS for finding your way around (although WiFi-based triangulation may work in some areas), no camera for scanning bar-codes.
Commuting?
Only on a train or bus, and definitely only with an optional case to reduce the risk of dropping it (and also hide the big shiny expensive steal-me gadget).
Visiting friends and family?
“Hey, check out the new pictures of the kids! Oh, you want a copy? Hmm, I can’t plug it into your computer because it will try to sync, so maybe if I plug in the SD dongle and copy it to a card from your camera, you can transfer it to your machine later. Oh fuck it, I’ll just mail you the Flickr link.”
Camping?
No GPS, no offline mapping, poor 3G pretty much anywhere interesting, and can’t read a book after the “up to 10 hour” battery life is over.

Not an exhaustive list, to be sure, but so far, every reason I can think of to carry this gadget involves either doing without some functionality or carrying it in addition to something else, like pen and paper, a laptop, a phone, a GPS, a camera, or some of the many optional accessories. Taking notes? Add a Bluetooth keyboard or the special dock. Transferring data, including attaching it to a larger display? Carry dongles and cables. Etc, etc.

It’s 7.5x9.5x0.5 inches and weighs a pound and a half. Add a case to protect it from damage, and you’re carrying around a cookbook. In fact, you’re carrying around this cookbook. I could carry this cookbook everywhere I go, but it’s big enough that I wouldn’t do so without a good reason. Take a look at the top 100 applications for the iPhone; are any of them compelling enough to justify carrying a cookbook around? I haven’t found one, and the notoriously capricious approval process makes it unlikely a compelling app will get released quickly, and the notoriously clunky App Store makes it unlikely you’ll find out about it if it does.

Apple promises optimized versions of iWork, but even in landscape mode, the on-screen keyboard is no bigger than the one on the original 7-inch EeePC. And if you put the iPad in a comfortable position for typing, the shiny screen is at an awkward angle for viewing, especially in less-than-perfect lighting.

Am I rationalizing my recent purchase of a Lenovo S12 netbook, and wishing I’d saved my pennies for the iComeToJesusTablet? No. Not only didn’t I expect the iPad to ship before March, I never expect the 1.0 release of any Apple product to be stable, so I wouldn’t have bought one until at least June anyway, and in any case, I can afford to own both. Right now, though, I don’t want one, because I can only envision using it around the house, and all my stuff is already there, so why bother?

I get some use out of the iPod Touch, and I’ve often wished for a scaled-up version, but what I wanted scaled up was the capability as much as the size. The iPad has the size (very close to B5, with a bigger-than-B6 screen), but is basically limited to consuming content created on actual computers. So why not just carry a real computer when you want to work, and an iPod when you only need canned content?

No, wait, I’ve got the name for it!

It just came to me in a flash (but not with Flash, because that would make Steve mad). Apple’s in the hardware business, and the tablet is not a standalone device, so you need something to connect it to. If you have a home machine and a carry-around tablet, then you don’t want a laptop, you want an all-in-one desktop. An iMac. Hence the name for the tablet:

iTosh

“iMac and iTosh”, or perhaps, “I Mac and Tosh”.

Thursday, April 1 2010

iPad Lust: C-ko must be mine!

[Update: Official iPad app list (iTunes link)]

I’ve been very skeptical about the iPad. Even if you ignored Apple’s legendary “never buy a 1.0” problem with new hardware and software, there was a very serious problem that Steve Jobs and his famous Reality Distortion Field failed to answer at the announcement, or any time since: what’s it good for?

Shiny. Sexy. Big iPod Touch. Horribly mis-managed —and micro-managed— app store. Extremely closed content model. Out of the box, there’s really nothing to do with it except show off your disposable income in a time of high unemployment and rising taxes. And all those eager app-store developers (or, more precisely, the ones who remain eager after the real pros got sick of Apple’s capricious policies and gave up) specialize in pretty, shallow, toy software. Great for an iPhone that fits in your pocket, but they’re not going to sell a 1.5-pound battery-powered cookbook with a high-gloss screen.

Today, Appaddvice has a list of third-party software that will be available at launch, scraped from Apple’s pre-release web site. And now I have to buy one, because their list includes some real killer apps.

(Continued on Page 3533)

Thursday, April 15 2010

iPad for Education? Not!

A while back, I sent my mother a link to Scratch, an educational programming environment for children. She’s one of the relatively few PhDs in the education field who really goes out and teaches children, so I knew she’d be interested. So were her kids; they love it, and they’re learning a lot more than just how to write programs.

Naturally, someone released an iPhone/iPad app to allow a user to run their Scratch programs. The response from the MIT folks who run Scratch was “hey, check this out”. That was early March. Yesterday, as part of their new policy outlawing all third-party development tools, Apple removed it from the app store.

Nice work, Steve; way to throw out a dozen babies with the (Adobe CS5-flavored) bath water. If you were trying to improve the quality of apps in the store, oh, who am I kidding, we both know that’s a bullshit rationalization. Gruber bought it, and preened when you made him think he was a penetrating analyst for saying so, but it ain’t so. The app store is flooded with crap, and is such a poor shopping experience that customers are forced to wade neck-deep into the sewers to find the tiny handful of useful apps (this is what Gruber calls “the killer app” for the iPad; no doubt he also thinks dumpster-diving would be a great first date).

It’s about control. About forcing people to do things The Steve Way. With Flash CS5, tens of thousands of Windows-based developers would have been able to write iPhone and iPad apps, and Steve would rather require the price of development to include the price of a Mac. Apple is, as we’re often reminded, first and foremost a hardware company. The change was timed to fuck Adobe’s major release, but that was just a bonus.

Saturday, April 17 2010

Touching the Pad

Two people at work bought iPads, and they weren’t the two I expected to have them so soon. So now I’ve spent a few minutes playing with it, and since they hadn’t downloaded many apps or bought much content, all I really got to see was its fundamental “big iPod Touch” functionality. This was not enough to persuade me to acquire one, for obvious reasons. And I already wasn’t impressed by the list of apps available at launch, and haven’t seen any exciting announcements since then.

All I can really say that I haven’t seen mentioned before is that they did one subtle thing to keep it from being dropped when held in one hand: there’s a slight lip around the front edge, keeping your thumb from sliding off the glass while your other fingers try to keep a grip on the smooth aluminum back. Without that, it’d be flying out of your hand faster than a strapless Wiimote in a bowling game. You don’t really want to hold it in one hand for very long anyway, but at least you’re not risking a cracked screen if you do.

Monday, April 19 2010

Gizmodo, Online Fence

Let me see if I’ve got the story straight: someone sees an unattended iPhone in a bar, takes it home, plays with it, figures out it’s a bit unusual, sends out feelers for a buyer, sells it to Gizmodo for an undisclosed sum, and the only person whose name makes the headline is the Apple employee who lost it.

Did I get that right? It looks like there are two honest-to-gosh criminals and a victim in this story, and the victim is the only one suffering.

I knew the guys at Gizmodo were shameless, but I hadn’t suspected that they were proud felons.

[Update: yup, Gizmodo bought from a thief, and they had to have known it. Based on the fact that the “finder” never even contacted the bar where it was lost, which the owner called every day hoping for news, Gizmodo’s little tale of innocent acquisition and honest attempts to return it looks completely phony.]

Tuesday, April 20 2010

How to sell me an iPad

As much as I would prefer a tablet computer to be an honest-to-gosh computer, rather than a media consumption device with support for small-scale commercial applications, I am not opposed to the concept of a “limited” device. I just think Apple has limited theirs too much.

What would be the killer app for me, something that would justify the cost of an iPad? A full-featured light table. Here’s the scenario:

It’s 6am, and I’m out on the coast with a thermos full of hot tea, my best camera, a GPS tracker, and a tripod. I shoot the sunrise on the bay, mist and fog giving way to a sparkling ocean. When the light becomes too harsh, I pack up, find a restaurant for a late breakfast, and settle in to examine the fruits of my labor.

I plug first the tracker, then the camera into The Tablet, watching as it files away the RAW images and geotags the matching JPEGs for preview, and then I begin. Sort, arrange, compare, focus-check, rate, annotate, crop, rotate, and flag for further editing, all with a flick of a finger. Then off to the zoo for more pictures, and then lunch and more review.

Back at home, I plug The Tablet into my computer, and it syncs up with Aperture, seamlessly importing the RAW images with all of my annotations and edits intact. Any time I want, I can sync parts of my library back to The Tablet for further review.

Key elements:

  • It uses the JPEGs for review, but imports the RAW images as well, and preserves the link between them. Apple’s supplied Photo viewer won’t do that.
  • It supports standalone GPS trackers as a data source, which means reading USB mass-storage devices, something the iPad currently doesn’t allow.
  • It syncs to something other than iTunes, passing arbitrary data. Yeah, that doesn’t work right now, either; most third-party apps have to sync through an ad-hoc wireless connection, which is painfully slow for this use.

It is genuinely new functionality, something I cannot do today on a desktop or laptop. There’s nothing in software right now that gives photographers the power they had with a light table, a loupe, and a box of slides. Sure, you can keep track of 50,000 images on your hard drive, but it’s basically just a poorly-edited dumpster. A real light table will teach you more about photography, your camera, your lenses, and your subject than iPhoto, Aperture, Lightroom, and Photoshop put together.

(all of this would be just as cool to have on a larger tablet computer, of course, especially a home machine with a 30-inch multitouch monitor/canvas, but one dream at a time)

[Update: Now that the camera-connection kit is out, there’s a little more information available. Not from Apple, sadly; their product description and documentation are still quite vague. Short version: it will import some raw formats into Photos, as well as some movie formats; it doesn’t appear to sync seamlessly back to iPhoto on a Mac, yet, but can be used as a manual import source; and it has some problems with MicroSD. So, not useless for my scenario, but still very 1.0 and limited. The surprising news is that people were able to connect USB headsets through it and get them to work; no thumbdrives, as expected, but at least they’re letting some data in, unofficially.]

Friday, April 30 2010

Dear Apple,

I see that you’ve replaced all of the category links in the App Store with nebulous fluff like “creative editing kit”, “apps from tv ads”, “new home”, and other non-categories. In addition, you now devote a substantial percentage of the front page to a list of top grossing apps. Please, if you would, explain how this list has any value to a consumer? Isn’t it just a way to tell potential developers “there’s gold in them thar hills!”?

Seriously, am I, as an app buyer, supposed to be attracted by the fact that some people were willing to shell out $899.99 for copies of a surveillance-camera viewer? Could you maybe take some of the money you’re getting from these top grossers and spend it on making the store searchable and browsable?

Friday, June 11 2010

Dear Apple,

With regards to Safari 5’s new Reader mode (whose availability is subject to unknown and quite whimsical heuristics):

  1. Palatino is rarely appropriate for online reading. Most serif faces not specifically designed for screen use should be avoided, in fact; sub-pixel anti-aliasing only buys you so much.
  2. Setting body text fully justified is inevitably a bad idea online. Not only does Safari lack hyphenation, but proper hyphenation is language-dependent anyway. More to the point, the fixed column size in Reader creates rivers of white space in many documents, even for users who don’t increase the text size. Those who do are doomed to unreadable crap.
  3. Even if Safari did support hyphenation, you should still avoid justification, because the screen resolution simply isn’t fine enough to do it well. Not even the magic pixie dust in the pixels of the new iPhone display give sufficient resolution to produce both crisp Palatino and evenly justified columns. There’s a reason that 1200dpi is considered low for printing actual books.
  4. Open up the stylesheet; hiding it inside the Safari bundle forces people to choose between invalidating your code signatures and putting up with your poor design choices.
  5. Allow the new Extensions code to load into Reader pages.

While I’m here, every version of Safari has suffered from the problem that right-clicking a link disables all mouseover events on that page until you click somewhere else. Even the builtin cursor change on mouseover is disabled. This remains true in this latest major revision. Has no one else ever told you about it?

Tuesday, June 15 2010

Dear Apple,

Safari 5’s url-entry bar now searches through your history and bookmarks. This is annoying. It does a substring match on the complete URL and title of every entry in your history and bookmarks. This is stupid and broken and useless.

Want a perfect example? Let’s say I just got email that included a UPS tracking number, and I want to go to UPS. When I start typing the string “ups”, what does Safari 5 “helpfully” append to it?

ell-widgets/click.html?ie=UTF8&id=IzuMqjLyzABOgXIyvBfq%2Bb4Thlnt8bTV7mga4c387gBUh2iRceLRXyomIKkOqOwVt3Ls7s%2BXyUX%2F3K9ODY3sNS1N31swH02jL9e94x8tKmHptCn2WgLY1glo3Pjt6JsyfGmIkaAYQvXrtZF7iDSlpbLQ6v4CpAI7LCrB28mooRdPZqrKQ7jVzq2B1ajW6M9X

In the right half of the URL bar, in gray text, it shows the beginning of this amazing string, which turns out to be the result of clicking on one of the “people who bought X” buttons on Amazon. Yeah, that’s exactly where anyone who types “ups” wants to go, every time. Stupidstupidstupid, and no way to disable it.

Wednesday, June 23 2010

Dear Apple,

I thought you said that accounting rules required you to charge for iPod Touch software updates. So why is it that the big iOS 4.0 update showed up for free for me?

Not that I’m complaining, you understand. Perhaps if iOS 4.0 makes my iTouch more iuseful, I’ll eventually be persuaded to ibuy an iPad, a device that hasn’t yet caught my ifancy.

Saturday, September 4 2010

First-Class Technical Support!

That is, “people who are currently taking their first class in basic tech support”.

Me: “Hey, Apple, in Ping’s user profile display, song titles that contain apostrophes are cut off at the apostrophe, so that Don’t stand so close to me comes out as Don.”

Them: “I see you have written in with a concern about Ping and word recognition.”

Me: “Um, no; let me break it down into a nice numbered list for you.”

Them: “To resolve this issue, I suggest you uninstall and re-install iTunes. I have consulted with another Agent, and we have found that this is the best solution for this issue.”

Me: “…or I could wait 24 hours for Apple to fix the problem on their end, which they just did.”

“Uninstall and reinstall”, the fuck-off-and-die of customer service.

Saturday, October 9 2010

Clearing Safari’s cache of HTML5 local storage

One of the few things that Safari 5 does not give you a way to avoid or clear is HTML5 local storage. This is separate from the setting for HTML5 local database storage, and deleting it is necessary not only for avoiding things like the new evercookies that sites are starting to use (such as polldaddy), but also sites like meebo who use it to store large chunks of custom Javascript locally.

Fortunately, there’s nothing obscure about how it’s stored, and the method for stopping a particular site from ever using it again is easy.

To clear out the local storage, exit Safari and run:

rm -rf ~/Library/Safari/LocalStorage/http*

(don’t delete everything, since Safari Extensions store their settings here as well)

To prevent a particular site from using local storage ever again (say, samy.pl, home of and test site for evercookies), exit Safari and run these two commands:

cp /dev/null ~/Library/Safari/LocalStorage/http_samy.pl_0.localstorage
chmod 0 ~/Library/Safari/LocalStorage/http_samy.pl_0.localstorage

To see what a site is storing on your machine (all on one line):

sqlite3 ~/Library/Safari/LocalStorage/http_samy.pl_0.localstorage
    ”select * from ItemTable”

The best solution would be a small script to whitelist the few domains you’re willing to allow persistent storage from, and nuke the rest whenever they show up. Safari caches these Sqlite databases in memory during a session, so you need to restart the browser to really clear them.

My several-times-a-week routine is now:


  1. Reset Safari menu (clear history, reset top sites, remove webpage preview images, empty the cache, clear the downloads window, remove saved names and passwords, remove all other autofill form text, close all safari windows).
  2. Exit Safari.
  3. Clear all non-whitelisted cookies with a custom script.
  4. Clear all non-whitelisted local storage with a custom script.
  5. (all Flash local storage was already permanently disabled, which has only ever broken one site’s functionality (Indiemapper))

Note that it’s also easy to change the data sites are stuffing into local storage. The results could be whimsical or malicious, depending on how intelligent the web developer was.

On a related note, the HTML5 local database storage is in ~/Library/Safari/Databases, if you’ve allowed any sites to use it. I keep it turned off, myself.

Tuesday, January 4 2011

Life with SSD

For a slightly-early birthday present to myself, as part of a post-Thanksgiving sale I bought myself an OWC Data Doubler w/ 240GB SSD. After making three full backups of my laptop, I installed it, and have been enjoying it quite a bit. This kit installs the SSD as a second drive, replacing the optical, allowing you to use it in addition to the standard drive, which in my case is a 500GB Seagate hybrid. I’ve set up the SSD as the boot drive, with the 500GB as /Users/Shared, and moved my iTunes, iPhoto, and Aperture libraries there, as well as my big VMware images and an 80GB Windows partition.

[side note: the Seagate hybrid drives do provide a small-but-visible improvement in boot/launch performance, but the bulk of your data doesn’t gain any benefit from it, and software updates erase the speed boost until the drive adjusts to the new usage pattern. Dual-boot doesn’t help, either. An easy upgrade, but not a big one, IMHO.]

Good:


  • Straightforward installation. There was only one finicky bit where OWC’s detailed instructions didn’t quite match reality, which just required a little gentle fiddling to get the cable out of the way.
  • Boots faster. Much.
  • All applications launch faster, especially the ones that do annoying things like maintain their own font caches. Resource-intensive apps (pronounced “Photoshop”) also get a nice speed boost for many operations, especially when I’m working with 24 megapixel raw images.
  • Apple’s gratuitous uncached preview icons render acceptably fast now. Honestly, I got so sick of delays caused by scanning large files to generate custom icons that I turned it off a long time ago (except the magic Dock view of the Downloads folder, which you can’t disable it for).
  • SuperDuper incremental backups are ~4x faster. 10-15% of this comes from not having to scan the 160GB of stuff that’s now on a separate drive, but most of it is due to not seeking around on the disk to see what’s changed. I’ve actually switched my backups from a fast FireWire800 enclosure to a portable USB2 drive, and I still save a lot of time.
  • A little better battery life, a little less heat. The hard drive stays spun down most of the time unless I have iTunes running.
  • External USB DVD drives work fine for ripping, burning, and OS installation.

Bad:


  • Apple’s DVD Player app refuses to launch at all unless an internal DVD drive is present; external drives aren’t acceptable (unless there’s also an internal, in which case you can cheerfully use both, and even have them set to different regions). VLC is a poor substitute. You can get it to work with external drives… by editing the binary. Seriously, you replace all instances of “Internal” with “External” in this file:
    /System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback
  • Time Machine backups don’t pick up the second drive. Neither does SuperDuper, so I added a one-line script to my SuperDuper config that does:
    rsync -v -‍-delete -‍-exclude .Spotlight-V100
        -‍-exclude .Trashes -‍-exclude .fseventsd
        /Users/Shared/ /Volumes/Back2/

  • Snow Leopard seems to have lost the ability to reliably specify the mount location of a second drive. In previous releases, you could put the UUID or label into /etc/fstab and it worked. Now that file only accepts device names, which are generated dynamically on boot. This works if only two drives are present at boot time, since the boot drive will always get disk0, but having an external drive connected could result in a surprise.
  • (obvious) Can’t watch actual DVDs without carrying around an external drive.

So, file this little experiment under “expensive but worth it”. I do watch DVDs on my laptop, but only at home or in hotels, so the external drive isn’t a daily-carry accessory. The SSD has a Sandforce chipset and 7% over-provisioning, and is less than half full, so there’s no sign of performance degradation, and I don’t expect any. Aperture supports multiple libraries, so I can edit fresh material on the SSD, then move it to the hard drive when I’m done with it. Honestly, unless Apple releases MacBook Pro models that wil take more than 8GB of RAM, I really see no need to buy a new one for quite a while.

Thursday, January 6 2011

Mac App Store, first take

[Update: wow, what a scam! $59.99 for a front-end to Google’s free translate service. Way to curate those apps, Apple!]

[Update: steaming pile of app.]

Lots of shallow, borderline-functional apps, many with undeclared dependencies. For instance, take Translate, which claims to offer translation between 55 different languages for $2.99. The only requirement listed is Mac OS X 10.6.6, and the app size is 1.2 MB.

Translation: it’s a front-end to Google’s free online translation service, useless to anyone who’s offline, and pointless for anyone who knows how to operate a web browser. Instant five-star review, of course.

The UI for the store is taken from the iPhone app store, so it suffers from the same lack of searchability and scalability. Very, very limited information on each app, which is significant because they’re not running in a safe little sandbox like an iPhone; this stuff has full access to your hard drive and home network, opening up all sorts of unhappy possibilities.

Pricing is all over the map as well, like iKana, an obvious port of an iPhone app with limited functionality, for the low, low price of $14.99. And, once again, Apple demonstrates their cluelessness by prominently featuring a list of the top-grossing apps, something that has no value to app buyers.

Expect to see a lot more lazy iPhone ports with ambitious pricing, undeclared dependencies, and random keywords to game the clumsy search system. And maybe a few decent applications that you will find out about elsewhere, and would have bought directly from them before today…

[Update: what inept clod wrote this application? Select a large category, like “Utilities”. Click “See all”. Set sort-by to “Name”. Scroll halfway down the page. Click on an app. Click on the back button. You are now halfway down a page that is sorted by release date. Congratulations on not even getting basic navigation right, Apple.]

Dear Apple,

WTF?

The Mac App store listing for one of your featured apps says “You must be at least 17 years old to download this app. Frequent/Intense Mature/Suggestive Themes”.

The app is YummySoup, a cookbook.

Tuesday, January 18 2011

Dear Apple,

When evaluating submissions to the Mac App store, you really should check to see if a limited-functionality app also happens to include a limited-creativity ripoff of one of your own icons. Like Screen Grabber, which made a few light edits to your Grab app icon.

Note that this was not one of those “let’s stuff the store with crap on opening day” apps. No, this one was approved two days ago. <golfclap>

Thursday, March 17 2011

Dear Apple,

Call me when I can do this on an iPad…

(Continued on Page 3747)

Tuesday, March 29 2011

Thought for the day…

Reading Gruber’s opinions on Android is like reading a vegan review of roast beef. It’s clear that the mere thought of eating it makes him want to puke.

As far as I’m concerned, refurbished 1st-gen iPads are still about $200 over the price I’m willing to pay for such limited-by-design functionality, and I’m waiting to see if the Xoom and other Android tablets do better before I spend any money there. I haven’t bought into either ecosystem for a phone, either; my aging Blackberry handles work email effectively, and honestly does a better job as a phone.

Sunday, July 24 2011

The Lion Speaks (Japanese) Tonight

The new Mac OS X release includes an optional Japanese voice capable of reading any text in phonetically accurate Japanese. Lovers of the emotionless anime girl will enjoy Kyoko’s flat affect, but they may be a bit puzzled by her odd reading choices. In a quick sample, I found that 一人 is always “ichinin”, and 行って is always “okonatte” (which made the “how to get to the gas station” example I fed it quite entertaining).

Still, it’s a decent voice, and Apple once documented how to embed pauses, pitch, speed, and phonetic hints in a string to be read by their speech synthesizer. Unfortunately, the only info I can find at the moment goes waaaay back. You could get the old Macintalk to sing, but the voices were pretty crude, and every phoneme had to be encoded by hand to get it to create plausible Japanese. Perhaps they’ll release some documentation on the modern system.

Tuesday, July 26 2011

When Apple’s not suing iPad competitors…

…they’re strangling e-book competitors:

The store was removed because Apple rejected any updates which included it, period. They also rejected any updates which stated that Apple required its removal, or indeed any mention of ‘compliance with App Store guidelines’. It was further rejected for the cardinal sin of allowing users to create a Kobo account within the app. Then it was rejected for providing a link to let users create an account outside the app. Then it was rejected for simply mentioning that it was possible to sign up, with no direction on where or how one could do that. Then it was rejected for making any mention of the Kobo website. Then for any mention of ‘our website’ at all, in any language. We additionally cannot make any assertions that Kobo provides content for sale, however obliquely.

(from this review of the crippled app)

Monday, August 1 2011

Lion warning

If you turn on the new Filevault full-disk encryption on a system that has more than one user, and have a secondary user (possibly limited to ones not authorized to unlock the disk), then if you allow the screensaver to activate (which by default will also lock the screen), clicking the “Switch User” button can cause a kernel panic. Not all screensavers will do this, but it is 100% repeatable for the ones that do.

Ironically, I first had this happen while running Jamie Zawinski’s BSOD screensaver…

[Update: okay, switching to a “safe” screensaver isn’t good enough if you actually log into the secondary account and then log back out. That’s triggering a panic for me, even with one of Apple’s supplied screensavers. Also, once the disk has been unlocked by an authorized user, it appears non-authorized users can log in just fine.]

Tuesday, August 9 2011

Encrypted Lion sleep/hibernate note

  1. Full-disk encryption is unlocked at power-on.
  2. Users not authorized to unlock the disk can use the system normally once it has been unlocked. (subject to random kernel panics…)
  3. Sleep does not lock the disk.
  4. Hibernate does.
  5. A sleeping Mac will automatically switch from sleep to hibernate if power is interrupted or the battery gets low.
  6. A sleeping Mac may switch to hibernate under other circumstances, such as “been asleep for X minutes”. The hooks are there, but I haven’t seen this behavior yet on one that’s not low on battery.
  7. [Update] normally, when you shut down, you have the option to choose not to reopen applications on boot; if, however, other people are logged in, the override-and-shutdown-anyway dialog does not include this option. And, of course, you’re not allowed to change the default behavior.
  8. [Update] If you wake up the machine while it’s very low on battery power, and manage to enter your password before it insists on going back to sleep, then when you plug it in and wake it up, you will not be required to enter your password. The “emergency low-power” sleep does not re-lock the screen.

Taken separately, each piece makes perfect sense. It’s only in combination that there are some surprising behaviors, which can become even more fun when you add in some of the poorly-thought-out iPadifications.

Apple’s goal (incompletely implemented and rushed out the door) is to blur the distinction between “on” and “off” at all levels, so that your Mac, like your iPad, is always in the state you left it, whether you put it to sleep, shut it off, crashed it, or whatever. For a single-user, single-task device like the iPad, this is a reasonable goal. For a laptop, especially one that doesn’t run only Apple-supplied software and may be used in very different environments, it may be the exact opposite of a good idea.

For a laptop that contains data sensitive enough to encrypt, it’s downright stupid. Left Hand, go have a little chat with Right Hand about what you’re doing, mmkay?

Friday, August 26 2011

iPadification, continued

In OS X Lion, it is no longer possible to manually create 802.1x profiles. You must use the iPhone configuration tool to generate a .mobileconfig file for users to download and double-click.

Friday, September 2 2011

Credit where credit is due

Apple’s latest update for the RAW camera support in Aperture and iPhoto adds several new models, and, rather surprisingly, a Minolta camera that was released seven years ago, the Dimage A200. This is a cost-reduced version of the A2 that I own, which these days is part of my book scanner.

These were great little cameras at the time, and the A2 in particular is an excellent studio/still-life camera, but there aren’t a lot of them available on the used market, and of course Minolta got out of the camera business a long time ago, so there’s no service.

Wednesday, September 7 2011

Dear Apple,

Thank you for finally fixing the bug in Safari that disabled Javascript mouseover events if you right-clicked on a link.

(before 5.1, you had to left-click somewhere else on the page to get them back; this also affected the automatic cursor changes as you moused around, which is probably why it got fixed)

Tuesday, October 4 2011

Mail.app: scarily efficient at doing IMAP wrong

For the past several releases, Mail.app has had a problem where it creates multiple offline drafts of a message that stick around after the message is sent successfully. Usually, I just clean them out when I spot them, no big deal.

Today it happened with a message that contained a number of rather large binary attachments (~30 megabytes), which I was sending to my Sony Tablet as a test. The test went fine at the office, but when I got home and plugged my computer in, the Internet went away.

Mail.app was frantically trying to upload four copies of the huge draft message to my IMAP server, and completely saturating my uplink. The only way to fix it was to force-quit Mail and empty out the contents of the .OfflineCache directory for that account. This was, of course, not the first solution I tried. Grrr.

Sunday, October 16 2011

Questioning Siri

I said, “Find me a picture of Seven of Nine”.

Siri passed the request on to Google, who came back with this:

Sevens of Nine

That’ll do. (source)

Monday, October 17 2011

True

From the comments on Macintouch:

“How much other Lion functionality depends on guessing that if you wave the rod with the star a crystal bridge will span the chasm?”

Working around the limitations…

Siri has a bit of a problem with foreign names.

Siri can't find Ai Shinozaki, or can she?

Tuesday, January 17 2012

Progress, Apple-style

OS X Lion apparently changed the cookie storage format in one of the recent minor releases. If you use Safari 5.1.x under Snow Leopard, cookies are in Apple’s well-defined Plist format, which is generally stored as XML. If you use Lion, that file still exists, but the actual cookie storage has moved to binary garbage.

Not the Core Storage model they usually push on everyone, which is a perfectly sensible SQLite database, but an on-disk representation of the NSHTTPCookieStorage class, containing a mix of big-endian and little-endian data. Use Apple’s method calls to read and write it, or prepare yourself for pain.

(via jwz, who is quite naturally baffled by this giant leap into the Nineties)

Thursday, February 16 2012

Mac Marginalization

It used to be that the phrase “Mac marginalization” referred to poor support for Mac users by peripheral makers, bank web sites, etc.

Now that Apple has announced that the now-annual OS releases will accelerate the iPadification of the Mac user interface and dependence on iCloud, it appears that Apple will be doing most of the marginalizing.

Although they do promise that Mountain Lion will be renaming applications for consistency, so the fact that Preview silently modifies your documents should cause them to rename it FuckWith.

Monday, February 27 2012

Fixing the bugs that Apple won’t

In Lion, there is a single global setting for “applications reopen every document that was open the last time you launched them”. The intent is to blur the distinction between putting your computer to sleep and rebooting it, and is supposed to mesh seamlessly with the new “silently save every change you make to a document, requiring you to restore from previous versions to undo them” and “relaunch every open application on reboot” (which does not have a global on/off setting; you have to override the default every time you shut down).

In Lion, they’re poorly-tested “version 1.0” code that have caused a lot of people to revert to Snow Leopard or simply not upgrade. But Apple knows the best way for you to work, so even if the design is flawed and the implementation is broken, you’re stuck with it (much like the initially-broken-and-still-a-bit-flaky Spotlight replaced the search systems from earlier releases).

So, enter RestoreMeNot and iKluge’s login hook, which get rid of two of these annoying misfeatures. Sadly, only Apple can fix the brain damage in their autosave implementation, and they seem to be too busy pushing everyone into iCloud.

Note that the installation method for iKluge’s fix is a really bad idea, and I’ve reproduced his run-once shell script below.

#!/bin/bash
echo "#!/bin/bash" > /tmp/loginfix.sh
echo "rm /Users/*/Library/Preferences/ByHost/com.apple.loginwindow.*" >> /tmp/loginfix.sh
mv /tmp/loginfix.sh /usr/bin/loginfix.sh
chmod +x /usr/bin/loginfix.sh
defaults write com.apple.loginwindow LoginHook /usr/bin/loginfix.sh

Wednesday, March 7 2012

Dear Apple,

QA. Look into it. Then perhaps you’ll learn about things like “iTunes 10.6 can’t see my iPhone 4S” before you release. There’s not a lot I can do about usbmuxd core-dumping.

The key error seems to be when you start up the new iTunes:

3/7/12 4:34:18 PM	iTunes[10876]	_SubscribeForMuxNotifications (thread 0xb081b000): USBMuxListenerCreate: Connection refused

[Update: you have to reboot your machine to get it to work. Nice.]

Thursday, March 8 2012

Apple’s attempt to kill the Kindle backfires

Oops. Seems the Department of Justice doesn’t care for price-fixing and collusion, even when you put lipstick on it and call it the “agency model”.

Of course, it’s hard to take publishing spokesmen seriously when they claim that the physical printing costs were never a significant part of the cost to make a book, when they start selling e-books of thirty-year-old SF novels at the same price as new releases. (hint: some of us know how much work is actually involved in scanning, OCRing, and proofreading an old paperback)

Friday, March 9 2012

iPhoto for iPad still not for me

When the iPad first came out, I answered Jeff’s question by describing the killer app that would get me excited about it as a tool and not just a toy. The newly-launched iPhoto for iPad is not that app (emphasis added):

When you import a RAW image to your iPad, iPhoto will display only the JPEG version of the image embedded in the RAW file. When editing a RAW image in iPhoto, the edits are derived from the embedded JPEG, and saved in JPEG format.



If you import RAW+JPEG images, iPhoto will display and export the JPEG version.

The JPEG embedded in most RAW files is a tiny little thumbnail, so this is pretty useless. It detects RAW+JPEG, which is nice, but any edits you make are to the JPEG version, and you can’t replay them against the higher-quality image once you’re on a real computer.

So, great for casual users or for serious photographers who just want to dink around on throwaway images, but don’t waste your time copying RAWs to it. You can play with your JPEGS on the road, but leave the good stuff on the memory cards until you get back to a computer.

Wednesday, April 11 2012

E-book price-fixing, continued

The publishers are not looking good here, and in fact are looking exactly like corrupt racketeers. I love the quote from Steve Jobs:

“you set the price, and we get our 30 percent, and yes, the customer pays a little more, but that’s what you want anyway”

And that’s just the tip of the iceberg; lots of juicy quotes, and the DoJ is serious enough to have acquired the various CEOs’ phone records. Even without this investigation, though, the publishers are screwed in the long run, and they deserve to be. They think they’re pushing back at an uppity online discount bookstore, and have failed to notice that Amazon is not only far more popular than they are, but has become the best place to shop for damn near anything.

Where else can you get two-day free shipping for polearms, diesel generators, gym-grade fitness equipment, gourmet foods, and fishing boats? I was honestly surprised to find that they’re not selling cars and motorcycles yet, but that’s probably just because the red tape for title transfers is too much of a hassle to navigate.

Monday, July 30 2012

Epoch Incantations

Calculate the offset required to convert from Mac OS X Core Data timestamps to Unix timestamps.

date -uj 010100002001 +%s

Better than just saying “add 978307200” or “add 11323 * 86400”.

Tuesday, August 28 2012

Dear Apple,

Maybe you should Think a little less Different, and put some checkout counters back in your stores. Then perhaps you wouldn’t need to have undercover security constantly scanning the crowd for incomplete PoS transactions that may or may not be shoplifting.

Arresting a customer because you can’t manage basic retail sales technology is not the work of a Genius.

Thursday, September 20 2012

Apple’s QA department: the customer

As usual for a new release, Apple is demonstrating how not to do QA. This time the results are more hilarious than crippling, since they made a huge fuss about dumping Google Maps for their own solution, “the most beautiful, powerful mapping service ever”.

Yeah, about that…

Wednesday, October 24 2012

Dear Apple,

Apparently no one told you that cellular bandwidth isn’t free and unlimited. Perhaps they thought you already knew, what with this being the sixth major release of your phone OS.

Monday, November 26 2012

Dear Apple,

Long strings of digits pasted into the Notes app on an iPhone are not necessarily phone numbers. Do not immediately start autodialing when I select them. That’s fucking stupid.

In this specific case, they were product serial numbers pasted from a barcode scanning app (of which the only useful one appears to be ZBar; all the rest auto-search shopping web sites and refuse to just give you the contents of the goddamn barcode).

Tuesday, January 15 2013

Dear Apple,

Why is it that when I have a block of text selected, and I wish to drag it somewhere, that you insist on having me click on a pixel that’s part of one of the characters in the selection. Not “inside the bounding box”, not “inside the enclosed area”, but actually “on a pixel whose color was set by drawing the character”, so that with black text on a white background, only the black pixels count. And not just for dragging a block of text around, but for dragging a dozen messages to another folder in Mail.app, etc.

I’ve been fighting it for years, but the simple shapes and bold strokes of the latin alphabet are fairly easy targets, so it used to be a minor nuisance. But with kanji, it’s a real pain in the ass. Well over half the time, when I try to sort email with kanji senders and subject lines, attempting the “drag to folder” action will instead result in the “extend selection range” action. Dumb, dumb, dumb.

Ordinarily, I’d expect that the lessons learned working with the crude accuracy of poking an iPhone with a finger would have taught you something about requiring excessive precision in selection, but I’ve actually used an iPhone, so I know you haven’t figured it out there, either.

Friday, June 14 2013

iOS7 UI: designed by 20-year-olds with 20/20 vision

The quick side-by-side images here (note that the third image has the new crap on the left instead of the right) suggest that Apple has thrown out everything they might ever have known about accessibility. Tiny! Gray! Low-saturation! Low-contrast! The weather image is particularly hilarious, with the ever-so-thin white font on a light background.

Not that the old one was any great shakes when it came to font size, contrast, and color-deficiency-awareness, but they thought this was good enough to show off to the world, so it’s unlikely they’re going to make drastic changes before release.

Thursday, August 15 2013

For future reference…

…the black cable controls fan speed. I’ll need this information again soon.

Wednesday, September 18 2013

iOS7 still a mess

[Update: iOS7 UI errors tumblr; looks like shooting fish in a barrel.]

Most significant line in the Ars Technica review of iOS7:

Nothing is ever illegible, but you may run into mild readability issues that didn’t exist in iOS 6.

The screenshots show that they really don’t care about people with less-than-perfect vision. The spidery little Helvetica Neue text looks gray even when it’s white, and actually setting it in gray is even worse. The fact that they had to add a semi-hidden “bold text” option really reinforces the impression that they’re slaves to a design methodology that didn’t stand up to user testing.

And be sure to check out the “animation durations” video clip on page 3; yes, major interactions with the device will take longer because the designers want you to see what they did to keep the OS from running on older hardware.

Okay, there is a more significant line in the review, if you have an iPhone 5:

Our Verizon iPhone 5 running iOS 7 burns through its battery more than three hours faster than the exact same phone performing the exact same test with the exact same settings under iOS 6.

All devices get worse battery life thanks to Apple’s new design, but only the just-replaced model sucks so horribly that there’s sure to be a major patch coming soon.

Wednesday, October 1 2014

Stylish, Well-Engineered, Reliable

Pick two. Or, if you’re feeling less charitable toward Apple, one.

“Just today: My iPhone 6 rebooted after I changed the home screen wallpaper. Tapped a new image in the wallpaper settings, and poof, it rebooted. Worse, it never stopped rebooting. Endless reboot cycle. Now I’m doing a full restore with iTunes. After changing my wallpaper to a different image.”

(of course, anyone who buys brand-new Apple designs on launch day is playing with fire in a fireworks factory…)

(not that anyone else’s first shipment of new stuff is necessarily glitch-free, but Apple does seem to be particularly bad at it sometimes)

Update: I followed the link from the article I linked, and while reading it… Safari crashed.