Wednesday, September 27, 2006

John Hodgman, My Hero

Go read this interview with John Hodgman, and then go watch his bits from The Daily Show, especially Net Neutrality, White Minority, and Bush's Tax Cuts.

UPDATE: I forgot to add Hodgman's blog. So there it is.

Sunday, September 10, 2006

Favorite Fantasy Books

A friend asked me for my list of Important SF Books. I posted one last week.

Which of course, means that I need to post a list of Important or just Favorite fantasy books.

To quote from the SF books post:

Note: this is a list that skips lots of things; this is my list, after all, and I may well have missed something in my scan of my bookshelves (I reserve the right to add things later!). While I think that all of these are Important, these are also ones I enjoy, so there are other Important books I did not include. Some of these were historically important but are dreadful to read now, or which I wouldn't want to re-read.

I'll leave the hair-splitting to others about what SF and Fantasy are, and where their boundaries lie. I include some Horror here, and put some "steampunk" (like China Miéville's stuff) here, but you should feel free to disagree with me on that one.

  • The Prydain books (The Book of Three, The Black Cauldron, etc.) by Lloyd Alexander. Based on Welsh mythology, these are wonderful young adult fantasy novels.
  • The Vlad Taltos/Dragaera books (Jhereg, Yendi, Teckla, etc.) by Stephen Brust. Wonderful Zelazny-esque swashbuckling adventure; watch out for Teckla (book 3), though -- it's a real downer.
  • The Curse of Chalion and Paladin of Souls by Lois McMaster Bujold. Wonderful epic fantasy in a highly believable world.
  • Hart's Hope by Orson Scott Card. Highly original fantasy, one of his early books, before he went 'round the bend.
  • Little, Big by John Crowley. One of the best novels ever.
  • Magician (in two volumes, Magician: Apprentice and Magician: Master) by Raymond E. Feist. Light epic fantasy set in a highly derivative world, but entertaining and well-executed.
  • Neverwhere by Neil Gaiman. His first prose novel, adapted from his BBC series. A bit rough but very entertaining.
  • Sandman by Neil Gaiman (and many artists). The classic 10-volume (plus) graphic novel. If you haven't read this, get your hands on a copy.
  • Dragonsbane by Barbara Hambly. Possibly the best standalone novel of epic fantasy ever. Realistic, poignant, and lyrical. Ignore the sequels.
  • Those Who Hunt the Night by Barbara Hambly. One of the best vampire novels around. It's 1905 and someone is hunting the vampires of London; they recruit a human to help them.
  • The Thread Which Binds the Bones by Nina Kiriki Hoffman. Her wonderful debut novel of Powers and Principalities in a small community in the Oregon woods.
  • A Red Heart of Memories and Past the Size of Dreaming by Nina Kiriki Hoffman. A pair of entertaining novels about people finding magic in unexpected places.
  • The Lions of Al-Rassan by Guy Gavriel Kay. This one follows a number of characters through the Reconquista of an alternate-historical Moorish Spain.
  • The Last Light of the Sun by Guy Gavriel Kay. Set the same world as Al-Rassan, but dealing with that world's Vikings and early Britons.
  • The Deryni books by Katherine Kurtz. The Deryni Chronicles trilogy and the Histories of King Kelson trilogy are the best; the (chronologically) earlier ones are quite depressing.
  • Swordspoint by Ellen Kushner. Billed as a "Melodrama of Manners", it includes no magic, but plenty of intrigue and buckling of swash.
  • Thomas the Rhymer by Ellen Kushner. A fine rendering of the classic ballad into novel form.
  • A Wizard of Earthsea by Ursula K. LeGuin. This one is entertaining; the sequels I found boring. Your mileage may vary.
  • The Fafhrd and the Gray Mouser series by Fritz Leiber. Wonderful swashbuckling adventure. These vary from short stories to full novels. They are collected in various ways, but usually as six novel-length collections whose names start with Swords. (There is a seventh, but ignore it.)
  • The Forgotten Beasts of Eld by Patricia A. McKillip. A debut fantasy novel by a major talent, it has aged very well. Marketed as a young adult fantasy novel, but it's quite intense in places.
  • The Riddlemaster books (The Riddlemaster of Hed, Heir of Sea and Fire, and Harpist in the Wind) by Patricia A. McKillip. Truly fantastic books; I re-read these yearly.
  • The Sorceress and the Cygnet by Patricia A. McKillip. More elliptical and lyrical than the Riddlemaster books, but masterful world-weaving.
  • Perdido Street Station by China Miéville. A stunning, epic, sprawling, steampunk debut novel.
  • The Scar by China Miéville. A sequel of sorts to Perdido Street Station, it's more tightly plotted and just as fascinating.
  • The His Dark Materials books (The Golden Compass, The Subtle Knife, and The Amber Spyglass) by Phillip Pullman. Serious fantasy about (but arguably not for) young adults. The series title comes from Paradise Lost, which should give you a sense of where this is going.
  • The White Mists of Power by Kristine Kathryn Rusch. A very fine debut novel by someone whose prolific output (in my opinion) has not lived up to her potential.
  • Song of Kali by Dan Simmons. Simmons' debut novel. It's scary and scarily well written.
  • Summer of Night by Dan Simmons. A horror novel in the Stephen King vein -- definitely not something to read alone in a dark house.
  • The Iron Dragon's Daughter by Michael Swanwick. An fine example of "steampunk" fantasy about a human changeling child raised in a fantasy world where dragons are manufactured.
  • The Lord of the Rings by J.R.R. Tolkien. Because it has to be here, and you can't see just how much dreck that gets published is ripping him off until you read it.
  • The Chronicles of Amber (Nine Princes in Amber, etc.) by Roger Zelazny. A classic in the field. (Skip the sequel series.)
  • A Night in the Lonesome October by Roger Zelazny. His last novel (and one of his best). It is narrated by Snuff, the guard dog for a cursed man called Jack. They encounter Dracula, The Wolf Man, a witch, Dr. Frankenstein, Sherlock Holmes, and others, while competing for a mystical prize.

