Lost Morning

Wednesday, February 28th, 2007

Bleah. Another morning lost to a misbehaving PowerMac G5. Yesterday I decided to move from the partition that was giving me trouble to the other disk. (Luckily I have two.) However the migration assistant froze with “22 minutes left” for several hours. Apparently some large Warcraft files were giving it trouble. I eventually forced the migration assistant to quit, but that left me with a corrupted and unbootable second drive. The Mac was not smart enough to notice this and boot from the first drive instead. It just kept kernel panicking in the boot process. I had to boot from the Tiger DVD manually, erase the disk, and reinstall the OS.

Memo to software developers everywhere: test your programs with multi-gigabyte files and make sure they still work. These are more common than you think, and include movies, archives, disk images, games, databases, e-mail inboxes, and a lot more. Lately I’ve noticed a lot of programs getting hung up on gigabyte+ files. In 2007, pretty much all software should handle files up to about a terabyte without blinking, and software with high robustness requirements such as operating system utilities, backup software, disk recovery utilities, and anything that runs a nuclear power plant should probably be good to a petabyte or more, just for safety’s sake.

One other detail: I’ve done a lot of Tiger reinstalls lately and for all Apple’s vaunted ease of use (still much better than Linux installs certainly) it could easily cut at least three steps from the install process. I’m referring, of course, to the places where it asks you for lots of personal information, asks to spam you, and tries to sell you .Mac. Even if Apple insists on this for new users, couldn’t they at least notice that my Mac already has several installed partitions and not ask me for this for the umpteenth time? Should I really have to turn off my router when installing to keep my Mac from spying on me and reporting that information back to Big Brother Steve?

Support the Troops

Tuesday, February 27th, 2007

Validation Tools

Monday, February 26th, 2007

What tools are people using to validate their web pages? In Refactoring HTML so far I’m writing about four, somewhat related tools:

Anything else worthy of mention? In particular, is there anything significantly different enough from these four that it deserves to be called out separately? Or is there anything better that should replace one of these options? (This is a relatively small book, and I am trying very hard not to cover absolutely every possibility and option.) Open source tools are strongly preferred.

#367: Red-Necked Grebe

Sunday, February 25th, 2007

Prospect Lake attracts a lot of interesting waterfowl in the winter, including two recent Northern Pintails, so I thought I’d take a quick spin around the lake today after lunch and see what I could see. I thought maybe I’d get a Scaup, Redhead, Canvasback, or even a Eurasian Wigeon; but I was not expecting a life bird. However, there it was. A Red-necked Grebe. I’ve managed to miss this bird on multiple trips where either it was expected or other people saw it but not me, so it was especially nice to pick it up in my backyard. It’s my first Prospect Park lifer for the year.

PDF Killed the Programming Language

Sunday, February 25th, 2007

It’s a slow Sunday morning so I was going to browse around a new language I’d been hearing rumors of, and maybe send them a little link love if I liked what I saw. However it seems all their tutorials, manuals, white papers, and almost everything else are in PDF. Yuck. Not worth my time.

They’re complaining that they can’t get any thought leaders to pay attention to them. If they insist on publishing on the Web in a format designed for paper books, it’s no wonder no one has noticed them. Write back when you start noticing this little thing called HTML, guys. I’ve got a feeling it’s going to be big one of these days.

XQuery on Rails

Saturday, February 24th, 2007

Rails (and similar frameworks like Seam, Grails, etc.) work by inspecting database schemas and dynamically generating code at runtime. They implicitly assume a SQL database, which isn’t really a good fit for most publishing applications. Sure you can slice and dice documents enough to force them into tables, but it’s a lot like pounding screws into set concrete with hammers.

Many publishing applications, especially generic systems like Wikis, content management systems, and blog engines, would be better served by a native XML database and XQuery; e.g. eXist instead of MySQL. What would a Rails-like system look like in this environment? What would the conventions (instead of configurations) be?