Jeff's Home Page
Jeff's Resume/Bio
Photo Gallery
Contra Home
About Contra
Contra on LiveJournal
Diary Topic Index
Diary Photo Index

Link to an Entry

Pete Albrecht
Sam'l Bassett
David Beers
M. Covington
Loren Heiny
Harry Helms
Jim Mischel
Bill Roper
David Stafford
Scott Smith




December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004



June 30, 2005: How POPFile Fails

I've been using POPFile for a long time, and until about a year ago, it worked well, with extreme accuracy—as high as 99.6% at one point. A year ago, I changed hosting firms, and immediately after I did, my daily spam count fell by 80%. (I'm still not entirely sure why that happened. My new hosting service insists that they're not doing any server side filtering, but I can't imagine what else it might be.)

Alas, that was also the point where POPFile began to lose accuracy. I'm currently down to 96.8% accuracy, and while some people might consider that a triumph, I'm concerned. I'm getting more false positives than ever, and as you might expect, given a "trainable" filter, I can't precisely tell why. I have been using magnets to "pull" my spammy-looking "good" mail (primarily vendor newsletters) to my inbox without affecting the corpus. I check POPFile's history list religiously, and I realize that I'm now spending more time on POPFile training than I used to spend blacklisting domains and misspelled words and all the other spammer tricks.

Some odd notes on this phenom and recent spam generally:

  • Spammers are certainly attempting to imitate "real" mail more than ever. My false negatives usually sound like friendly letters that do almost nothing but suggest that I go to a Web site. As I get a lot of "real" mail pointing me to interesting Web sites, this is a uniquely (for me) effective ploy.
  • I am getting a huge number of stock scam messages. They're hard to block via keywords because they contain no address whatsoever and are sent through botnets. The ones written well sometimes sneak past POPFile. There is almost nothing unique in them to block on, except for a clueless few who use novel spellings like "st0ck." This must be a very effective form of fraud because it's growing at the expense of most other categories. There must be a lot of idiots in the investment market; and as much as I want to see Social Security reform, I'd much rather see SS funds move to personally owned CDs or Treasury bills than stocks or bonds.
  • Porn spam is the most illiterate of all spam. Fortunately, it's also very easy for POPFile to snag. Volume is up and down and I suspect most of the traffic is being routed to blocks of porn sites under common ownership.
  • Phishing spams are way down. I barely get one or two a week now instead of three or four every day. Not sure why this should be so. Dare I hope that people are getting the message?

I'm a little disappointed that POPFile's recent development updates have emphasized what I consider minor features like multiuser logins instead of adding things it really needs to combat spam directly:

  • "Teaching" magnets that could work two ways: to blacklist known spammers (like and whitelist senders from whom any mail is accepted, in both cases updating the POPFile corpus so that POPFile can learn without my having to vet its decisions on known baddies and my regular correspondents. This amounts to fully automatic training and would cut both false positives and negatives hugely. POPFile needs this more urgently than anything else I could imagine.
  • A system to apply Bayesian techniques to attached bitmaps. This would allow POPFile to identify the bitmaps used as practically the sole element in many recent spams. I get a reasonable number of attached images that I want to see (a lot of them are Pete Albrecht's astrophotos; many others are photos from relatives) and so I don't want to shut out attached images completely. Alas, I'm not good enough to know how practical this would be, but I'm guessing that it could be done.
I do appreciate that it's a free utility, but it's working less well for me all the time, and I can only assume the same is happening to others as well. In the meantime, I'm getting less spam, but spending more time weeding out POPFile errors. Not good.

June 29, 2005: Odd Lots

  • 53 years old today. I got a haircut a few days ago. It took about five minutes; I guess there are compensations to age. I was never a movie star, but Carol still thinks I look good, and that's more than enough for me.
  • I have lost the reference, but if it's a hoax it's a good one: By reports, some wag has initiated condemnation proceedings on Supreme Court Justice Souter's house somewhere in Connecticut, asking the municipality to make way for a new hotel. Bravo, dude. No one could have made the point any better than that! (Nonetheless, it sure sounds like a hoax!)
  • A fair amount of traffic here on pedomorphic apes (see my entry for June 26, 2005) which might more accurately called neotenic apes. (Thanks to Michael Covington for pointing that out.) A friend showed me a book by Michael Shermer entitled The Science of Good and Evil, (which otherwise seemed very lightweight) showing sketches of a young chimpanzee's skull, an adult chimp's skull, and a human skull. Apart from size, the human skull and the baby chimp skull were almost identical, whereas the adult chimp skull was radically different in shape as well as size. If you're in the bookstore, flip to page 227. If I can find something similar on the Web I'll point to it here.
  • Another line I spotted in skimming The Science of Good and Evil was the French economist Frederic Bastiat's contention that "where goods do not cross borders, armies will." The worst war in human history followed 20-odd years of worldwide economic nationalism (and resulting depression) during which international trade nearly ground to a halt. People still think that the stock market crash of 1929 caused the Great Depression, when in fact that was at best a psychological trigger, much as 9-11 was. The Hawley-Smoot tariff law and its fellows around the world were at the bottom of the misery of the 1930s, which in turn (I firmly believe) turned the crank to kick off World War II. Protectionism may be dangerous in ways we don't fully realize.

Update: The Souter thing is not a hoax, though I still think it's a little far-fetched. Here's another. Thanks to several people who sent me these links.

June 27, 2005: The End of the Road for Commercial P2P

As I write this, the aggregators and blogosphere are exploding with the news that the U.S. Supreme Court handed down a unanimous verdict against Grokster in the much-anticipated file-sharing case. There are some nuances in the case (it looks like how you position a network has something to do with liability) but the real-world truth is much simpler: Commercial application of file-oriented peer-to-peer technology is now basically impossible. With a Supreme Court decision in their pockets, Hollywood will sue any peer-to-peer networking organization irrespective of what the network was designed to do, and irrespective of any built-in protection against file piracy. Big Media is so utterly terrified of the whole idea of peer-to-peer connections that they'll do whatever they can to stomp any technology that attempts to use P2P to move files for whatever purpose. Tech startups don't have the money to fight that kind of legal assault. P2P commercialization is over. (Note that I exclude non-file networks like Skype, and if the Skype guys ever pondered putting file search capabilities into their system, they're burning those design documents out in the alley right now.)

This isn't, of course, the end of file sharing. The networks themselves are not under any kind of central control. No one can flip a switch and shut down Gnutella or Freenet. (For the Kazaa and Morpheus networks that's not as clear, though I think that their protocols have been reverse-engineered and are now present in free clients.) There are millions of copies of P2P clients already out there, and they're easily shared over their own networks. Development of such clients will continue outside the reach of U.S. law; however, I think that U.S. based open-source P2P projects could be in jeopardy.

There's quite a bit of irony in this: What the MGM vs. Grokster case really does is preclude all conceivable legitimate uses of file-based P2P technology, while leaving file piracy itself relatively untouched. I'm sure that the file-sharing underground, always happy to take up a challenge, will eventually figure out how to do truly anonymous file-sharing. As I've written earlier, I'm convinced that virus-seeded botnets will be the next thing they try, and if they do, it may be the only way we'll be rid of the spammers and phishers who currently use botnets, since no one else seems the least motivated to take them on. Hollywood will—and that will be an interesting fight indeed.

June 26, 2005: Turning Foxes into Dogs

Colorado Springs is the only place in the U.S. I've ever seen red fox in the wild (we saw one in England in 1997) and we now have one living in the gash in the hillside to the north of our house. Carol and I see him regularly, because he comes out of hiding while we're watering the new plants on the hillside terraces, and watches us expectantly, as though waiting for a handout.

Fox have always fascinated me (my Boy Scout years were spent in the Fox Patrol) and this one does indeed show evidence that someone in the neighborhood is feeding him. He's sleek and healthy looking, and we watched him throwing a pine cone around on the rocks down the hillside, as though he were QBit with a Nylabone. He's come within fifteen feet of us, though never (of course) when I have my camera in my pocket.

I've heard it said that dogs are a mysterious special case in terms of domestication, and that all other attempts to domesticate wild canids have to nothing. Not so. A little research turned up a fascinating long-horizon research project going on at the Institute of Cytology and Genetics in Siberia since 1959. A team led by Dmitry Belyaev took a population of the Siberian silver fox (a racial variant of the fox species vulpes vulpes that also includes the red fox) from a nearby fur ranch and began to select individuals for one trait: tameness. Only those 5% of the animals showing the greatest willingness to be approached and eventually handled by the team were allowed to breed.

Within ten generations, the fox became friendly to a degree previously unknown in the species. Today, after 40 years and over 30 generations, the Institute reliably breeds silver fox friendly enough to be sold as pets. That's amazing enough. But what floored me (and others) was an unexpected side effect: The tame fox began to look like dogs. Morphological changes like a broader skull, floppy ears, and a tail carried high and curled forward made them more dog-like. Their seratonin levels are higher than wild fox, and their stress hormone levels much lower. Their behavior became more dog-like as well: the tame foxes wagged their tails, whined, and demanded attention from the team members, even licking their faces.

All of these characteristics are observed, even if fleetingly, in young fox kits. What seems to be happening is a phenomenon called pedomorphism: adult animals retaining the proportions, behavior, and brain chemistry of juveniles, only larger. This seems to be the relationship between dogs and the wolf stock we think they were bred from; adult dogs resemble oversize wolf pups.

I haven't found any crisp explanation of why breeding for tameness also breeds for pedomorphism. (This article summarizes the research but doesn't offer any theories. Look at that picture of a tame fox in the snow! Woof!) Even the current leader of the team (Belyaev died over 15 years ago) is puzzled. Her article is interesting and worth reading—and it would be tragic if the experiment had to be terminated due to chaos in the Russian economy. Here's another short, if dense, paper on the topic. This article is more on the nature of wild fox; the author indicates that fox appeared relatively recently in the fossil record, and feels that fox genetics are unstable and still looking for some equilibrium point, hence the ease with which they were domesticated by Belyaev. (A good part of the article is pure speculation, but he presents some interesting facts.)

The truth may be that tameness—a willingness to play, to engage animals of different species (including enemies) and to just not be afraid—is simply a mammalian juvenile characteristic. Breed for tameness, and you create a permanent juvenile. The team in Siberia has done some work with otters, and it seems to be moving in the same direction.

In looking at humanity, I see us moving from ferocity toward tameness. (Some people think that this lies at the heart of our current malaise.) It would be helpful if we had some living specimens of the creatures from which we descended, for comparison, but I'd wager that adult humans differ less from juvenile humans than adult proto-humans did from their young. I'll bet we're also more likely to play, to explore, to adapt, and coexist with other creatures. The secret to humanity's success may simply be that we're overgrown adolescents. Now, if we could only add back the wisdom of age...

June 24, 2005: Synchronicity and the Combinatorially Exploding Penny

Synchronicity (meaningful coincidences of preposterous unlikelihood) is something that doesn't interest people very much until such a coincidence happens to them. I can point to three instances of synchonicity in my life: One marginal, one peculiar, and one that just floored me. The marginal one was the Exuberant Cross, which is an excellent example of seeing symbolism in the ordinary, though there is some peculiarity in seeing it the first morning I was living in Colorado. The peculiar one we'll leave for another time. But then there's the big one...

Back in 1996 I went down the road aways from the office to get a sandwich. This was unusual to begin with; I usually ate lunch with Carol, but she wasn't at work that day. I was in a bad mood, a little depressed from thinking too much about my father. As I've said too often here, he died young and in a gruesome fashion, and there was unfinished business between us. I was only beginning to work through the issues in the mid-1990s. Now and then I rage at his memory; most of the time I just miss him. I turned on the car radio and the oldies station was playing something obnoxious, so I hit the country button. After the concluding seconds of some cowboy song and a few seconds of DJ chatter, another song started up.

I'd heard it before: It was Colin Raye's "Love, Me", an otherwise unremarkable tearjerker thing about a boy whose grandma dies. Carol always turned the radio off when it came on. There are times when I can listen and times when I just punch another button. This time I listened, and boy, the song worked as designed. Read the lyrics; they're clever. (Ignore the sappy formatting.) The first line is significant:

"I read a note my grandma wrote, back in 1923..."

I had failed out of engineering school while my father was dying, and I felt for many years like I had let him down, just like I did when I had failed to love baseball as a ten-year-old. He could not imagine how a writer could make a living, and I could not imagine how an engineer could smoke himself to death. As a young man, I often wanted to say, Don't give up on me. And all my life it was a private point of honor for me not to let him down. (I didn't.) So there were some connections there, in that stupid song.