Anyone looking for good books to start on should look at the World Fantasy Awards or the Mythopoeic Fantasy Awards.


UPDATE: Edited the Prydain entry to be clearer. (Hi, Colorwheel. :-))
UPDATE: I'd like to add The Once and Future King by T.H. White, and The Princess Bride, by William Goldman. (Thanks go to someone who shall remain nameless, but who knows who he is.)

Wednesday, September 06, 2006

ABC: Bush Collaborators

The ABC "Docudrama" (note, not a documentary) about 9/11 just gets worse and worse the more we hear about it. As related here, even people who've worked for Bush are calling bullshit.

The thing that really burns me about this is that the RoviansRepublicans are getting away with this, after spending months in 1998 blaming Clinton for "wagging the dog" by attacking al Qaeda camps in Afghanistan, ostensibly to divert attention from the Monica Lewinsky scandal.

I want to see one Republican (or hell, one Democrat) stand up and say publically "I was wrong to criticize President Clinton about that".

Tuesday, September 05, 2006

My List of Important (or just Favorite) SF

A friend (you know who you are -- hi!) asked me for my list of Important SF Books. So here it is.

Note: this is a list that skips lots of things; this is my list, after all, and I may well have missed something in my scan of my bookshelves (I reserve the right to add things later!). While I think that all of these are Important, these are also ones I enjoy, so there are other Important books I did not include. Some of these were historically important but are dreadful to read now, or which I wouldn't want to re-read.

