Jeff Duntemann's Contrapositive Diary Rotating Header Image

February, 2009:

The Great Tumbleweed Migration

aerosnoozingI worried needlessly. By the time we got on the road at 10 AM, the sun had dried out I-80 completely, and we did the 410 miles to Des Moines without incident, though the temps did not get above 20F. We’re now kicking back and taking it easy; less than 350 miles remain, and at this point I could do that standing on my head.

One thing I forgot to mention yesterday was the Great Tumbleweed Migration on I-76 in the northeast corner of Colorado. We had a strong wind out of the north, and for a 20-mile stretch past Julesburg, the weeds were rolling across the Interstate by the hundreds like some weird animals, in many sizes and shapes. Carol tried to get a video, but it’s not as impressive as I’d hoped, and certainly not good enough to post. When we hit a rest stop in Nebraska I found pieces of tumbleweed stuck in my bumpers and there’s probably plenty more elsewhere under the chassis.

And of course, we left Colorado just in time for the temps there to start creeping up into the 70s. Not bad for February, and apparently our best-kept secret. (This is nothing new.)  Golf at Christmas. Ski at Easter. And vice versa.  I rarely appreciate it until I leave.

Heat of Fusion

moonvenus022709Well, we’re off to Chicago again, driving that familiar I-80 corridor, and yesterday got as far as North Platte, Nebraska. The target was Kearney, or at least Lexington, but winter threw us a curve: As we left Colorado on I-76, the temperature started to drop, and the quick dusting of snow that had passed over the area an hour or so earlier was freezing on the pavement, making the left lane a first-order approximation of glass. In fifteen miles we passed two rollover accidents, and speed was down in the 45 MPH range. Driving that stuff in the light of an overcast sky was bad enough. Driving it at night was right out. So we stopped at a nice Holiday Inn at North Platte. The free broadband is about dialup speed, but at least it’s there.

As we took the puppies out for a walk last night in 15° temps, I tried to get a shot of the conjunction of the Moon and Venus on a dark, unplowed road behind the hotel. The shot above isn’t bad, considering it was a snapshot from a handheld camera (my new Canon G10) that I still don’t know how to use in any detail.

We’re about to load the car and get back on the frozen roads, wishing that the heat of fusion of water was a little lower, so that the Sun would clear the ice a little sooner. It’s +4° right now, and it may be a slow haul to Des Moines. We’ll soon see.