It wasn't that far to the sandwich place. When I parked I mopped my eyes and turned the radio off in exasperation, feeling like it had suckered me in to an unnecessary sentimental state. Shaking my head, I went into the shop and ordered my usual ham and swiss. The soda-and-sandwich lunch special came out to $4.99. I handed the guy a fiver. He dug in the drawer and pulled out a penny, which he slid across the counter to me. It looked pretty beat up, and when I picked it up I flipped it over and took a closer look.

The date on the penny was 1923.


So. What are the chances? I got one coin in change. I hadn't seen a penny that old in change in probably twenty years. I didn't listen to country music all that often. And it was maybe a five-minute ride to the sandwich place, during which that one song alone had begun and played to completion. How could all those things line up so perfectly, on a day when I was already depressed from ruminating about losing my father? A New Ager would say "It's a Sign. He's there. He knows you didn't let him down."

A part of me wanted to think of it as a Sign. (Another little part still does.) On the other hand, I'm not a New Ager, and the incident forced me to think a little bit about about outrageous coincidences. Here are the major points that come out of the exercise:

  • In 45 years of living, a human being experiences an enormous number of identifiable things, from country songs to birds on the lawn to oddly shaped clouds and everything else that we notice during the 16-odd hours we're awake every day.
  • Human beings are complex things, with a great many thoughts, memories, cravings, articles of faith, and emotional flashpoints.
  • Something in our mental machinery tries very hard to find meaning in everyday life.

In rolling those three points together I come up with an interesting conclusion: It would be remarkable for someone to live 45 years and not run into a coincidence like that at least once. (My other two experiences of synchronicity are pikers by comparison.) In each life there is a combinatorial explosion of possible alignments of thoughts, feelings, and objective experiences so large as to be beyond expressing. Little alignments happen now and then. ("Just as I pulled into the packed parking lot, somebody was pulling out right in front of me!") Every so often, an alignment happens that makes us shake our heads in wonder. (I'll tell you about the "I love you" stone someday.) But sooner or later, everybody is going to run into a whopper.

Keep your eyes open. You wouldn't want to miss it!

June 23, 2005: The Ctrl-A Problem and Venerable Keyboards

I vented a little about the Ctrl-A problem in my May 31, 2005 entry, and a couple of people wrote to ask, What the hell is the Ctrl-A problem? Then I recalled: It's really not a problem anymore. However, all but one keyboard in use in this house is a venerable keyboard, the youngest of which is almost ten years old. (The oldest, a NEC item I ordered as a spare part after trying it and liking it on some forgotten NEC box at Comdex '85, is almost 20.) It has to do with key placement. Look at the photo below:

Notice the way the keys on the left edge of the main key block are laid out: Ctrl is right next to "A". One careless keystroke can bridge the two keys, and the Ctrl-A key combo selects the entire document. Once you select the entire document, the next keypress replaces everything in the document with a single letter.


So what is the true idiocy here? The assignment of "select all" to Ctrl-A? Or putting the Ctrl key next to the A key? Answer: Neither. The true idiocy is that I lost the alternate key caps shipped with the keyboard back in 1991. (Yes, this same keyboard has been in use almost continuously for fourteen years.) The Northgate Omnis used to come with a couple of alternate key caps, so you could swap (if I recall correctly) Ctrl for Alt. A DIP switch under the Omnikey 102 logo on the upper left corner of the keyboard allows you to select alternate key layouts so that you can swap the caps and still get the right key codes for the swapped caps.

Although my hands will be stumbling for some time if I change the key layout, I've had enough of the Ctrl-A foolishness. It's just barely possible that the alternate keycaps are rattling around in the bottom of a box somewhere, and I've been furiously searching boxes for several days now. (I managed to empty seven of them in the process, which was a nice side-benefit.) No luck, but I'll keep looking.

One other note: Although this keyboard is 14 years old, by a wonderful coincidence the pencil slot is almost precisely the right size to hold several Cruzer Mini thumb drives, which are now my primary medium for read/write removable storage. The three main Cruzers I use daily now live there except when I travel, and the rest are close by in a drawer. This is yet another reason to keep using the OmniKey 102. When this one dies, I may have to buy another one, as the other two OmniKeys that I have in the house here are getting flaky. Fortunately, although Northgate itself is history, the OmniKey keyboards are still being produced by a company called Creative Vision Technologies, under the Avant Stellar brand. They have the ridiculous top row of function keys (a bit of IBM mainframe foolishness) and cost $189, but that's what my fingers like, and I live by those fingers. So it goes.