Also: there is no fantasy in this list; I'll do that later. (I'll leave the hair-splitting to others about what SF and Fantasy are, and where their boundaries lie. To quote my wife, "I know what I mean.")

  • The Hitchhiker's Guide to the Galaxy (and next two sequels) by Douglas Adams. Best SF comedy ever.
  • The Foundation Trilogy by Isaac Asimov. The classic Galactic Empire story.
  • Nine Tomorrows by Isaac Asimov (collection) -- some of the Good Doctor's best stories.
  • Consider Phlebas by Iain M. Banks (and the rest of the Culture series). Recent British New Space Opera. Fantastic stuff.
  • The Demolished Man by Alfred Bester. The classic text. See why Alfred Bester got a Psi-Cop named after him in Babylon 5.
  • The Stars, My Destination by Alfred Bester. Another classic novel.
  • Startide Rising by David Brin. What if humans genetically engineered dolphins to drive starships?
  • The River of Time by David Brin (collection). Brin, like many SF writers, is a scientist who writes great short storires.
  • Otherness by David Brin (collection)
  • Stand on Zanzibar by John Brunner. A classic of the near-future sub-genre. A fascinating glimpse of what the future meant in 1968, when it was published.
  • Shards of Honor and Barrayar by Lois McMaster Bujold. The beginning of the Vorkosigan books. Wonderful stuff.
  • The Vorkosigan series by Lois McMaster Bujold. Grand and witty space opera.
  • Falcon by Emma Bull. A great twist on the superhero canon.
  • Ender's Game by Orson Scott Card. Another classic, compulsively readable. Skip the sequels.
  • Downbelow Station by C.J. Cherryh. A major novel, the beginning of Cherryh's Merchanter series
  • Heavy Time and Hellburner by C.J. Cherryh. Set in the same universe as Downbelow Station, but on the other side of the war.
  • The Pride of Chanur, and its sequels, by C.J. Cherryh. Some of the best aliens in all SF.
  • Serpent's Reach by C.J. Cherryh. Hard to describe, but well worth it.
  • Stories of Your Life by Ted Chiang (collection). Nine stories, each of them a polished gem. Highly recommmended.
  • Quarantine by Greg Egan. Quantum Mechanics and a mental patient who can walk through doors go together how?
  • Permutation City by Greg Egan. Absolutely brilliant exploration of what it means to live inside a computer.
  • Axiomatic by Greg Egan (collection). People interested in the Philosophy of Mind love this stuff.
  • Luminous by Greg Egan (collection). More fantastic stuff.
  • Strange Wine by Harlan Ellison (collection). One of Ellison's best collections. Includes "Jeffty is Five".
  • Alone Against Tomorrow by Harlan Ellison (collection). Slice of the best of 1970s New Wave SF.
  • Approaching Oblivion by Harlan Ellison (collection). Slice of the best of late 1960s New Wave SF.
  • Deathbird Stories by Harlan Ellison (collection). Possibly Ellison's masterwork.
  • The Unreasoning Mask by Philip Jose Farmer. A crazed romp through the Pluriverse.
  • Jumper by Steven Gould. A "young-adult" novel which takes the hoary SF trope of teleportation and rings the changes on it wonderfully.
  • Wildside by Steven Gould. Another great trope revival: what if you found a door to another world?
  • The Forever War by Joe Haldeman. Published in 1975 by Vietnam Vet Haldeman, it's one generation's defintive SF war novel.
  • The Moon is a Harsh Mistress by Robert A. Heinlein. Possibly the best of Heinlein's novels.
  • Starship Troopers by Robert A. Heinlein. An earlier generation's definitive SF war novel, but also a meditation on citizenship.
  • The Past Through Tomorrow by Robert A. Heinlein (collection). A collection of most of Heinlein's best stories.
  • Voyage from Yesteryear by James P. Hogan. A fun romp through colliding cultures.
  • The Dispossessed by Ursula K. LeGuin. A classic cultural/political SF novel.
  • Learning the World by Ken MacLeod. Another of the British New Space Opera novelists, working at top form.
  • Lucifer's Hammer by Larry Niven and Jerry Pournelle. The end-of-the-world novel.
  • The Mote in God's Eye by Larry Niven and Jerry Pournelle. One of the best First Contact SF novels ever.
  • The Getaway Special by Jerry Oltion. What happens when someone invents the Star Drive?
  • Gateway by Frederik Pohl. The classic (and Hugo/Nebula award-winning) psychological SF novel.
  • Revelation Space by Alastair Reynolds. The blazing debut of one of the British New Space Opera's brightest stars.
  • Chasm City by Alastair Reynolds. A semi-sequel to Revelation Space, highly political, and fairly disturbing.
  • Redemption Ark by Alastair Reynolds. The direct sequel to Revelation Space.
  • Hyperion and The Fall of Hyperion by Dan Simmons. Literary SF at its best.
  • The Rediscovery of Man by Cordwainer Smith (collection). 1950s and 1960s SF that is as compelling (and off the beaten track) now as it was then.
  • The Science Fiction Hall of Fame, Volumes I, IIa, and IIb edited by Robert Silverberg (anthology, picked by the SF Writers of America). The place to start for Golden Age SF.
  • Snow Crash by Neal Stephenson. Stephenson's Big Book.
  • The Big U by Neal Stephenson. An early novel, which holds up remarkably well.
  • More than Human by Theodore Sturgeon. Sturgeon's masterwork.
  • The Golden Helix by Theodore Sturgeon (collection). Some of Sturgeon's best stories.
  • Sturgeon is Alive and Well... by Theodore Sturgeon (collection). Many of Sturgeon's other best stories.
  • Millenium by John Varley. A romping time-travel novel told in intertwining first person narratives. One of my absolute favorites.
  • Titan (+ sequels) by John Varley. Great, solid, world-building SF.
  • A Fire Upon the Deep by Vernor Vinge. A huge, sprawling, epic, Hugo-winning novel.
  • A Deepness in the Sky by Vernor Vinge. A prequel to A Fire Upon the Deep, tighter but nearly as epic.
  • Infinite Jest by David Foster Wallace. Yes, this is SF, although no mainstream reviewer noticed. It's brilliant, but not to everyone's taste.
  • Fire Watch by Connie Willis (collection). Connie Willis' first collection. Some of these stories are very dark, but they're all brilliant.
  • Impossible Things by Connie Willis (collection). Lighter than Fire Watch, but no less brilliant.
  • Doomsday Book by Connie Willis. An amazing novel. Warning: Black Plague.
  • To Say Nothing of the Dog by Connie Willis. A much lighter novel set in the same world as Doomsday Book
  • Lord of Light by Roger Zelazny. Zelazny's SF masterwork, set on a world where a starship crew set themselves up as gods of the Hindu Pantheon, ruling over the colonists.
  • Eye of Cat by Roger Zelazny. The last Navajo tracker is recruited to foil an interstellar assassination, and sets in motion an amazing story.
  • Doorways in the Sand by Roger Zelazny. A smart-ass "perpetual student" in year 13 of University gets tangled up with interstellar intrigue.
  • The Last Defender of Camelot by Roger Zelazny (collection). Some of Zelazny's best stories.
  • The Doors of His Face, the Lamps of His Mouth by Roger Zelazny (collection). Most of Zelazny's other best stories.