Odd Lots

  • The dairy that delivered milk to our house when I was a kid was indeed Hawthorn Mellody Farms (as verified by the Sister of Eidetic Recall) which was unusual in several ways: They had an amusement park in Libertyville, Illinois, complete with a miniature train ride, a petting zoo, Western town, and pony rides, that was a famous destination in the 50s for suburban moms with station wagons full of Boomer kids. They were the first dairy to put pictures of missing children on milk cartons. And before they went bankrupt in 1992, they were one of the largest Black-owned businesses in the country.
  • Also relevant to my entry of Febraury 24, 2009: Dunteman’s Dairy evidently existed before 1939. A page out of the 1937 Arlington Heights phone book from Digital Past shows an entry for Dunteman’s Dairy at 830 N. Dunton Avenue in Arlington Heights. The 1936 phone book shows a listing at the same address for “L. Dunteman,” so Lenard may have begun operating the dairy from his back yard (not an uncommon thing to do back then!) in that year. Prior to 1936 his listing shows yet a different address. I’ll have to see what’s at that address today the next time I’m in the area.
  • Digital Past is a very good source if you’re doing genealogy research on Chicago’s northwest suburbs; awhile back I found the location and a photo of the headstone of Laura Brommelkamp Dunteman there, after looking in vain for some years. (She was the second wife of Henry Dunteman, founder of R. W. Dunteman Construction, which is still in operation in Chicago’s western burbs.)
  • Well, grub is still plug-ugly, but it’s no longer difficult to configure. I’ve been using KGrubEditor for over a month now, and it makes the job a breeze. Highly recommended.
  • Where’s my flying car? Well, it may be here: Yet another Skycar concept, but this time it’s more Mad Max than Flash Gordon. Put a big fan on the back of a go-kart, get up some speed, and then release the parawing. Off you go!
  • Philip Jose Farmer has left us. Along with Heinlein, Clarke, and Keith Laumer, Farmer was one of the SF writers who inspired me to keep going and make something of myself in fiction. I still consider the Riverworld concept one of the most compelling ideas ever to surface in SF, even though the series wandered toward the end and would have been much better had it been three books (on the outside, four) instead of five.
  • I was going to do a whole entry on this, but Cory Doctorow said everything I intended to say about whackjob Roy Blount Jr and the knucklehead Authors’ Guild, who want money from anyone who does text-to-speech. There’s nothing I can add, and as a longtime author who still makes money writing, I think I have a right to strong opinions about this. Let me quote Cory here, and cheer:
  • Time and again, the Author’s Guild has shown itself to be the epitome of a venal special interest group, the kind of grasping, foolish posturers that make the public cynically assume that the profession it represents is a racket, not a trade. This is, after all, the same gang of weirdos who opposed the used book trade going online.

    Dunteman’s Dairy, and Milk Caps in Winter

    DuntemansDairyMilkCap1.jpgWhen I was a pre-teen, we used to get milk delivered to the house every few days. I don’t recall fersure which dairy it was (Hawthorn Mellody Farms?) but the milk was in massive gallon returnable glass bottles with wire carry-handles, and a paper cap was machine-pressed over the lip to seal it. The caps themselves were circular sheets of blank white paper, but stapled to the center of each cap was a printed cardboard disk about an inch and a half in diameter, containing the name of the dairy. The cardboard disks are now collectibles, related in a vague way to the juice-bottle “pogs” that were stylish for half an hour or so in the mid-1990s.

    Last week I got an email from someone asking if I knew anything about Dunteman’s Dairy. I did (a little) and when I went looking around for more info I found an eBay auction for one of their milk cap disks. The disk arrived yesterday, and you see it above. As I’ve explained here a time or two, my great-grandfather Frank W. Duntemann was the only boy of five in his family to keep the second “n” at the end of his name. Most Duntemans that you see these days are related to me, and all the Duntemanns, what few remain.

    Dunteman’s Dairy was located at 420 E. Northwest Highway in Arlington Heights, Illinois. It was founded and run by Lenard Barney Dunteman (1906-1992) and his wife Grace Stippick Dunteman (1909-1978). As best I can tell, Lenard started the business in 1939, built a dairy plant from scratch, and ran it for almost twenty years. He bought raw milk from local dairy farmers (including some of his cousins) pasteurized and homogenized the milk, bottled it, and delivered it with his own trucks in Arlington Heights and adjacent Chicago suburbs. He was of my grandfather’s generation. Technically, Lenard and I would be third cousins, twice removed. His father Albert Dunteman was my great-grandfather Frank Duntemann’s younger brother, if that helps at all.

    I don’t know a lot more than that, nor how broad their product line was. I know that they made and sold chocolate milk, but whether they sold butter or cream, I’m still trying to find out. Lenard had a mild heart attack in late 1958, and panicked. Fearing early death, he sold the equipment to another local dairy (I don’t know which one) to generate cash to support his wife, and retired. Ironically, Lenard lived to a genteel old age, but Grace died fourteen years before he did. The dairy building is still there and has been different things over the years. Parts of it have been razed, and what’s left has been given a new facade and is now a Shell station.

    One final note about paper milk caps. In the worst of a bad Chicago winter, a bottle of milk left on an exposed front porch (like ours was) would begin to freeze after an hour or two on a particularly raw morning. I still find it odd that the bottles didn’t crack from the expanding milk, but something even odder did happen: A column of frozen milk would rise from the neck of the bottle, forcing the cap off. I remember seeing the cap a full two inches above the neck of the bottle on our porch once, circa 1959. This used to be a common sight (Stevan Dohanos did a Saturday Evening Post cover on it in 1944) but these days I doubt that more than a handful of my readers have ever had milk delivered to their homes. It’s just not done much anymore.

    As for why the bottles didn’t crack, well, that still bothers me. I’m speculating that with whole milk, at least, the cream that collected at the top acted as a lubricant, allowing the ice to move freely upward, relieving pressure and keeping the bottle intact. If you’ve got a better theory, I’d love to hear it!

    Odd Lots

    • I’m 77,241 words into the revision, of which about 25,000 words are new. So I now have a little less than 100,000 words to go, and I’ll have a book. More has to be rewritten than I thought, but mercifully, not all of it. This is going to be almost my sole project for the next four months or so. Maybe I should get one of those writers’ progress bars for WordPress, if such exists.
    • I finished the second ASCII chart, for the IBM-850 code page.
    • The glyph for the German sharp-s (esset) character is not called “szlig” except within HTML pages, where it appears to be a name invented for the glyph by people who do not speak German, perhaps from “sz ligature.”
    • Bright green Comet Lulin whistles past us today, at its closest a still-comfortable 38 million miles off, but it’s apparently a fine object in even a small telescope, and can be seen with the naked eye if you’re out past city lights. It’s very close to Saturn in Leo. Space Weather has a nice map showing where to look, and when.
    • This may be the hoax of the decade.
    • And while we’re talking digital TV, I’ve been wondering if those little USB TV receiver thingies are digital-ready–but not wondering hard enough to go research. (I watch almost no TV, but you knew that.)
    • David Stafford and Jim Mischel informed me that there is an audiobook of someone reading my story “Drumlin Boiler” in what we think is Russian. (“Dramlinkskiy Kotel”) It’s a 50 MB MP3, so think twice about downloading it, but I would like some confirmation as to the language. Sure, it’s a pirate edition, but these days I’m happy someone is reading me, even if aloud.
    • Bruce Baker sent me a link to an intriguing article by Rudy Rucker on self publishing. The problem: Only your friends will buy your book. The solution: Work hard at having a lot of friends.

    Glites, Gliders, and North Pacific Products

    When I was a freshman in high school, I remember picking up an odd paper kite at Walgreen’s. It was called a Glite, and was billed as a “gliding kite.” I was intrigued, and as it might have cost as much as 35c, I was willing to try it. The instructions indicated that even on a completely calm day, you could pull it aloft on a string, let the string go slack, and it would glide gracefully to the ground.

    I never tried that; completely calm days were unusual where I grew up. However, I did try just tossing it horizontally, and it flew better as a glider than a lot of the small balsa wood gliders I’d played with over the years. Unlike the diamond bow kites I’d always flown, the Glite had a center of gravity a lot farther forward, giving it the balance of a glider rather than that of a conventional kite. Its two lead edges were relatively thick wooden dowels, as was its spine, making it a lot heavier than most kites as well.

    It’s a shame it didn’t fly better as a kite. The one day I did try to fly it kite-style, there was a nasty wind, and my Glite looped helplessly in the air over the Edison schoolyard before ending up in the low branches of one of the kite-eating trees that stood in the parkway up and down the full length of the school property. I managed to get it down, but tore the sail badly in the process. It sat in my corner of the basement awaiting repapering, but I never got around to it and eventually threw it out.

    I always wondered who made the Glite and how long the product had been on the market, though never badly enough to spend any time searching. Earlier today I spotted a paper Glite on eBay, and the seller kindly sent me the patent number printed on the sail. This led me to US Patent #3,276,730, which had been granted to Charles H. Cleveland of North Pacific Products of Bend, Oregon, in 1966. The irony is that the patent is titled “Tailless Kite,” when in fact the damned thing needed a tail pretty badly. Interestingly, the patent text does not mention the device’s gliding ability at all; Cleveland must have discovered that later on, or perhaps did not consider it a patentable aspect of the product.

    Searching for other inventions patented by Charles H. Cleveland led me to US Patent #2739414, a balsa wood “knock-down toy glider” in which the wings were attached to the fuselage by a short length of plastic extrusion. I recognized it instantly as a species of glider abundant at Bud’s Hardware Store and other places when I was eleven-ish. You could fine-tune the balance of the glider by sliding the red plastic extrusion forward and back along the spine, and I remember that they flew very well, for something that probably cost a quarter. Cleveland liked things that flew; he also patented an oddly cubistic boomarang (which I never saw in a store) and a rubber-band catapault launched glider toy, which I did see once in a hobby shop, though never bought.

    I did a little looking for North Pacific Products, Inc. and found no trace of the firm. A Portland, Oregon lumber products company is now using the name and does not mention toy manufacturing in its history. The SSDI lists a Charles Cleveland whose last residence was Bend, Oregon, and lived from 1917-1982, which would be about right. (His last patent was filed in 1980.) I may buy the Glite and would love to do an article about it; if you know anything else, please pass it along.

    A Chart, If You Can Read It

    The last couple of evenings I’ve been working at fulfilling a promise I reneged on ten years ago. Somewhere in the text of the second edition of Assembly Language Step By Step (which I was writing in the summer of 1999) I promised readers an ASCII chart as one of the appendices. I then plum forgot, and the book appeared in 2000 without that appendix. I still get emails from people asking me where they could find the chart, and have to reply in my best sheepish email voice that no chart exists anywhere in the book.

    So this time I thought to put things right. I sat down in front of InDesign and figured out an ASCII chart format for the full 256-character extended set, and drew me an ASCII chart. For the encoding I used Code Page 437, which is what they now call the IBM PC ROM character set. Whether they could name it or not, CP437 was much beloved of DOS text-mode programmers, with all four card suits and more box-draw characters than anybody ever knew what to do with. The chart will fit comfortably (if snugly) on a single page in what we in publishing call “computer trim,” and I consider it a complete success, at least if you have good eyesight or a set of readers within easy reach.


    As best I can tell, there is no encoding option available for Konsole (or any other Linux terminal emulator that I have) for Code Page 437. As close as I’ve come is IBM-850, which has fewer box-draw characters and more non-English alphabet glyphs. Of course, once you have a chart, it’s no big deal to find a new set of glyphs and sub them in, which is what I’ll be doing in coming days. In the meantime, if you have any use at all for a CP437 ASCII chart, here it is. I’ll post the one for IBM-850 when I finish it. Ten years late, I guess, but better late than never.


    In parallel with editing and (increasingly) writing chapters, I’ve been interviewing tools to feature in later parts of the third edition of Assembly Language Step By Step. Kate has the gig for editor, but the debugger slot has been annoyingly open for a long time. Since the beginning of the year I’ve been interviewing debuggers and GUI debugger front-ends for gdb, which is more an engine than a debugger and may well be the single most painful piece of software I’ve ever had to use. (Don’t get me started on that. Whoops. Too late.)

    It’s been frustration cubed. Here are some notes on the fray thus far:

    • Nemiver does not work correctly with assembly language executables.
    • Insight would be a good choice, but it is one of the ugliest things I’ve ever seen running on Linux, and I mean ugly in the sense of, well, ugly: Badly rendered Motif/Lesstif screens that seem scruffier than they should be, with hard-to-read tiny fonts. I know why they used that widget set (it’s very lightweight) but I also think that’s no longer anything like an issue in the Linux world.
    • DDD is uglier than Insight, and doesn’t work as well.
    • KDbg was my favorite for a long time, because it’s not ugly and fairly straightforward to use, but its help system is broke and I never figured out how to dump memory or display named data items from assembly. Like Nemiver, it was really created with C and C++ in mind. Like people tell me endlessly (and shut up, already!) “Nobody uses assembly anymore.” Heh.

    As I race past 65,000 words and close in on the end of Chapter 6, I was forced yesterday to make an executive decision and call Insight the winner. Insight is interesting in a number of ways: It’s not a GUI front-end for gdb; it is gdb, and has knowledge of gdb’s deep internals in a way that a separate app simply can’t match. The GUI was written in Tcl/Tk, a language I learned and enjoyed almost fifteen years ago when I got Ousterhout’s book in for review at PC Techniques. One would think it would be no big deal to rewrite Insight for Gtk or Qt, but I don’t see the dust from any stampede.

    So I got me an ugly debugger. That is (given my deadlines and the significant amount of money riding on the project) better than no debugger at all.

    Looking for Mr. Beefheart

    Jeff and QBit With Heart-Shaped Steak02-2009Small.jpgStop looking, actually. He’s right here. (And that’s Mr., not Captain, thanks.) Carol was at a dog show yesterday and I blasted out 4600 new words on Chapter 6, so it was not an especially romantic day, but that’s OK; we have built romance into the very fabric of our lives together, and in a sense we do a low-key, distributed Valentine’s Day 24/7. It’s not a giddy, infatuated romance–though we rediscover a little of that now and then—but rather the steady heat that comes of knowing one another unselfishly and deeply for a great many years. (For us, that would be closing in very quickly on 40.)

    So Carol surprised me with a somewhat unusual Valentine’s Day present yesterday: A Colorado rib-eye steak cut in the shape of a heart. The steak came from Ranch Foods Direct, a Colorado Springs packing operation that buys local beef and buffalo and sells it both wholesale and at a couple of their own shops. We buy a lot of their meat, as it’s antibiotic and hormone-free, mostly grass-fed, and doesn’t travel very far to reach us. If you’re local, I do recommend them.

    Knuckle-dragging, knob-headed Neanderthal that I am, I’ve been improving my health in recent months by eating less grain and more meat. The caveman diet has raised my general energy level (I don’t remember the last time I wrote 4600 words in one day!) and dropped my weight to 148, from 155 a year ago. I’d eat less sugar too, except that I haven’t eaten significant quantities of sugar in years. (I have dessert about three or four times a month, and then only after a big meal.)

    Once Carol unveiled the steak, QBit couldn’t keep his eyes off it, and he followed me around the house as I looked for a suitable place for the inevitable photo opportunity. The weather should be good tomorrow. It may get up to 50, and be sunny, and we’re going to grill it out on the back deck. QBit and Aero will both get a little bit. Neanderthals had dogs, and still do. Neanderthals didn’t write computer books—and their dogs weighed a little more than fifteen pounds—but Tuesday was Darwin’s birthday. Here’s to evolution!

    KDE Follies

    I’ve been busy. And I’ve had headaches. This is mostly why you haven’t heard from me in a few days. I wondered for awhile if I was getting headaches because I was busy, but I’m coming around to a different point of view: I’m having headaches because I’ve been fooling with KDE.

    I used to like KDE, until KDE 4 happened. Kubuntu 8.04 would not install correctly on two of the three machines I tried it on, and on the third it malfunctioned weirdly after a couple of days of very light use. I had almost no trouble with Kubuntu 7.10, apart from its failing to set up a network printer. That was KDE 3.5, which I liked. The press on KDE 4 was not good, and I figured I would let Kubuntu rest for a couple of cycles to see if the KDE 4 codebase would shake out a little.

    I might have waited for 9.04 except that I couldn’t get the KDbg documentation to run under GNOME. I like KDbg a lot; it’s a beginner-friendly front end to the highly human-hostile gdb debugger engine. I’d like to cite it in my book, but there are a couple of things about it that I just can’t figure. Press F1, right? Well, when I do that, I get a mysterious error dialog:

    Could not launch the KDE Help Center:

    Could not find service ‘khelpcenter’.

    I assumed at first that this is what happens when you have a KDE app running under GNOME, but the kate editor is also a KDE app, and its help document comes up without any trouble. The khelpcenter4 package is installed on the system. The obvious thing to try is to run KDbg under KDE, and see if things work any better.

    Of course, to do that you have to have a running install of KDE.

    I downloaded the latest Kubuntu ISO (in 13 minutes on BT!!), burned it to CD, and booted the live install on my SX270, the same machine on which Ubuntu 8.10 installed without a glitch. Kubuntu detected the monitor resolution, but…the display blacks out every six seconds for about three-fourths of a second. Otherwise (heh) it runs perfectly. The blackout is not a fade; the screen just turns black instantly. It made me a little nuts, but I suffered through this game of desktop peek-a-boo long enough to install KDbg. I pressed F1. Same dialog. KDE can’t seem to make its own help system work.

    So KDE is on that certain list of mine right now. Even though it displays the assembly source for single-stepping, KDbg won’t display named initialized data in NASM executables, and the Memory window refuses to display anything, initialized or otherwise. Being able to inspect data in memory is mighty damned useful, and I’m starting to think that KDbg isn’t really set up to debug assembly language. Like almost everything else in the Linux world, it’s a C thing. Maybe there’s a magic command-line option that allows it to interpret stabs format debug data for assembly language, but there’s nothing much about it online. Clues welcome.

    And Kate? The only thing it lacks is a shortcut for running make or launching a debugger, but that’s easy enough to do in the terminal window. It’s graspable enough for beginners, and that’s what I’m striving for here. Newcomers should not have to learn EMACS or gdb to make “Hello world” happen in assembly.

    I don’t want to have to use gdb Insight (if there’s an uglier widget set than Lesstif’s I’ve yet to see it) but if I can’t get KDbg to browse data in memory, I may have to. And the decision has to be made soon. (I feel another headache coming on…)