Update: Found this site, of a chap who repairs Northgate keyboards—and woot woot! They sell the alternate keycaps (with a puller) for $8! I can now get the keyboard with the cranky space bar repaired, so maybe it'll last another fifteen years. And the Ctrl-A problem will be history. (Lesson: Never throw out anything!)

June 22, 2005: Mumblesheeting Aardblog

I did a little pencil-based entity-relationship work last night while brainstorming my ideal blogging utility, and it might be worth an entry to document the idea here. I don't really expect to build this thing (though I intend to do some work on the client-server database part as continuing education) but I want the ideas to be out there, in case someone else is so moved.

Fundamental design assumptions:

  • All content editing is done on the client side. I don't care what anybody says, server-based rich content editing sucks. The "edit from anywhere" argument against client-side content editing is what I call an infrared herring; it's so red you can hardly see it.
  • All content is stored on both the client database and the server database, with a module to make sure they remain in sync. (This will be easy, as I don't expect to do server-side editing.) Servers no longer have a storage-size advantage over clients—quite the contrary; cheap Web hosting now gives you way less storage than you'll find on an old laptop. Furthermore, the 7-year entirety of ContraPositive (including all photos and all of the old VDM Diary entries) takes up only 55 MB.
  • There is only one content database, but metatagging (as I described in my June 15, 2005 entry) allows the display of any number of "virtual blogs" via database queries. This allows readers to see only the entries they're interested in.
  • To as great an extent as possible (and I don't know yet how possible this is) the server-side database should represent content the same way (from a query perspective) as the client does. This will allow a query on the client side to generate the same "virtual blog" as the query would on the server.
  • The client should be able to generate not only RSS feeds, but printable representations of the full database or any virtual blog. Hey, I'm an old guy. I like reading paper.
  • The client should generate text or photo indexes for the full blog or any virtual blog.
  • At the blogger's option, the server-side database should be able to download itself to an Aardblog reader client that does not include the content editor. I don't trust servers or broadband connections to be available everywhere, 24/7/365. Why not just download the whole thing and read it offline in your tent on the Mogollon Rim? (Or print it?)
  • This may or may not be useful, but it's fun: The server should generate a stack-rank of entries by the number of times each is read. I'd be curious to know what my readers like.
  • Minor tables should store things like the blogroll and other loose ends.
  • I'm of two minds about blog comments, since they're an invitation to spammers and flamers. Comments are thus not part of the design at this point.

Those are the major points so far. From a database standpoint, the design is CS 105 stuff: A mere handful of tables without a lot of exotic relationships. (The queries are actually the trickiest part of the whole thing.) I'm constrained by my hosting service to a MySQL database on the server side. On the client side, I could also use MySQL, but I also like built-in database engines like DBISAM.

That's where it sits right now. I'll see about putting my notes into a more formal ERD on Visio, and if I do, I'll post it here.

And oh, yeah. The client will be done in Delphi. I'm stubborn about that.

June 21, 2005: A New PCT and VDM History & Archive Page

In my ongoing if intermittent efforts to modernize my Web presence, I've created a new page containing a brief history of PC Techniques and Visual Developer Magazine, as well as links to whatever Web-based material I can find that was originally published in either magazine. This includes a lot of my own editorials and end-page pieces, and as I scan the ones I no longer have files for, I'll post the rest.

If you ever had anything published in either of my magazines and would like me to list your home page (not your email address!) please drop a note and let me know. Also, I'd like to post links to any PCT/VDM articles that interested readers could find online.

While I have you, a mildly rare astronomical event occurs tomorrow night: The full Moon occurs on the Summer Solstice, and thus is as far south in the sky as a full Moon ever gets. It will also be about as measurably big as the full Moon ever gets, because it reaches perigee on Thursday. The difference is a little over 10%, substantial but probably not noticeable without instruments.

Virtually all of "the Moon is bigger tonight" effect is in truth an optical illusion: It's simply closer to whatever lies on the souther horizon for you, and looks bigger by comparison. (A lonely Moon high in the sky always looks smaller.)

If I recall, this last happened in 1982, and I was clouded out. Foo. It's fun; take a look if you get clear skies. Here's a nice page that speaks of the astronomy behind this effect in more detail.

June 20, 2005: Odd Lots

  • Kodak is about to stop making black and white photographic paper. In some respects this is a shame; As a high school freshman I enjoyed making contact prints in my mother's basement from the Plus-X 120 format (i.e., big) film that my creaky, hand-me-down 1940s bellows camera used. (I used to repair light leaks in the shabby paper bellows with Chiquita stickers peeled off bananas; after which I began to call it my "Banana Camera.") Interestingly, one reason for b/w photo paper's demise is that modern photo printers can print b/w acceptably well for all but the orteests among us, and digital photo manipulation can probably allow every bit the control (and maybe more) that paper allows. That said, digital prints will never offer the precise visual feel that photo paper does, which is true for tintypes and Daguerreotypes as well. This is why I'm sure that somebody, somewhere will take up the slack and start making new paper in small quantities, and those who value it will pay the (much higher) price.
  • I downloaded the 566 MB Snappix ISO yesterday afternoon, and tried to do it via BitTorrent. No luck. In half an hour, the client could only find one other source for it, and that was trickling in at 1.8 KBps. Not wanting to wait a week for the product, I downloaded it conventionally from a distro server somewhere at 200 KBps and got it in less than an hour. I can't prove it, but I suspect that the RIAA and MPAA have scared so many people away from BitTorrent (and shuttered so many torrent sites) that even its legitimate uses (it was designed for rapid download of free Linux distributions) are crippled.
  • People who value language are delivering a torrent of gripes to my inbox in the wake of my item on "nauseous." (See my entry for June 17, 2005.) The current favorite is "decimate," which actually means "reduce by one tenth" but has come to mean "virtually annihilated." When the Imperial Roman Army got annoyed with one of its legions, they'd pull out every tenth guy from ranks and gut him in front of the others. It worked; while this practice was current, Rome ruled the world. You don't have to kill 75% of everybody to make an impression.
  • If you explode a modest nuclear device under water near the mouth of an estuary, could you create a monster wave rolling up the estuary, taking out everything in its path? Are artificial tsunamis the future of warfare? Has Tom Clancy thought of this already? Supercomputer Mike in The Moon Is a Harch Mistress lobbed boulders down to Earth from his lunar railgun to make a point, but he targeted them at thinly populated areas. Something the size of a garbage truck coming down at supersonic velocity into San Francisco Bay would make quite a mess. Just something else to worry about, heh.
  • Finally, I bought a bottle of wine the other day because it got decent reviews and had a very intriguing name and label. Wrongo Dongo is so-so wine, resembling a slightly weak cabernet (and they said it was fruit-forward! Not!) but the label borrows from the art style of Byzantine mosaics, and I like those. Anyway, here's the label so you don't have to buy the wine. The label is definitely the best part.

June 19, 2005: Stupid Questions from SoundMax

The new machine here has performed fairly well since March, with only two exceptions: 1) It runs a little hot, and 2) it includes the SoundMax audio system on the motherboard. The heat problem is borderline, and doesn't become an issue until I begin running several compute-intensive things at once. I may simply need a better CPU cooler. But SoundMax, egad.

Every so often, without warning, the SoundMax drivers pop up this ridiculous wizard, which condescendingly demands to know "What did you plug into the front panel headphone jack, dumbass?" An animation then shows a pink (microphone) plug heading for the green (headphone) jack.

The problem is, I haven't done anything with the front panel audio jacks in a couple of weeks. The headphones have been plugged into the headphone jack all along, and I've been using them successfully. So why does it suddenly get trippy and forget what's been plugged into its own damned holes for weeks at a time?

SoundMax is a lousy technology, and it has other defects than this—but this is the one that makes me craziest. Another is that you can't use the front and back jacks simultaneously, and thus there is no way to have both the headset and a pair of speakers plugged in at once. I used to do this on the Xeon with a SoundBlaster Live card all the time. Fortunately, SoundMax can be disabled from BIOS Setup, and it doesn't take a wizard to tell me that a trip to CompUSA is in my future.

June 18, 2005: Solaris 10 in a VM