Anyone looking for good books to start on should look at the Hugo and Nebula Award winners.

Updates:

  • China Mountain Zhang, by Maureen McHugh. A wonderful debut novel.

Software Interoperability, Hardware, and Next Year's Model

I was reading Standards and specs: Not by UNIX alone, which is a nice article on Unix software development. It made me pull out an older rant of mine and polish it up for this blog.


Software companies build a fundamentally different thing from hardware companies.

To most people, this is so obvious that it shouldn't even need to be stated. In the obvious ways, Most People are right. But there are non-obvious ways in which this is importantly true.

Toyota or Ford don't actually have to make next year's models "interoperate" with this year's models. I'm not even sure what "interoperate" would mean in the context of cars, beyond "they have to use some version of unleaded gas, and be able to fit on the roads, park in garages (I'm talking to you, Ford Excursion) and have the same user interface -- steering wheel, accelerator & brake pedals, etc.".

Auto companies can make everything else about their cars change from year to year.

They don't, of course -- there are strong rewards to not changing too much too fast, and for sharing ("conserving", in the genetic sense) parts within a product line -- both temporally (last year's model and this year's model have a lot of the same parts) and organizationally (our luxury model uses most of the same parts as the base model). But if someone wanted to radically change their engine without touching their car body or interior at all, they could. In fact, that's basically what Honda did with their Hybrid Civic. Looks just like every other Civic on the road, except for the little "Hybrid" sigil on the back.

