Microsoft

Dear Microsoft,


It’s annoying to have to configure each Office 2007 application for each user on each machine to save in an Office 2003-compatible format by default.

It’s fucking stupid to randomly ignore that option once I’ve gone to the trouble to set it. I have non-stupid users whose documents are ending up in the new 2007 formats through no fault of their own, which means I now have to run around manually installing the compatibility update on everyone else’s machines. Gosh, thanks.

PS: any chance you’ll include this as a normal Office update someday? You know, so that the users who actually apply downloaded updates will get it without me walking up to their machines with a flash drive?

PPS: please release the Mac converters soon…

If Windows Update just broke your PCs...


…here’s the hotfix. The symptom is an “Illegal System DLL Relocation” dialog and one or more drivers that fail to load. It affects a number of third-party applications, although the hotfix page currently only mentions one. Fortunately, that was the one that bit me, and it does indeed fix the problem.

Buying Windows laptops for work...


Rory has ranted a bit about our recent laptop troubles. After giving up on those two companies, and not being able to fit ThinkPads into the budget, we looked for an alternative. These days, we’re also constrained by the desire to avoid becoming a mixed XP/Vista shop, so I went to the vendor who likes us the most, PC Connection, and sorted through their offerings.

The first “fix me now” user really, really wanted a lightweight machine, and had a strong affection for Bluetooth, so we bought him a Sony VAIO SZ340P and bumped the memory to 1.5GB. He loves it, and I was pretty pleased with the out-of-the-box experience as well (including their new packaging). There are only three real problems: it takes half an hour and three reboots to delete all of the crapware that’s preinstalled, you have to spend an hour burning recovery DVDs because they don’t ship media, and the default screensaver plays obnoxious music on a short loop.

The second user liked the SZ340P, but wanted something even lighter, so we bought her the SZ360P. It’s a quarter-pound lighter, uses the same docking station (which ships without its own power supply, but uses the same one as the laptop), and is also a really nice machine.

The downside of 4-pound laptops is they’re not as sturdy, so for the next four new-hires in line, I looked for something a little bigger, and ended up choosing the BX640P, with RAM bumped to 2GB. Different docking station (nicer, actually, with room for an optical drive and a spare battery to keep charged), different set of crapware, and not a widescreen display, but a better keyboard and a sturdier feel, and I’m equally pleased with its performance.

The only serious negative: it looks like the BX series will be discontinued, so when they run out and I need to start buying Vista machines, I’ll have to switch series. At the moment, I’m leaning a little toward the FE890 series, but PC Connection doesn’t stock the full range yet, so I can’t get the CPU/RAM/disk combination I want. With luck I can put that off for a few months, though.

With the previous brand, 2 of five had video and wireless problems. The five VAIOs I’ve set up so far have been rock-solid, and I expect the same from the other three that just arrived.

Sadly, while we’ll be able to put off the Vista migration for a little while (hopefully until Juniper gets their VPN client working…), Microsoft Office 2003 is a dead product, and starting Monday we’ll have users running 2007. On each user’s machine, I have to open up each Office application as that user, click the unobtrusive button that looks like a window decoration, click on the “{Word,Excel,PowerPoint} Options” button, select the Save tab, and set the “Save files in this format” option to use the Office 97-2003 format. Or else.

[Update: Actually, if you like ThinkPads and you’re willing to buy them right now, PC Connection has some nice clearance deals. If we were a bigger company, I might find the “buy 15, get one free” deal attractive…]

[4/17/2007 update: okay, one of the Sony BX laptops just lost its motherboard, after locking up at random intervals over a week or two. That still leaves 9/10 good ones, which is better than we got with Dell and Alienware.]

Dear Microsoft,


Contrary to your claim, most web sites do not in fact explicitly specify their language setting in a fashion compatible with your auto-detection.

For instance, my site is carefully specified as UTF-8, and occasionally contains some Japanese text. Once someone activates the Windows features that let them see Asian scripts at all, IE renders the kanji on my site in a Simplified Chinese font, and the kana in a Japanese font, unless the first font in the CSS font-family list contains all of the characters used on the page.

Most browsers will fail over to the alternative font-family you’ve specified, but not IE. It goes straight to the options set in the Font menu in Internet Options. And it looks like crap.

Unfortunately, the latin alphabets in most kanji fonts are significantly less readable online than Verdana and Georgia, and the Simplified Chinese fonts not only don’t look good alongside them, they might be the wrong character entirely. That’s why CSS is supposed to do this sort of thing for you in the first place.

Why start poking at this problem now? Two reasons: first, I have Vista running on my MacBook to test it out for corporate deployment. Second, Vista is finally capable of anti-aliasing (some) kanji fonts, and they supply a very screen-readable Japanese Gothic font called Meiryo (also available in Office 2007, apparently). I’d like to have Meiryo used to render kanji and kana on any machine that has it installed, but continue using Verdana and Georgia for everything else. Safari and Firefox, yes; IE, not a chance.

And here I was all set to say something nice about IE7 for a change, after I discovered that the new page zoom feature actually does The Right Thing, scaling the entire page layout up with high-quality font rendering. The wrong fonts, but nicely rendered!

[Firefox’s font rendering quality is crap, but it’s consistent cross-platform crap, so I suppose that’s okay]

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

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.

If IE was pronounced "aiyee!"...