I installed Solaris 10 in a VMWare virtual machine earlier today. This was remarkable, for a number of reasons:

  • I am not a Unix expert. (IANAUE.) Emphatically.
  • Solaris 10 is a 3 GB download. Whew.
  • The Solaris install script was written by meerkats.
  • Solaris is not an officially supported OS under VMWare.
  • VMware's "tips" for installing Solaris were "interesting." Read them and see if you'll forgive me for messing up a little.

I've always wanted to get a good look at Solaris, but some years ago, when I was editing VDM, Sun's PR firm gave me the third degree after I requested a review copy of the OS, which even then was a no-charge item. They were obsessed with whether or not I wanted it for "personal use." I am obsessed with not encouraging idiots by taking such questions seriously. I offered to send them several copies of the magazine. They didn't return my email. End of relationship.

Anyway. Solaris 10 is a free download from Sun's site. Note well that it's not open source, though a few days ago Sun released OpenSolaris as an open-source project. The two are not the same, and I haven't had time yet to figure out how they differ. I managed to download the whole thing in a little under 90 minutes, using Sun's free download manager utility. The key is consistent 600 Kbps throughput from Sun's servers. Damn few download sites can meet (much less top) that.

You get it in five chunks, which you concatenate via the COPY command in a Windows console. The result is a 3 GB .ISO file. To install it under VMWare, you create a new VM, and assign the ISO to the optical drive device. The ISO is bootable, and when you "power up" the VM, the Solaris installer in the ISO boots up and runs its install script.

It was the goofiest install script I've ever seen. As best I can recall, it never asked me for a hostname, and thus declared the VM's hostname to be "unknown." While configuring networking it asked me if I wanted to use DHCP. I did. After that it immediately started asking me for all the parameters you'd ordinarily get from DHCP but need for manual TCP/IP configuration, like DNS servers.

Miraculously, it booted up and ran, and got me into Sun's very pretty Java Desktop System, which is based on Gnome. I messed up the X server configuration during install, though if you follow the link in the last bullet point above, you may understand why. So I got the minimal X VGA configuration of 640 X 480. To get any of the larger display formats you need to edit the X parameters. So I opened a console and attempted to run the kdmconfig utility. It refused to run, because it needed a console at least 80 X 24 in size, and the largest console I could get in a 640 X 480 display was 77 X 23. Grrr.

I logged out, and logged back in to the Common Desktop Environment (CDE), which happily gave me a full-sized console. I could thus configure the X server, which actually had to be done by running another utility called xorgconfig. This page was very helpful. I can now run Solaris at 1024 X 768, which is the top resolution this monitor can display sharply. Samba works, too.

One final note: I hadn't seen the Motif window manager (used by the CDE) in ten or twelve years, since I'd watched a friend running some version of Unix on a slow PC. At that time, I thought it was gorgeous and elegant, if a little slow. It was funny to see how primitive the damned thing looked, especially at 640 X 480. We've come a long way.

Anyway. Solaris 10 is running, and running well. I'm not sure what I'm going to do with it, but like 2001's Space Child said, I'll think of something.