In the same way, computer companies could radically re-engineer their hardware (motherboards, peripherals, CPUs) as long as they look the same to the rest of the world (e.g. programs). This is what Intel and AMD do every time they bring out a new product line. (Well, these days. The 286 to 386 jump was a doozy.)

But software? Software is a totally different thing. It has to interoperate. The lateral interoperation (between co-existing hardware) isn't that important to some software producers -- Microsoft deliberately engineers incompatibilities all over the place to keep the Mac a second-class computer -- but temporal interoperation, that's a big one. The Office 95/97 incompatibilities burned Microsoft pretty badly, although they'll never admit it.

This is arguably the defining distinction between the Unix and Microsoft worlds.

Most Unixes are built, maintained, and pushed forward by one of two groups:

  • Software engineers who work for hardware companies, and whose job is to build a great OS which can help ship more hardware units. I'm mostly thinking about Sun here, but most other Unix vendors were in this camp: HP, SGI, DEC, etc. And Apple is now in this group with OS X being Unix underneath.
  • Hobbyists: Linux and the BSD bestiary. These folks are not tied to any particular hardware, usually. These follow the original Unix in the way they're developed: by the people who use it, for the people who use it, and not directly for money.

Microsoft is a (relatively) hardware-agnostic software-only company (notwithstanding the Xbox or the Microsoft Mouse or Keyboard). Windows runs on most Intel x86 hardware.

Guess which set of software producers has sold the most incompatible versions of software?

Okay, that's a no brainer.

Apple navigated the 680x0 to PowerPC migration in the early 1990s quite well; I'm sure they'll handle the PowerPC to Intel migration just as well. Stuff will Just Work -- on expensive Apple-only Macs, but it'll Just Work. Mostly.

Unix is a weird case for a lot of people, I think. I remember doing a Sun 3.7 to 4.0.1 OS migration, which also involved a 68020 to SPARC 1 hardware migration at the same time. We had specialized video capture hardware to deal with, including all sorts of special code to drive it. We simply recompiled everything, and except for a few little things, it all Just Worked. Try that going from Windows 3.1 to Windows 95, or 95 to NT.