…is WIE pronounced “whyyyyyyy?”?

Quick notes based on running the new IE7 under Parallels on my Mac:

  1. It appears that if you accept the default anti-phishing behavior, a record of every new website you visit is sent to Microsoft, omitting only the arguments passed to CGI scripts. "Sanitized for your protection," of course, but my, what a powerful market-research tool you've got there, Grandma.
  2. It finally supports transparency in PNG images, so the logo for my blog renders correctly for the first time.
  3. It still constructs phony italics for fonts that not only don't have them, but shouldn't (cf. the Japanese song titles in my sidebar).
  4. That stupid little print/view/save/molest toolbar no longer pops up on every image in your browser.
  5. Still no support for :hover styles in CSS.

More later, if I find a reason to care…

[Update: The WIE team claims that :hover now works, but I can’t seem to set background-color with it. Eh, “standardization; who needs it?”]

[Update: Ah, it’s not that :hover doesn’t work, it’s that some CSS changes don’t get noticed by the renderer. I’ve been playing with jquery recently to improve on my pop-up furigana-izer, and using JavaScript to add a new CSS class to a SPAN doesn’t do the right thing, either; in IE 6 & 7, I have to explicitly add the background color to each object.]

They still don't get it...


[last update: the root cause of the Linux loopback device problem described below turns out to be simple: there’s no locking in the code that selects a free loop device. So it doesn’t matter whether you use mount or losetup, and it doesn’t matter how many loop devices you configure; if you try to allocate two at once, one of them will likely fail.]

Panel discussions at LinuxWorld (emphasis mine):

"We need to make compromises to do full multimedia capabilities like running on iPod so that non-technical users don’t dismiss us out of hand."

"We need to pay a lot more attention to the emerging markets; there’s an awful lot happening there."

But to truly popularize Linux, proponents will have to help push word of the operating system to users, panelists said.

... at least one proponent felt the Linux desktop movement needed more evangelism.

Jon “Maddog” Hall, executive director of Linux International, said each LinuxWorld attendee should make it a point to get at least two Windows users to the conference next year...

I’m sorry, but this is all bullshit. These guys are popping stiffies over an alleged opportunity to unseat Windows because of the delays in Vista, and not one of them seems to be interested in sitting down and making Linux work.

Not work if you have a friend help you install it, not work until the next release, not work with three applications and six games, not work because you can fix it yourself, not work if you can find the driver you need and it’s mostly stable, not work if you download the optional packages that allow it to play MP3s and DVDs, and definitely not work if you don’t need documentation. Just work.

[disclaimer: I get paid to run a farm of servers running a mix of RedHat 7.3 and Fedora Core 2/4/5. The machine hosting this blog runs on OpenBSD, but I’m toying with the idea of installing a minimal Ubuntu and a copy of VMware Server to virtualize the different domains I host. The only reason the base OS will be Linux is because that’s what VMware runs on. But that’s servers; my desktop is a Mac.]

Despite all the ways that Windows sucks, it works. Despite all the ways that Linux has improved over the years, and despite the very real ways that it’s better than Windows, it often doesn’t. Because, at the end of the day, somebody gets paid to make Windows work. Paid to write documentation. Paid to fill a room with random crappy hardware and spend thousands of hours installing, upgrading, using, breaking, and repairing Windows installations.

Open Source is the land of low-hanging fruit. Thousands of people are eager to do the easy stuff, for free or for fun. Very few are willing to write real documentation. Very few are willing to sit in a room and follow someone else’s documentation step-by-step, again and again, making sure that it’s clear, correct, and complete. Very few are interested in, or good at, ongoing maintenance. Or debugging thorny problems.

For instance, did you know that loopback mounts aren’t reliable? We have an automated process that creates EXT2 file system images, loopback-mounts them, fills them with data, and unmounts them. This happens approximately 24 times per day on each of 20 build machines, five days a week, every week. About twice a month it fails, with the following error: “ioctl: LOOP_SET_FD: Device or resource busy”.

Want to know why? Because mount -o loop is an unsupported method of setting up loop devices. It’s the only one you’ll ever see anyone use in their documentation, books, and shell scripts, but it doesn’t actually work. You’re supposed to do this:

LOOP=`losetup -f`
losetup $LOOP myimage
mount -t ext2 $LOOP /mnt
...
umount /mnt
losetup -d $LOOP

If you’re foolish enough to follow the documentation, eventually you’ll simply run out of free loop devices, no matter how many you have. When that happens, the mount point you tried to use will never work again with a loopback mount; you have to delete the directory and recreate it. Or reboot. Or sacrifice a chicken to the kernel gods.

Why support the mount interface if it isn’t reliable? Why not get rid of it, fix it, or at least document the problems somewhere other than, well, here?

[update: the root of our problem with letting the Linux mount command auto-allocate loopback devices may be that the umount command isn’t reliably freeing them without the -d option; it usually does so, but may be failing under load. I can’t test that right now, with everything covered in bubble-wrap in another state, but it’s worth a shot.]

[update: no, the -d option has nothing to do with it; I knocked together a quick test script, ran it in parallel N-1 times (where N was the total number of available loop devices), and about one run in three, I got the dreaded “ioctl: LOOP_SET_FD: Device or resource busy” error on the mount, even if losetup -a showed plenty of free loop devices.]

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