June 17, 2005: Odd Lots

  • Brad Trupp, who used to write for Visual Developer, wrote to tell me that he's selling a client-side blogging utility written in Delphi. (See my entry for June 15, 2005.) I've got it running in a VM and will report after I fool around with it a little, but first impressions have been very good. (I really don't like Web apps!)
  • My grandfather Harry Duntemann fought in France in WWI, and he brought back a large quantity of souvenirs, including what always looked to me like unexploded 40 mm shells. (These proved to be empty, though inside they smelled...sulfurous.) What was most fascinating were the two spiked German helmets, and I had always wondered what they were thinking when they designed those. It was just the height of Prussian military style, I guess. (I always wondered if it was a sort of last-ditch weapon: Put your head down and charge!) The Web delivers all things asked for (pretty much) and Pete Albrecht sent me a link to a history of the German pickelhaube. Wow.
  • A young woman at the Cingular store shocked me mightily yesterday by understanding that the word "nauseous" means "something that causes nausea" and is not a synonym for "nauseated." (Don't ask how it came up in conversation.) I'm sure I've violated that rule a number of times myself in the 35-odd years since I learned it, but cripes, she couldn't have been more than 23. Is there hope for Western culture? Maybe.
  • Finally, the award for the most-fun Web site I've seen in half-past forever goes to The Museum of Retro Technology. It will take you half the night, but go through it all. Some of it isn't horribly odd (like cab-forward locomotives) but some of It's amazing how many people have tried building monowheels, but there you have it. Acoustic radar, gyrocars, electromechanical amplifiers, and a spur gear that looks like the face in Munch's The Scream. It's all there. Don't miss any of it.

June 16, 2005: Roadkill Red, Really. (Would I Lie to You?)

The great tragedy in wine circles these days isn't plastic corks (which I actually support; save the poor cork trees!) but the death of soakable labels. In the old days you could put a wine bottle in a kitchen sink full of water for an hour and the label would come loose so you could press it dry and keep it in a wine scrapbook. No more. Wine labels are now peel-off-stick-down, and they don't soak off at all.

With that in mind, I made a wager with myself that I could peel a label off my last bottle of Roadkill Red (not trivial, by the way) so I could prove to you that I wasn't making it up. I won. The label is above. It's from Colorado' s oldest winery. If you dislike dry wines it's wonderful, about as sweet as white zin but a lot tastier and less acidic. Alas, you're unlikely to find it outside of Colorado, and even in Colorado a lot of wineshop owners look at you like a leper if you ask for it. Screw 'em. Get it if you can. Lighter than a conventional red but darker and more full-bodied than a rosé, it's perfect with any meat that isn't still moving.

June 15, 2005: Aardblog, Mon Dieu

As time has allowed (and it hasn't, much) I've been looking at the multitude of blogging utilities, trying to see if there's anything suitable to move Contra to. People are begging for an RSS feed, and although I now know how it works and could do it by hand, I'd really like something that would automate the process. (I edit this whole damned thing by hand, in Dreamweaver 3.) So what I've been doing is envisioning what I would consider my ideal blogging system. "Blog" is an ugly word and I dislike it, but I recognize that nobody asked me and I'll use it when necessary for clarity.

Like now. So let's talk about a hypothetical piece of software called Aardblog. Let me lay out the major features I'd like it to have:

  • Each day's entry should be stored as a separate record (including HTML markup) in both the client-side and server-side databases.
  • Each record should have a field for year, for month, for date, and for hour posted. There are people who post multiple entries in a day, and although I have rarely wanted to do that, in some circumstances it could be useful.
  • Each record should have a field for an author-defined metadata tag, indicating what category a given entry belongs to. (I'll come back to tags a little later.)
  • Both client and server should have a mechanism for creating a view of the blog entries by filtering on both the time-posted fields and the metadata tags.
  • Some configurability of blog page elements (header, navigation, blogroll, archive, daily entries) is good, but I don't require infinite flexibility.
  • Automatic RSS generation.
  • A right-clickable icon somewhere in each entry, allowing readers to "lift" a database query URL in order to link to an individual entry.

Of course, all this is above and beyond a simple HTML editor that does conventional markup and insertion of graphics and links to other rich media, and whatever else a fundamental blogging system requires.

Now, my main innovation here (if you can call it that) lies in the ability to apply metadata to individual entries. Furthermore, what I want is a tag that can express hierarchical categories. People who remember my musings on Aardmarks will know instantly what I mean. Hierarchy for classification is almost dead, in part because an amazing number of supposedly educated nitwits actually believe that hierarchy itself is immoral because it always expresses dominance or prejudice. Others have simply never been taught how to think hierarchically. Few kids are forced to study the Dewey Decimal System in grade school, as I was. So it goes, and their loss.

Hierarchy as I use it here actually expresses increasing precision that includes context, in that while a dog is an animal, a bichon frise is a kind of dog, so animal|mammal|dog|bichon frise is a hierarchical tag that takes you from the most general category to the most specific. What is really killing hierarchical classification, though, is simple laziness, because Google doesn't require tagging. Google can be an infuriating way to search for information on things that have common or ambiguous names, or anything that's for sale. Try a Google search for reviews on consumer electronics products and see what you're up against. I use Google, but that's because it's all there is. For my own work, I want the precision of hierarchical category tags.

My mistake in developing Aardmarks was creating a classification hierarchy that was so deep and rich that nobody but a library science geek would try to use it. Open Directory had this problem too, amplified by the fact that the classification hierarchy itself was inexplicably nonintuitive. Alas, the Web is too big and too rich to use hierarchical categorization alone: Either your classification hierarchy will be so huge as to be unusable, or your links per category will be too many to scan manually. Ideally, Web searches would use both, but until people start tagging their Web content by hierarchical categories, it can't happen.

Within one blog written by one guy, this doesn't apply. I've been blogging longer than almost anybody on Earth, and still have only about 2,000 entries in all—and as broad as my interests may seem, what I write tends to fall into a mere handful of categories. For Contra, I could get by with a classification hierarchy having as few as twenty five or thirty categories total.

So what I want is a small treeview pane that generates a view of Contra by entry category. This will allow people who aren't interested in computer stuff to read my entries on religion or history or personal reflections without having to scroll past comments on software products. This would also allow me to consciously create views of Contra that would in effect divide it into separate, topic-specific blogs. "Jeff Duntemann on Computing" or "Jeff Duntemann on Wi-Fi" could each have its own header page, and be nothing more than a database search by topic. And if you want the whole thing, well, another link would show you *.

Something like Aardblog may already exist; if it does, do let me know. If not, well, it would make an interesting summer project, and I may poke at it myself in Delphi as time allows. If it does. (I won't get my hopes up.)

June 14, 2005: Cloning Virtual Machines

VMWare Workstation 5 has another extremely useful trick that seems obvious once (but not before) you grasp it: Cloning one virtual PC as a way of creating another. In yesterday's entry I spoke of virtual machine snapshots. As the name implies, snapshots are not themselves virtual machines, but rather files containing the state of a specific virtual machine. Without that virtual machine, the snapshot is useless.

There is a wizard in VMWare for creating brand new virtual machines, and once you create one, you must install an OS in it, pretty much as you'd install an OS on a new hard drive or drive partition. However, once you have a virtual PC created, configured, and loaded with an OS, you can create independent, rubber-stamp duplicates of that virtual PC.

The first use that comes to mind is probably the most common one: Creating a base configuration for software testing. In my own research here this morning, I created a virtual machine with Windows 2000, and then configured it as I tend to use it, complete with a number of small utilities (like WinZip) that I find essential. That done, I can now create a clone of that virtual PC anytime I need to test something, and when I'm done with the test, I can just throw away the clone if I don't feel it represents any lessons that need to be retained in the form of a working virtual PC. (One doesn't need a 2 GB disk file to tell you that a text editor is lousy.) This can also be done with snapshots, as I described yesterday. However, cloned virtual PCs allow me to (for example) run two separate versions of a single product side by side for comparison, or two copies of a single version of a product to see how they compare when working on different types of data.

Workstation 5 can create clones either independently (meaning that they're rubber-stamps of the original virtual PC) or as "linked" clones, which means that VMWare stores the linked clone as a set of deltas from the original virtual PC. Linked clones are much smaller in disk size than regular clones. I haven't tried this yet, but it raises the question of precisely what happens if you change something in the original virtual PC. However, if you leave the original virtual PC instance alone, you can create a whole bunch of virtual PCs for software testing without filling up that monster hard drive.

There's another slick Workstation 5 feature that I probably won't get to until tomorrow: teams. Linking several virtual PCs as a team allows them to share memory, and also create a virtual LAN among them for network app testing. This is less useful to me, but I'll bet for some people it's the holy grail.

More as I learn it.

June 13, 2005: Machine State Snapshots with VMWare

Given that Norton Ghost has been around for awhile, the idea of "ghosting" a disk partition to a file (so you can later revert to any given saved image) is a commonplace, at least among techies. At last count, I had eight states saved (through Ghost 2003) for this particular machine's C: drive, and I can roll back to any of them at any time, in case malware eats something or Registry rot gets too bad to degunk. Rolling back from a Ghost image on an annual basis may be the ideal way to do "spring cleaning" on an active Windows machine.

Now there's VMWare Workstation 5. Whoa. This is potent. Within a VMWare virtual machine, you can take snapshots just as with Ghost. VMWare snapshots do more than record the contents of a disk drive, however. They record the entire machine state. This includes memory and the state of any opened and running apps.

This means that you can take snapshots of successive states of an application, and roll back to an earlier state. I've been testing Lazarus, the free (if minimal) Delphi clone. I took a snap of the "fresh" Lazarus install. I can now install new Lazarus software components, and if the components don't prove useful or don't work well, I can revert to the snapshot of the fresh install, and the components under test just go away.

This is cool enough, but it gets better: I can also take snapshots of the state of an individual programming project, and roll back to an earlier state of the project if I must. This allows me to just screw around with different approaches to solving a programming problem, and still have the power to retrace my steps if I discover that I'm at the end of a blind alley. Retracing my steps doesn't even mean I lose what I attempted: I can save my failed experiment as a snapshot and reload it if I later decide that there's ore there to be mined, perhaps as part of a different approach. Version control software can do this, of course, but if you're not working on a huge, complex project, version control utilities are overkill.

The last big surprise is one I'm just beginning to probe: You can save successive states of an application under test. If an app you're working on blows up, you can revert to an earlier run state and have a chance to inspect the conditions within the app (values of variables etc.) just before the crash to help you figure out what made it blow up. You can do a little of this with Delphi, but Lazarus is too simple to provide that kind of power.

In a sense, this makes cut-n-try programming even more seductive: If you have enough disk space to hold all the snapshots, you can try any damfool thing you want, and there are no consequences. None!

VMware has a very nice snapshot manager dialog (screenshot above) that makes it easy to keep track of where you are, and lets you "go to" any saved snapshot. In addition to Lazarus, I'm also testing the latest release of Open Office, and a new WYSIWYG Web editor called Nvu. I have snapshots of both, and when I'm done testing, I can just delete their snapshots and they're gone. I'm hoping that Nvu will be a suitable replacement for Dreamweaver 3, as I won't upgrade it to anything requiring activation. If Nvu isn't the one, I've lost nothing but time.

This sort of thing is definitely the future, and as we move to multicore CPUs, hardware virtualization support, and 4 GB RAM systems (a gig of RAM for this machine is now about $100) having several virtual PCs running at once will become routine, just as having several apps running simultaneously at once, each in its own wndow, is a commonplace right now.

I used to wonder just what I would use 3 GHz' worth of CPU cycles and 4 GB of RAM for. Now I know—and I don't regret it for a second.

June 12, 2005: How Much Would You Pay for a Castle?

Pete and I were on Skype the other day, simultaneously poking around the Web looking at German real estate, comparing their prices to ours. (Pete was born over there.) In the plain little razor-cut town from which my Duntemann acestors fled in 1848, you can still get an atmospheric half-timbered 6-room house right in town for about $75,000. ($65,000 Euros; alas, they didn't post a photo.) True enough, that's nowhere special in Germany, and the area is about as interesting as some parts of Nebraska. You won't do that well in, say, Berlin.

But then Pete came up with a whopper: You can get a real castle in Germany for 900,000 Euros, or a little over a million bucks, maybe less if you bargained hard. Above is a photo of Burg Katzenstein (Castle Cats-Stone) in Baden-Wurttemburg, south-central Germany. Here's a history of the castle, which is one of the oldest Romanesque castles in the country. The castle is between Stuttgart and Augsburg, near the town of Heidenheim.150,000 square feet, egad. You could put a whole publishing company in there. (Ten of them, in fact—Coriolis at its largest had only 13,000 square feet of office space.) As a capper, there is a steam-powered tourist railroad that passes quite close to the castle. Imagine waking up every morning, freezing your butt in a stone tower while listening to a steam whistle announcing the imminent arrival of coal smoke in your window!

Ok, ok. It's actually better than it looks. On the other side are some charming half-timbered manor-house style buildings all run together that look almost livable. The truly weird thing about it all is that there are houses the next block over from me here in Colorado Springs that cost more than Castle Katzenstein, and in LA you can barely get a bungalow for that much. Pete could trade up from the little place he lives in to Castle Katzenstein for the cost of a good sports car. On the other hand, Carol speculates that the annual heating bill would probably be about the same as the initial cost, which may well be some sort of minor Law of Castlery.

I can almost see myself flying a couple of 12-foot Conyne kites off that tower in a thunderstorm. Anybody got any monsters that need work?

June 11, 2005: The Myth of Universal Health Care

I heard yesterday that Canada's High Court overturned a Quebec law that forbade private health insurance or out-of-pocket payment for health care. I suspect that this is the beginning of the end for Canada's mandatory and supposedly "universal" government-funded health care system. This particular decision was limited to Quebec, but other provinces will likely see similar cases come before the High Court before long, especially now that this precedent has been established. (It'll be interesting to see if we start hearing complaints about "judicial activism" from Up North.)

I've long suspected that single-payer "universal" health care systems are far from universal, but a lot depends on definitions and who you believe. My definition of "universal health care system" is a system that provides care to alleviate suffering to all citizens when it is needed. Not two years later. My view is that anybody who's on a waiting list for health care is temporarily out of the system and doesn't have insurance. C'mon: Tell me with a straight face that a guy who's home in bed suffering while waiting for government-rationed treatment really has insurance. It's a cruel lie.

Canadians point to the US as derelict in providing health care to Americans, in denial about the fact that their own system is hugely in debt, short of physicians and high-tech diagnostic equipment, and unable to serve the needs of their own people. (Canada's rich run to the US. Canada's lower and middle classes just suffer.) Canada's poor beleaguered Fraser Institute tries to bring the discussion out into the open, while being hammered on by all and sundry for having "an agenda." Gee, like trade unions don't?

The "44 million uninsured in America" number that everybody is hollering about neatly ducks an absolutely critical question: How many of those 44M lack insurance because they cannot get it, and how many because they choose not to? Read this report. (Download the PDF.) A lot of young, healthy people play a sort of health lottery and choose not to buy insurance. They're in that 44M. Other people who may or may not be young and/or healthy don't buy insurance that they could in fact afford, because they don't think it's worth the (admittedly considerable) money they would have to pay. Others among the uninsured don't have private health insurance, but have been unwilling to take advantage of public health services for which they are eligible due to ignorance or cultural reasons. (It's "charity.") 25 million uninsured is still unacceptable. My point? It's complicated, and we won't get a handle on it without good numbers and honest analysis of the issues.

The core problem, which I've mentioned here in the past, is that there's no limit on what citizens may demand in terms of health care. A truly universal health care system that gave all citizens everything they wanted when they asked for it might require so much of the nation's GDP that it would bring the economy to the point of collapse. Is there an answer? I don't know. However, let's stop playing word games and pretending that "universal" health care is what we're looking for. Everything to everyone right now may be impossible. Maybe it's one of those "choose two" situations: Everyone, everything, right now. In the US we are currently choosing everything and right now. In Canada, they've chosen everyone, and that's where they stopped.

What we really need may well be a sharper knife to cut the pie with. Let's be honest about who's suffering, who really needs what, and how much we're paying, and allocate the money we choose to spend on keeping suffering to a minimum. This might require unpopular measures, including higher taxes, compulsory enrollment, and premiums or estate charges based on self-inflicted vs. unavoidable problems. It might mean a later retirement age. It might (and should) mean the end of instant riches for malpractice lawyers. It might mean quite a number of other politically incorrect measures, including limitations on heroic intervention. If this means "universal health care" is impossible, let's admit it so we're not chasing lights in a swamp. If this means that we need to be a little cleverer to make progress, then let's get on it. Certainly, what we have now is both unnecessary and unacceptible, but as long as we (or the Canadians) are in denial about the basic issues, absolutely nothing will change.

June 10, 2005: Installable Virtual Hardware?

I've been studying virtualization for some time now, and using it to great effect. Boy, if the future had a smell, I'd be sniffing it about now. With both Virtual PC 2004 and VMWare Workstation 5 installed on this system, I can be up and running with just about any OS I can lay hands on, in seconds, once I install it in a VM. I did some intensive Web-researching inside a Win2K virtual machine, storing bookmarks out on a LAN share, and if the bad guys had somehow managed to infect my Web browser, well, it wouldn't matter, because after I finished I didn't save changes to the VM. After I was done, one click and it was gone. Nothing ever touched my host OS. All I wanted were the bookmarks. Machine state mattered not at all. Talk about safe surfing!

MS has already announced that they're building a virtual machine monitor (VMM, which they call a hypervisor, same deal) into Longhorn, so come Longhorn-time, virtualization will no longer be a laboratory curiosity. It's unclear that the black hats can subvert a virtual machine to the detriment of the host OS, but I grant that it may be possible today, with everything running in ring 0. However, new hardware extensions to the major Intel and AMD CPUs will create a kind of "ring -1" for the VMM to run in, and after that, the bad guys will be beating their fists on the mountainside.

Only one thing troubles me about virtualization, and nobody seems to be talking about it: Current VMMs offer your virtual machine partitions a very thin lineup of emulated hardware peripherals. For video, you get a basic emulated S3 chipset, and that's it, irrespective of what you have installed on the underlying hardware. You get a very basic printer, and a very limited number of optical drives and USB ports. You can't just install peripherals and expect your virtualized instances of OSes to see them. They won't. What the VMM emulates is what you get.

Is there something fundamentally impossible with a VMM-level device emulation layer allowing installable emulations that attach to physical hardware? If I have six USB ports on the physical box, why can't I have six emulated ports on each virtual machine? If I have three optical drives on the physical box, why can't I have three optical drives in each emulated box? Sure, sharing is an issue among the several VMs, but why shouldn't a VMM be as good at juggling mutexes as a multitasking OS?

So far I've gotten no good answers, but it's probably the question standing between virtualizers and their general acceptance on the desktop in coming years.

June 9, 2005: QBit at Four Months

As best we can tell (there's a little uncertainty about the precise date) QBit is four months old today, and we've had him for a little over a month. The second day we had him, we photographed him where he had hopped atop our suitcase in our hotel room in Indianapolis. Just now, I dug out the same suitcase and dropped him on it for comparison. He's gained almost three pounds in the last 35 days or so (at nearly nine pounds as of this morning) and he's starting to look a lot more like an adult Bichon. Two days ago, he lost the first of his puppy teeth, and his adult coat has begun to grow in. His coat doesn't have that same silky soft puppy feel that it had a month ago, but on the other hand, he had no sense of rectal responsibility back then, and Carol and I were scrubbing poop off the floor (and once off the livingroom couch!) constantly.

Having raised Mr. Byte and Chewy from even younger puppies almost 25 years ago, it all came back to us after awhile. Poop on the couch is the price you pay for that fleeting, adorable puppyhood that he's now mostly past.

In behavioural terms he's still very much a puppy, and it's remarkable how different he is from both Mr. Byte and Chewy. First of all, he is extremely strong-willed, and pursues his peculiar passions with peculiar passion. One of those passions is attacking and pulling Carol's hair. (I don't have that problem with him.) His personality is generally forward, and come playtime, if you're not getting into rough-housing enough, he will launch himself at you on his hind legs, front paws up and scraping the air, in a pose we have come to call "frise rampant." Another passion (one he shares to some extent with Mr. Byte) is dragging pieces of paper back to his bed and shredding them like a hamster. He has a fascination for the dishwasher (Mr. Byte and Chewy were afraid of it) and if we turn our backs on the open machine for more than a few seconds he's right up in it, licking spaghetti sauce off the dirty dishes. He retrieves thrown toys and hands them to us, something Mr. Byte and Chewy never did. He allows me to trim his toenails with my Dremel tool, which our earlier dogs could not abide from terror of the device. Fearlessness in a dog can be a mixed blessing, but so far it's been for the best.

The poop problem is mostly past. He's learned to go in his potty box, which is a large, low clear vinyl storage bin designed to slide under a bed. We're still teaching him to walk on a leash, something he's resisting, and as we have no back yard suitable for turning a puppy loose in, we needed something indoors for house training. There's still an occasional accident, especially when he gets manic (which he usually does at about 10:00 PM as we're getting ready for bed) and runs around in circles for no particular reason.

Still, we love him dearly, and because we don't commute to work, we can take puppy breaks frequently during the day and appreciate these one-time puppy weeks that we missed so much of with our earlier bichons, especially Mr. Byte, who spent a lot of his first weeks locked in the upstairs bathroom while we were at work. I'll post photos of him from time to time, and in the meantime, if you want to see a short QuickTime movie of him at 11 weeks (the day we picked him up) you can download this. (2.4 MB.)

It's good to have a puppy in the house again. Life seems somehow more complete, but then again, that's what dogs are for.

June 8, 2005: Gigahertz and Gigabytes

For three years (until three months ago) my main machine was a Dell Precision Workstation 530, with a single 1.7 GHz Xeon CPU and 512 MB of RDRAM. It was a pretty good machine, and quite fast for something that "slow." It became even faster once I learned how to degunk it regularly. As most of my readers know, I worked up a new machine from loose parts back in March. It's actually a pretty fine machine with only a couple of glitches, primarily in the on-board sound support. It's got a 3 GHz Pentium 4 and 2 GB of RAM. It's also wonderfully quiet. The remarkable thing is how much faster than the old Dell it isn't.

Cycles clearly aren't everything.

I had always suspected this from my readings, but it was good to see it proved out in real life. And a few weeks ago, I did something else: I bought another 512 MB of RDRAM for the Dell, giving it a full 1 GB. Wham! It was noticeably faster, and now, for most of my installed apps, it's indistinguishable from the new box. (The only place where the new box still outshines it is with Adobe InDesign 1.5, which is a notorious cycle hog.)

Speed wasn't even the primary reason for creating the new machine. I wanted a box I could tinker with and upgrade at will (Dell machines are famously nonstandard) and even more important than that, I wanted a machine that was quiet. The Dell 530 howls, and I never quite got used to the noise. It's also tremendously heavy, for reasons that were never clear, apart from the fact that I paid $2900 for it new in early 2002. You pay that much money and you expect a lot of steel, non?

I say all this to recommend the Dell Precision 530 if you want something fast, rugged, and relatively cheap—and don't mind the noise. I've seen used instances of my Dell here on eBay for as little as $300. If you're willing to put a little more RDRAM into it, you can make it even faster. (Alas, RDRAM is not cheap!) When time allows I'm going to pick up a matched pair of 1.7 Xeon CPUs with heat sinks (about $100 on eBay) and see what that (and SMP) does to it. I'll let you know.

June 7, 2005: To Be Partners in Divine Creation

Michael Abrash and I were talking about Creationism the other day, or as Creationists prefer to call themselves, Intelligent Design (ID) advocates. I am a theist and I had weak ID sympathies for a long time, until the bad manners of many ID types forced me to think it through. It doesn't help that biology is my weakest science (gooey stuff: yukkh!) and in truth, the question didn't interest me much in the past.

What doubts I had in the past were not about whether evolution by natural selection could create a complex organ like the mammalian eye, but only about whether evolution could do so in something less than billions of trillions of years. (Evolution on Earth may have been operating for a few billion years tops.) That eyes have evolved from simple forms is obvious to anyone who's ever watched a planaria worm under a microscope; why the ID crowd disputes it is a puzzle. The time scale issue is more significant, and depends on whether or not genetic mutation is truly random. It isn't. What we've learned in recent years is that physical and chemical factors in the environment of an organism can "tilt" mutations in specific directions, thus hugely limiting the range across which mutations occur. The precise mechanism here remains a little fuzzy, but that's simply a call for more research to bring it into focus. The fact that it's chemistry (and not just divine string-pulling) now seems pretty obvious to me.

But this brings us back to the question of why so many theists place God and knowledge of the physical world (which we acquired through application of the scientific method) in opposition. Is a God who pulls strings more powerful than a God who sets up the bounding conditions of a new creation such that stars, galaxies, and life emerge as a consequence of those bounds? A God who merely snaps His fingers and says, "Bang! You've got eyes!" to me smacks of the demiurgic 17-dimensional parlor magician that I mentioned in my May 11, 2005 entry.

It's really a failure of imagination. The God that I can imagine is immense, unthinkably immense, such that the Drumlin Number (2^256, or 1.45E77; think about it!) vanishes by comparison. A God that big can think and act across dimensions of space and time that mean virtually nothing to us. A God that big can do more than just wave His wand and say, "Let there be light!" A God that big can set in motion processes that, across the eons, echo and echo with comprehensible wonder.

This allows the God that I can imagine to be generous. While devising our creation, he kicked back and said to Himself, "Whoa! This is cool! I'm going to allow this to happen such that my forthcoming children can work out the mechanisms that I use, and thus share the experience of Creating with me. This is something they're going to want to see!" And so it was. And by God's generosity I can grasp redox equations and understand how sodium and chlorine become salt. And so I can understand the series of nuclear reactions by which hydrogen interacts with gravity and becomes helium and all the other elements down to iron, and later, by smaller echoes of the Big Bang that we call supernovae, into all the other elements in the Periodic Table. Someday it will allow us to understand how simpler creatures became more complex creatures, and eventually you and me.

We haven't grasped it all yet; the Great Unfolding will take millennia. There's plenty for us to discover, and for all the curious people yet to come. I have a personal intuition that at some point in the distant future, the last mysteries will all fall into place, and around some strange epistemological corner we will finally run into God Himself, who will grin and say, "Hi guys!What took you so long?"

God didn't just create the world for us. He cut us in on the deal. This precludes magic, and requires comprehensible things like chemistry and physics and calculus. Does this make God smaller? Hardly. This makes God so big that it takes faith to grasp Him. For people who have true faith, evolution doesn't contradict God. To the contrary, it indicate that He's there, and he's left a place for us beside Him, as the Eighth Day of Creation unfolds before us, toward a still-unknown destiny that will be His greatest gift of all.

June 6, 2005: Is Hollywood Behind the New Apple Core?

A deafening, collective WTF has been going up around the industry over reports that Apple will be converting over to Intel chips later this year. One guy claims (without any strong sources) that this only means that Intel will begin making Power-compatible CPUs. His point that Apple pays less for its Power CPUs than it would for comparable Pentiums is important, and probably true. Also, lazy Mac coders have long assumed a big-endian memory addressing system in cutting certain corners, and a switch to little-endian x86 would be a lot of work hunting down such lapses. Wired, however, offers us what might be the perfect explanation: Hollywood is demanding that Apple convert to Intel CPUs so that Macs will be subject to Intel silicon DRM. If Apple refuses, the next generation of TV and movie content will not play on Macs.

No one yet knows what's true and what is smoke-blowing. It's been a real mishmash of stories in recent weeks. A May 27 Computerworld piece stated plainly that Intel was quietly shipping silicon DRM as part of the Pentium D CPU and 945 support chips. A few days ago, the Inquirer quoted a statement from Intel that the 945 does not have any unnanounced DRM silicon, but that the Pentium already supports a number of technologies for "protected transport" of content over a home network. These include DTCP-IP COPP, and HDCP, none of which are news, though all will (eventually) become a nuisance. As I reported lasy year, My little EZ-Go XP box refused to output S-Video from a DVD, making it mostly useless as a DVD player. (I wonder if it will do the same once I put all my QBit puppy videos on DVD.)

I don't mind paying for content and never have. What I mind is "collateral damage" from DRM (like not being able to play home-made DVDs on my PC) and software that claims the right to take over my operating system. Years back I installed some knuckleheaded ebook reader that would not allow a debugger to run on my Windows system, and yet would not allow me to kill the process from Task Manager. I had to uninstall the little boxpirate to finish the assembly work I was doing. It was a fine lesson, and allowed me to crystallize my feelings on DRM: Do whatever you want with your own content, but do not interfere with my ability to use and control my PC.

Ultimately, it will all be for nought: As Bruce Schneier has pointed out many times, a DRM technology only has to be broken once. After that, the file-sharing networks take over, distributing both the DRM-stripped content and the DRM-stripper itself. Hollywood doesn't want to take on file traders in the courts one at a time, but that's really their only effective option. Silicon DRM makes the DRM cracker's job harder, but not impossible. Remember that the DRM wars are not about revenues but about egos: Hollywood's bosses cannot stand the thought that somewhere, somebody is seeing their stuff without paying for it. If consumers or OEMs won't accept DRM, they'll take their marbles and go home, being more willing to lose money than admit that they've been licked by some grubby teenager in Estonia.

June 4, 2005: Intel (and Apple) Inside

Whoa. This one came as a surprise: Apple is switching to Intel CPUs inside all their processors, starting with their low-end Mac Mini by next year and completing the move with their Power Mac machines by 2007. I haven't found any official explanation as to why Apple would do this, and the major players involved (Apple, IBM, and Intel) aren't talking. Intel CPUs are perhaps a little cheaper than comparable Power processors, but they're not dirt cheap. And by giving up the Power architecture, Apple gives up a processor that is fast, elegant in design, and (perhaps most important) not dragging thirty years of spotted history around inside it.

I've seen in several places that Apple loses users every time it changes architectures, and this time won't be any different. After an architecture change, users must either upgrade their favorite legacy apps ($$) or run under emulators, which are neither as fast nor as trouble-free as running under the native environment. (Admittedly, the more processor power you have, the more you can afford to emulate older systems, and we have more processor power now than ever before.) So Apple must know that they will not keep all their Mac users through a third architecture change. Apple has a lot of loyal-to-the-death users, but also a fair number of Mac-because-I-have-to users, generally at schools and design shops. The move will come at a significant initial cost in market share.

And I'll make a guess as to why they're doing it: It's the first step toward selling OS X as a boxed software product. They have to do something; with only 1.8% of the PC market and significantly higher prices compared to PCs, they're in serious danger of vanishing into the noise by 2010. The first step will be to manufacture in-house x86 hardware; the next step (which I'm sure they don't want to talk about) will be to crisply define the Mac hardware platform and outsource maufacturing to third parties in the Pacific Rim. The final step, which they've sworn they will never do, is to rejigger the OS so that it can run on standard x86 PCs.

That wouldn't be the end of the world, nor would it be that hard. The OS X kernel is based on BSD Unix, which has long run (and run very well indeed) on x86 hardware. It's not a coincidence that Linux can be made to run so quickly on so many platforms; Unix was designed to be portable in ways that Windows never was. BSD is demonstrably a better kernel than Linux, and with some care out at the edges where the OS meets the hardware, OS X could well run faster and more reliably than Windows.

There's a potential benefit to all of us (and a revenue stream for Apple) that I haven't seen anyone else mention: Apple could license a cleaned-up reference model for x86 motherboards that would run both Mac and Windows. If "Mac Compatible" came to be seen as an emblem of mobo quality, even Windows users would pay (perhaps a little extra) to run on Apple-designed hardware. It would be free money for Apple, and profound irony: A few cents from every high-end Windows machine would go to Apple, and MS would have nothing to say about it.

That may not happen anytime soon, or perhaps at all. What we will see are cheaper Mac systems, which will bolster Apple as a company and keep the Mac platform in the running. And what I'd like to eventually see is a system in which Windows and OS X are both preinstalled on PCs, and you get sixty days to try them both before paying to activate one and delete (or ignore) the other. All the endless arguments about which environment is better would fall to real numbers: Users would decide, and we would know.

Then we can all shut up and get back to work. I'm for that.

June 3, 2005: Odd Lots

  • We all read on Slashdot back in 2002 that the Solotrek personal duct-fan flying whatchamacallit had died from capital starvation, but Frank Glover sent me a note indicating that it's back, with a different domain and no illusions of selling to Silicon Valley hotshots. The military is their new market, and I suspect that somewhere along the way, somebody bought Solotrek and decided to try again. Hey, we civilians eventually got Hummers, for what that's worth. Maybe at some point we'll get Springtails too.
  • Molly Wood has finally published something worthy of citing here: A nice article on why social networking is a fundamentally flawed concept. She may be analyzing too much here; I can put it far more simply: Social networking takes far more time than it returns in benefits. Guys, if you want to talk to me, there's email. Forgive me if I don't hang out on Orkut or LinkedIn.
  • Jim Mischel wrote in his May 31 Random Notes entry that his Web stats on hits and visitors is down about 30% since April. It's interesting that my own stats have shown a similar decline, having peaked in March and slowly declined by about the same amount. Jim and I both use the same hosting service (Sectorlink) though I doubt that makes a difference one way or another. I'm guessing that stat spamming was a fad that has had its day, and that back in March about 30% or more of our hits were from stat spammers. (A less terse name for this is "referral log spamming.") John Kerry's campaign apparently did a lot of it back before the last election—could it have cost him the Presidency? I'm a little amazed that stat spamming works at all; do that many people read and follow links in their referral logs? Perhaps companies interested in "referral marketing" have begun to understand how hated that will make them among (influential) Web site owners. Time to research "rel=nofollow", which is supposedly the solution to this problem.

June 2, 2005: Warning! Plague! Parasites! Plastic Sheep!

We had to send Carol's mom and our older nephew Brian home late this afternoon, so this morning we took them on one last touristing jaunt to Seven Falls, a famous natural attraction only a few miles from where we live. Remarkably, Carol and I hadn't been there before, and it was as new to us as it was to them.

Seven Falls is a near-vertical box canyon over 200 feet deep, with a 180-foot waterfall at one end. The waterfall has seven distinct segments, hence the name. The day was beautiful and the falls were indeed something to see. There are over 400 steps of stairways to be climbed to see the falls and the canyon from various angles, all of which we took. It's maybe a little steep at $8.75 per person, but we got a little exercise and some great pictures.

There were a few notable weirdnesses. Someone at the Seven Falls Company loves signs. There were signs all over the place, pointing out different kinds of trees and rocks and commanding us not to do various things. There were lots of signs. There were so many signs it began to interfere with the natural serenity of the canyon and the forest above it.

I wouldn't mind if most or even all of the signs were sensible and important. Signs like "Stay on the stairs. If you fall off, you will die!" would have made sense, but that was one of the few warnings we didn't see. Shortly after we entered the park, a vivid yellow sign warned us that "Warning! Squirrels and other wild animals carry plague!" Yes, plague has been found in the occasional squirrel, but if the point of the sign was to keep people from trying to cuddle the wildlife, a far better sign would have read: "Touch the wild animals and they will take a piece out of your fingers!" Further on another sign told us earnestly to "Respect the privacy of snakes and other animals. Stay on trails." Yeah, and just what are the snakes doing on the other side of that hill that they don't want us to see?

Above the falls, where the creek is just a pleasant trickle of snowmelt through the forest, there were two signs almost side by side that were clearly not on speaking terms. One simply read: "Creek feeds city water supply. No wading." Right on the other side of the screek was a second sign reading, "Slippery rocks and giardia parasites are present!" Urrp. Can you guys please make up your minds? (Alas, I could not get both signs in the same photo.)

Another sizeable sign that warned against littering listed the lifetime of various items of litter when carelessly cast into the ecosphere. Did you know that a cigarette butt lasts 150 years? Would you like to learn while trying to appreciate the peace and beauty of an unspoiled forest? Are morons who toss cigarette butts into the woods likely (or even able) to read the sign? Me, I'm not so sure.

Finally, hundreds of feet up on the rim of the canyon, we thought we saw a deer looking down and a bighorn sheep standing on a rock. After we watched them for several minutes without seeing either move so much as a hair, a guy saw where we were looking and said, "Forget it. They're plastic." And sure enough, once we climbed even halfway up the 400 steps to the top of the falls, we could see the guy wires.

Ahh, well. Look past the ridiculous labels and faux wildlife (which I suspect do not carry plague, so relax) and enjoy the falls and the forest. You could be in Brooklyn.

June 1, 2005: Unlinspiring...

I picked up a copy of Linspire (formerly Lindows until, um, somebody objected), which is a "commercial" Linux distro that many say is as close to Windows in terms of GUI that any Linux will ever be. There is a line somewhere, which no one has yet crossed, that will resurrect the old corpse of "look'n'feel" that we thought we buried years ago. It also has a reputation for being easy to install, and that may well be true...unless you're trying to install it in a virtual machine.

Three attempts failed to get Linspire to install at all under VMWare. Because the installer is pretty much a black box, it's difficult to tell what Linspire doesn't like. I got it to install under Virtual PC, but it runs very slowly, and only in 1024 X 768. (That's the only video mode it seems to recognize in the virtualized S3 video systems present in both virtualizer products.) I much prefer 800 X 600 for testing, since my native screen resolution is 1024 X 768, making it pretty painful to run Linspire in a window.

As if all that wasn't irritating enough, I almost immediately received an email from Linspire, over Michael Robertson's name, asking me if I'd like to "snag some swag." (Note to non-geeks: This means, "Would you like to buy some cheap imported crap like coffee mugs with our name on it?") My aversion to "branded product" is legendary; I always tell people never to wear advertising that isn't their own. I still wear Coriolis shirts, but I have unloaded the mountain of idiotic T-shirts that I gathered in the cause of being polite back when I ran magazines. (The only two I retained were from DDJ and Programmer's Journal, as I have some history with both mags.)

So let's just say that I'm less than inspired by Linspire, as much as I admire Michael Robertson's chutzpah in originally calling his product "Lindows" just to reap the publicity of the inevitable MS lawsuit. This is a variation on the Depression-era trick kids used to use of making faces (or perhaps less civilized gestures) at steam locomotive engineers to bait the engineers into throwing lumps of coal at them. Half an hour down by the tracks could keep the furnace alive all night.

To be fair, I still intend to install Linspire in my Linux partition on the Xeon system downstairs, but if first impressions are any guide, we're not going to have a beautiful relationship.