There are programs written in the early 1980s which would compile directly on any modern Unix these days. They might need a little tweaking for header files or libraries, but they'd Just Work. A lot of this is the whole command-line vs. GUI issue (all our fancy Unix boxes still act like they're talking to VT100 terminals from 1978, which in turn are not all that different from actual teletype machines from the 1950s -- cf. In the Beginning was the Command Line). The Unix programming model is so clean and spare, it has barely changed (regardless of what's under the hood in the OS) -- the clean separation of functionality and coherent interfaces simply make it Just Work.

Unix has a long history of having things layer on top of each other -- things continue to Just Work. Contrast this with Windows, which changes radically (and disruptively) every few years. That might be calming down; Windows 2003 seems to be more like "Windows 2000, but done right this time" than a totally new OS. But the Home edition of it (XP) still has some idiotically disruptive things in it compared to 2000. E.g. the My Computer and My Documents links disappear off the desktop. The claim is that having everything under the Start Menu makes it easier to learn Windows. That may be true, but it's sure annoying to someone used to Windows 2000. Sure, you can tell it to look like Win2k, but you still have to manually tell it to put My Computer and My Documents back on the Desktop. Stupid!

This is one of those clear cases where Microsoft is trying to make software the way that auto companies make cars -- "next year's model can be different because it'll be a new batch of people". Except it's not. The software market is a lot more mature than it was 10 years ago when Windows 95 came out. It's a lot closer to saturation. Even most home users are buying upgrades, not a first computer. And businesses? Wasn't Windows supposed to be the business OS? (Macs, of course, are the long-haired arty-farty computers.)

Businesses that plan for the future (i.e. businesses that will be around for the future) do not buy new OSes and throw the old ones away. They migrate: they have different versions coexisting. As much as it'd be nice to simply rip out everything and rebuild, it's simply impossible to do. If you have a big IT installation (and especially if you're providing a service, like web pages or email, or VOIP or something), you simply cannot do that. Won't work. You have to evolve, not revolve.

Any OS that makes it hard to migrate from one version to the next is a real pain. Unix is simple. It all Just Works. It has its pains, but it usually Just Works at this level.

Windows? Ha. This is an OS that doesn't have to worry about long-term OS uptime because urgent security patches come out monthly and therefore no box is going to be up longer than a month, because so many patches require a reboot. There are Solaris boxes at my company that have been up for 3+ years without breaking a sweat.



To summarize: software is NOT like hardware. It's not like automobiles, or appliances, or anything else that people replace. Software lives a lot longer than any single piece of hardware, has to play nice with other software, and most importantly, has to play nice with its descendants. The entire idea of "next year's model" is absurd and idiotic when it comes to software. There's only the next version. And that version MUST play nice, or you're going to piss people off.

It's entirely unclear to me if any Windows admin (who hasn't used Unix for any length of time) understands this. I'm guessing no.

It's entirely unclear to me if anyone at Microsoft truly knows this, either. Or is it just that if they understood it, they wouldn't be able to market their stuff without wanting to kill themselves in shame?

Monday, September 04, 2006

System Administration as a Craft

Over the past five years or so, my wife has consistently been disappointed with my utter inability to explain what I do at work in a short, pithy way that works at parties. I could just say "I'm a Sysadmin", but I'm not just a tape monkey, or a Windows re-installer, so I try to avoid the short title, because people have in the past assumed I don't do anything truly productive.

My job at this point is Systems Architect, but no one outside of Systems departments knows what Systems Architects do, so that doesn't help much on the party circuit.

When I've tried to explain more fully what I do, I have fallen back on metaphors of building trades. Basic sysadmin stuff (setting up accounts, changing backup tapes, etc.) is like being a building super. Setting up new servers is like contractors putting up buildings (or more floors on an exisiting building). Debugging and troubleshooting are like electricians and plumbers fixing problems. Designing large-scale installations is like being an architect (which is why we're Systems Architects, duhhh).

This may explain why I usually feel pretty comfortable with people that build and maintain stuff -- cognitively, we're all pretty similar.

In my previous post, I linked to Shop Class as Soulcraft, which gives me a lot more of a sense of just why I think this. Case in point:

White collar professions, too, are subject to routinization and degradation, proceeding by the same process as befell manual fabrication a hundred years ago: the cognitive elements of the job are appropriated from professionals, instantiated in a system or process, and then handed back to a new class of workers — clerks — who replace the professionals.

One of the reasons I do what I do is that I find it challenging -- as much as they might want to replace us Systems folk with clerks, they simply can't. Here's hoping it actually stays that way.

Thank You, Organized Labor

Thank you, not only for this Labor Day, but for The Weekend.

In honor of Labor day, it seems quite fitting that I came across (via BoingBoing) this article on O'Reilly's site, pointing at "Shop Class as Soulcraft" on the The New Atlantis site.

It's a really wonderful essay on the artificial, Manichean, and ultimately incorrect divisions between "manual" and "mental" labor.