Michael A. Covington, Ph.D.
Senior Research Scientist
Adjunct Professor of Computer Science
Associate Director
Artificial Intelligence Center
The University of Georgia
This is a private web page not hosted or sponsored by the University.

E-mail (important messages only):
(University business only)
(all other messages)


About this notebook

Daily Notebook
Copyright 2004 Michael A. Covington
(Caching by search engines is explicitly permitted.)

Strange bug in NTBACKUP

After upgrading to Windows Server 2003, I found that I couldn't run backup jobs as Scheduled Tasks, nor from the command line. Launching NTBACKUP interactively, they worked fine. But whenever I try to run a backup as a Scheduled Task, I found the following error in the backup log, and, usually, in the application event log:

NTBackup error: 'The saved selection file "backup.bks" cannot be found.'

This is fishy because the command to launch NTBACKUP was actually:

C:\WINNT\system32\NTBACKUP.EXE backup "@C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\AIS1 daily incremental backup.bks" /a /d "Incremental" /v:no /r:no /rs:no /hc:off /m incremental /j "AIS1 daily incremental backup" /l:s /f "F:\AIS1_Backups.bkf"

with the file name AIS1 Incremental Backup.bks, not just backup.bks. So NTBACKUP didn't even seem to be looking for the right file.

This sent me on a long and futile wild-goose-chase dealing with the location of the .bks file. I tried shorter names, shorter paths, paths with no blanks in them...

It turns out this is a misleading error message; NTBACKUP found the file and didn't like what was in it. See for example Microsoft bulletins 828402 and 264604.

The solution is as follows.

The .bks file is a text file, and bulletin 264604 says it has to be in Unicode. The truth is stranger than that. It actually has to be 16-bit little-endian Unicode with no FEFF at the beginning. If you open it with Notepad, edit it, and then save as Unicode, the FEFF byte-order identification character is added. This makes it a more kosher kind of Unicode but is not acceptable to NTBACKUP.

With Windows 2000, we had no problem using .bks files that had the FEFF and were big-endian or little-endian. All I can conclude is that since 2000, the Unicode input routine has been rewritten by someone who doesn't know what Unicode is.

I have not yet obtained Microsoft's "hotfix" (corrected NTBACKUP), and a quick experiment showed that a copy of NTBACKUP from a Windows XP machine had exactly the same problem.

In the meantime, the way to fix a mangled .bks file is to edit it with Notepad, save it as Unicode (not big-endian), and then edit it with an ASCII editor in order to delete the first two bytes.

These people win my Bug Of The Month Award. It takes real effort to introduce this kind of error into a program. And the deceptive error message is icing on the cake.

Two retirements

Today we celebrated (or at least honored) the retirement of Donald Nute, director of the Artificial Intelligence Center (and the research group from which it developed) from its inception in 1986 until last year.

Don't worry - he won't be gone long - he's coming back as a part-time employee very soon.

I've very much enjoyed working with Don. He's a professor of philosophy, specializing in logic, and our collaboration has revolved around computer implementations of human-like logical reasoning.

And - unlike some academics - he puts a high value on a happy family life and a lifestyle that includes time for hobbies as well as work. Though I may have gone overboard on the hobbies (most of which have now been absorbed into my profession), I've very much appreciated a working environment in which I was not expected to neglect family and personal interests in the single-minded pursuit of academic status symbols.

But the best philosophy I've received from Don is the following.

People often ask, "If you're so smart, why aren't you rich?"

Don's answer (and also mine): "I'm smart enough that I don't have to be rich in order to get to do what I want to do."

Wouldn't it be sad if we had to work all day at a humdrum job in order to get to read about philosophy for a few minutes in the evening?

Today we also shut down our last Sun workstation. In the late 1980s, Sun workstations were a godsend. Before Windows 95, when PCs were subject to the DOS 640K limit and had no network capabilities, Sun was selling ready-to-use UNIX boxes ideal for the fast-growing Internet, which in those days was purely for research institutions.

At one time we had seven of them (AISUN0 to AISUN6) with Quintus Prolog as our preferred development environment. Today PCs have taken over all their functions, and for the past year or so, we have been running only one Sun, as a server (also accessible by SSH from our PCs). Its last remaining function was to host Vic Bancroft's labyrinthine web site, with plenty of scripts and servlets that, alas, have not survived the move to a Windows server. Vic hopes to have everything working again soon.

In the picture you see graduate student Jaymin Kessler typing the final shutdown now command. He delivered a nice eulogy for AISUN0.

Before you mourn it too much, remember that it's about equal in power to a 300 MHz Pentium (i.e., a tenth of today's top-end PCs) and that a good UNIX computing environment is still available, free, as Linux.

Moon craters / Secrecy? / Etymology of console

A quick shot of the lunar crater Alphonsus and its neighborhood, taken last night with my 5-inch Celestron telescope (vintage 1980) and my Nikon Coolpix 990 camera, using a ScopeTronix 18-mm eyepiece that threads onto the camera like a filter.

Single auto-exposed image, cropped and post-processed extensively with Registax.

A correspondent asks why this notebook doesn't include open discussion, especially discussion of research with my colleagues and students.

The answer is twofold. First, my interactions with students constitute "confidential educational records" which the University is required by law to keep secret. And that's only fair to the students. After all, someone who makes a big blunder early in his career may go on to be a very good scientist. Beginners are relying on us not to publicize their blunders.

Second, my externally funded research is under a nondisclosure agreement because of its commercial value. When we receive permission to publish research papers, you'll see them here.

So this notebook reflects remarkably little of my day job. But I can tell you one thing: The term ends next month, and we're in high gear!

How did the screen and keyboard of a computer (or a window simulating an old-fashioned screen) get to be called a console? After all, there's nothing consoling about it; it often leaves us disconsolate.

The answer is complicated, but here's what I've been able to trace (mainly using the OED).

A couple of centuries ago, console meant a shelf or table that was supported by brackets on a wall, rather than having legs. The word console is apparently derived from "consolidate" (in French), because it's a shelf consolidated with the wall.

Occasionally console also meant a long table or credenza even when not bracketed to the wall; that's how we got "console stereo systems" (shaped like credenzas) in the 1960s.

The keyboard of a pipe organ was called a console because it was originally bracketed to the main enclosure like a console shelf. By the 1940s, other kinds of control panels built into furniture were also called consoles.

When computers came along, the console was, naturally, the main keyboard and screen or "typewriter" (IBM had consoles that printed on paper like teletypes).

In this sense, CONSOLE became a keyword in the COBOL programming language, and later on, it came to denote anything that acted like a teletype, especially if it was the main control point for a computer.

Lizards and other sub-human lifeforms / Morse @

Of all the wild animals that frequent my lawn, my favorites are the green anoles (American chameleons). These small color-changing lizards are more common in Valdosta, but with a little pampering, the wild population in my yard in Athens is thriving. This is near the northwestern limit of their range.

Even though they supposedly hibernate in the winter, I've seen them every month this past season, including January. We have some warm microclimates around the downspouts and gutters.

The reason I like them is that they eat mosquitoes and can catch them right out of the air as they fly by. Any animal that can do that is my friend.

The mosquitoes are of course my least favorite wildlife. The second least favorite is probably the raccoon that took to raiding the garbage cans a few weeks ago. With surgical precision, he made a small slit in a plastic garbage bag, extracted the carcass of a roasted chicken, and then sat on another garbage can and gnawed the meat off it - and came back the next night to try the same trick again. A few mothballs in the garbage cans finally drove him away.

You heard it here first: There is now a Morse code symbol for the character @ (the "at sign"). It was added by the International Telecommunications Union in December.

It is:     · — — · — ·

Now you can tap out your e-mail address with a telegraph key. In ham radio, this is important. I am a licensed ham (amateur radio operator), call sign N4TMI, not on the air very much these days.

Morse code is of course the oldest digital communication code, and it has acquired a number of curious uses recently because it can be either generated or received by either a computer or a human being. A few years ago I built a timer, for use in the darkroom and when doing astronomy, that beeps out the minutes in abbreviated Morse.

Bomb threats, clear thoughts, and planetary rotation

How to phone in a bomb threat and not be charged with a crime: Claim to be a "psychic." More here. I rather hope this tactic doesn't catch on.

Jeff Duntemann says some nice things about my brief rantings on March 21 about clear thinking and the importance of knowing what words mean.

If that interests you, see my presentation, How to Write More Clearly, Think More Clearly, and Learn Complex Material More Easily. Some of the material is from basic epistemology and philosophy of language.

Because philosophy is the study of hard problems, far too many students come away from Philosophy 101 with the impression that nothing is really known about anything, and confusion reigns supreme. Not so. For thousands of years, philosophers have been making real progress on important issues. This doesn't mean the newest ideas are always right, but, particularly in grappling with issues of science and artificial intelligence, philosophers really have come to understand some things more clearly than in the past.

A good criterion for judging philosophers is that progress is localized. Anyone who comes along with a Complete Grand Theory of Everything is likely to be wrong or even nonsensical. But a well-informed person who announces progress on a clearly defined issue - such as a specific point of logic or metaphysics - is worth listening to.

Finally, one last astronomical picture from last night's session:

This is a copyrighted image. Please contact me for permission to republish it.

Jupiter rotates nearly 40 degrees in one hour. Here, south is up, and everything is moving to the left. Melody and Cathy want me to make an animation of the planet rotating, by imaging it every ten minutes for several hours. That will require a night of very steady temperatures so that the steadiness of the air doesn't change a great deal from one image to the next. Otherwise you might get to see Jupiter turning and also going in and out of focus!

Saturn / Windows Server 2003

Here's an image of Saturn that I took this evening around 9 p.m. The outdoor temperature was about the same as indoors, so I was able to take the telescope right outside and use it almost immediately, without waiting for temperature stabilization.

8-inch Meade LX200 telescope, modified Philips ToUCam Pro video camera, Baader UV/IR-cut filter, and 2x Barlow lens, processed with Registax and Photoshop.

Today's excitement was upgrading the AI Center server to Windows Server 2003. This was a nearly painless 4-hour process. Brief observations:

Windows Server 2003 looks more like Windows 2000 Server than like Windows XP. That is, it does not appear to be descended from XP. That may be superficial, or there may have been a fork in the Windows family tree. (Note that there is no server edition of XP.)

Everything works very much the same, but security has been tightened up. Right now, Remote Desktop Administration (which was very restricted already) doesn't work; something about needing a certificate for L2TP access. However, our VPN works. I'll sort this out on Monday. [See this note.]

It needed 13 critical updates (from Windows Update) immediately after installing, even though it had already done some updating during the installation process.

Windows Server 2003 does not burn CDs. To get it to do so, you have to install CD-burning software and also enable a service that is, by default, disabled. Normally, people don't burn CDs on servers anyhow, but it would have been nice if the Windows XP CD-burner had been included (even if disabled by default).

Valdosta elephant / New gadget

One of the oddest things ever to happen in my home town of Valdosta, Georgia, was the 1902 elephant rampage. Read about it here.

I'm told that when an elephant feels it must kill a human being - generally a human who has tormented and mistreated it for a long time - the elephant prefers to perform the execution in front of as large an audience as possible. That's what happened here. And then, since in 1902 Valdosta had no gun that would kill an elephant, a tragicomedy ensued as the beast was pursued out of town and eventually dispatched and buried. Its bones are probably about to be dug up in a new real estate development.

I will not call Valdosta a "sleepy little town." Moultrie is a sleepy little town. Tifton is a very sleepy little town. Clyattville is a nearly comatose little town. But Valdosta - since 1870 or so - has been the catch-all for everything in the southern half of Georgia that is a little too odd for the rest of the region. I'm proud to be a Valdostan, but also a little puzzled by my heritage sometimes.

I have a new astronomy gadget coming, a Meade Lunar-Planetary Imager. Basically, Meade has taken the kind of modified webcam that many of us have been experimenting with, and packaged it as a $150 product. It comes with software actually designed for what we're doing with it, which will be a welcome relief.

This product has been getting mixed reviews, so I'm a little apprehensive. But some of the reviewers' disappointment seems misdirected. If the USB cable is too short, simply get another one. And if the field is the same as a 6mm eyepiece (which is reasonable), then sure enough, the face of Jupiter will not fill the picture; that's not a defect.

The bottom line seems to be that it isn't "you press the button, we do the rest." But then what is? Astrophotography wouldn't be fun if it were reduced to snapshots.

Christian mathematicians?

Another busy day. At noon I gave a talk on "Christianity and the History of Mathematics" (actually a rerun of a talk given to a faculty group in 1995, which is why the web version of it looks so scruffy; I lost the file and had to scan it in).

If that interests you, see also D. E. Knuth's recent book, Things a Computer Scientist Rarely Talks About (a defense of his Christian faith; not very deep theology, but at least he's telling us where he stands).

Revising notes about Python

I didn't have time to write a notebook entry today, but I did write this and revise this.

Janet Mattei and the variable stars

Dr. Janet Akyüz Mattei, director since 1973 of the American Association of Variable Star Observers (AAVSO), died today (March 22) in Boston after a long battle with leukemia.

(A variable star is a star whose brightness varies. Some are predictable; some are irregular; and some are not known to be variable at all until someone notices a change.)

Characteristically, this evening's AAVSO e-mail bulletin stuck to business, reporting activity in the star Mu Centauri but not mentioning Dr. Mattei's death. It did, however, end with the tag line:

"We have loved the stars too fondly to be fearful of the night"
  -- Grace Taylor, Self-written epitaph.
This is actually an allusion to a poem by Sarah Williams which you can read here and is also the epitaph of astronomer John Brashear.

I met Dr. Mattei only briefly a few years ago and am not an avid variable star observer. But variable star observing is probably the most fruitful way amateurs contribute to astronomical science.

You might think the big professional observatories see everything worth observing. Nonsense! Many scientifically interesting variable stars are seldom observed at all. Since 1911, the AAVSO has done a remarkable job of coordinating volunteer observations of variable stars. Millions of data points have been collected, and it is the AAVSO, not the large observatory, that supplies most data about variable stars to scientific researchers.

Useful work requires only binoculars, though a telescope helps. Mostly, you need time and dedication.

This notebook is now getting about 30 hits per day in addition to my own (which are numerous; besides checking that it looks right, I look up my own notes surprisingly often). Arguably, this notebook is just a way of bamboozling Google into helping me organize my own notes!

Advanced placement can backfire

An observation based on several recent experiences advising students: Advanced placement can backfire. Take a student who's doing well, and keep promoting him into harder courses, and eventually he'll end up in something for which he's not adequately prepared. You can rise to your level of incompetence in school as well as in business.

And when people rise to their level of incompetence, if they're lucky, they get frustrated. That is a sign of sanity.

The alternative is something deadly: some people get accustomed to not knowing what they're doing.

When helping students who are in over their heads, I almost always find that they don't realize how long they've been lost. They got lost so long ago that they don't know what it's like to understand things clearly - or don't believe it's possible in an advanced course.

Speaking of students with difficulties, here's a heuristic to dispel confusion about almost anything: Do you know what the words mean? Can you define every word in what you're reading? If not, go back and find out what the words mean. The older I get, the more I use a dictionary, because I can't stand being left in the dark.

Beware of what I call purely syntactic thinking, where you can rearrange words and sound intelligent without really knowing what the words mean. Some people get through college doing just this. Sometimes they say things that make sense without knowing it. They may be able to regurgitate other people's knowledge, and even rearrange it so it sounds original, all the while not understanding their own words. Dilbert's boss is an example; he might demand "object-oriented technology" and even get it, but he can't tell you what it is.

More about that motherboard: Why did it go bzzt! bzzt! bzzt! when it couldn't get to the first memory bank?

The answer has to do with how a PC starts up. As soon as you turn a motherboard on, it reads and executes a machine-language program (the boot code) stored in the BIOS chip on the motherboard itself. The first part of this program requires no memory other than the CPU registers, and it can perform no input or output except for making pops, beeps, and buzzes in the PC's internal speaker.

As it starts up, the boot code looks around for the memory and the other input-output devices. If it finds itself in serious distress, it makes various funny noises in the speaker, then places an error code on the system bus, then stops. If it's happy, it makes a brief beep in the speaker, goes and tests the memory, goes and finds the video card, and starts displaying information on the screen. This is where you get the Dell logo that pops up on the screen (or, on my home computer, the Covington Innovations logo); the invitation to "press F2 for setup;" and so on. Finally the boot code reads the first sector of the disk drive and transfers control to the program that resides there.

The term boot comes from the old expression pull yourself up by your own bootstraps because the purpose of the boot code is to make the computer start itself up.

More Jupiters / About that motherboard


Here are 2 more versions of yesterday's Jupiter image. The first one is the "raw" image after Registax has selected and stacked the best video frames, but before any deblurring. The second one is a heavily processed image that looks like a trained observer's drawing of Jupiter. The detail in it is real, but shown with much more contrast than in real life.

The processing consists of bandpass filtering to emphasize detail of a certain size while de-emphasizing features that are both smaller and larger. Thus you get to pick out the components of the image that are near your telescope's limit of resolution, while discarding both graininess and overall blur.

Bandpass filtering is a boon to planetary imaging. It works especially well with images of the Moon, where the original detail is known to be very crisp. With Jupiter, sometimes you can't distinguish real features (which are inherently blurry and cloud-like) from processing artifacts. The overprocessed Jupiter image shows some streaks at the right, concentric with the edge, which are in fact "echoes" of the edge.

The great motherboard replacement was a complete success. Presently, the server sits in my office, so the lab technicians and I cleared off my desk, parts of which had not been exposed in years, to use as an operating table. We sprayed anti-static spray all over the carpet and used it like furniture polish on the desktop (which is fake wood). Then we laid down paper towels (paper generates much less static electricity than plastic), solemnly shut down the server, laid it on the desk, and opened it up.

During the operation I wore an anti-static wristband connected (most of the time) to the chassis of the computer. After we got the old motherboard out and put it down on the table, I connected my wrist strap to the grounding tabs on both the old and the new motherboards, then carefully transferred the memory, CPU, and heat sink, adding a dab of heat sink grease.

Then we put everything back together and tried to get it going. But all we could get was "bzzt! bzzt! bzzt!" from the internal speaker. More careful checking of work...

...Problem found: A memory module loose in its socket. After carefully securing all the memory modules, we got the computer working without further ado. Windows 2000 Server did not even notice that the motherboard had been changed.

We use Windows drive mirroring, and for reasons known only to itself, the server insisted on spending its first few hours resynchronizing the mirror images of its disks. This kept the CPU busy, and for a while it made me think we had a virus. (From a motherboard? Viruses can't do that...) But there were no other problems.

We confirmed that, indeed, the plastic is cracked on the fan connector, and that's the only problem. We're sending it back to Dell with a note to that effect.

If you replace a motherboard with one that is different from the original, you have to do a "repair installation" of Windows in order to regenerate the HAL (Hardware Abstraction Layer). (Surprisingly, however, not a SYSPREP.) Microsoft gives detailed recommendations for Windows 2000 and 2003, Windows XP, and Windows 95/98/ME. For some reason Windows XP is by far the messiest of the three, unless (as I rather suspect) the Windows 2000 technique would work equally well in XP. We didn't have to do any of this.

Next week we convert to Windows Server 2003. Stay tuned for news!


Here's a rather good picture of Jupiter that I took last night around 11:30 p.m. with my 8-inch Meade LX200 telescope, 2x Barlow lens, and Philips ToUCam video camera.

The tactic is to record about a minute of video (300 frames at 5 fps), then let the computer pick out the best frames, automatically align and stack them, and finally (under manual control) bandpass-filter the image to bring out details. I use the video recording software that came with the ToUCam, but it is crash-prone and I need to look at alternatives. The processing is done with Registax 2.

I could have filtered it more heavily to make it look more like an observer's drawing of Jupiter, but I preferred a picture that looks like Jupiter itself. Even so, the contrast is enhanced. If you were actually flying by Jupiter in a spaceship, you would see lots of detail, but it would be low-contrast, like the features that you see on clouds in our own atmosphere.

More on the Dell motherboard replacement tomorrow. I should clarify that they gave us the new motherboard under warranty; we have to give the old one back; and the only reason we got to do the replacement ourselves is that the campus electronic shop, which is a Dell repair facility, is familiar with our lab and our capabilities.

Almost hit by an asteroid

As often happens, we were almost hit by an asteroid today. The only difference is, this time we knew about it.

This one would not have done major damage to the earth; it might have burned up entirely before impact.

My main worry about asteroids is not the big, rare ones that could wipe us out (with very low but uncertain probability); it's the medium-small ones that might be mistaken for military action if they hit Earth.

A correspondent in China wrote to say that the Pythagorean Theorem should not be called by that name because someone in China discovered it before Pythagoras did.

I knew that, but I still call it the Pythagorean Theorem because Pythagoras made it famous, and because that's what it is normally called in our language. If someone were to prove that Pythagoras had not known about it after all, I would not want to call it by his name, but that's different.

Likewise I call the planets by their Roman names even though the Babylonians identified them long before the Romans.

After seeing my March 15 entry, Dell insisted on giving us a new motherboard. I get to put it in tomorrow. More news then.

Feast day of St. Patrick of Ireland

Everybody knows the Irish wear green and have parades on March 17 (and this web page wears green too, in honor of Melody's Irish ancestry), but how much do you actually know about the man who brought Christianity to Ireland around 430 A.D.? Click here for some particulars.

Though his story has certainly been embellished by tradition, the basic facts are well attested. One of the curious prejudices of modern times is that nothing is really known about the Middle Ages. Nonsense. Plenty of records from that time survive, and they were made by people with brains just like ours.

In St. Patrick's case we even have his brief autobiography ("Confession"). Although Patrick is more or less identified with Irish Catholicism, Protestants are quick to point out that nothing in his Confession is particularly Roman; the Reformation and even the Great Schism were far in the future, and St. Patrick was simply an early Christian.

(In case you're wondering, the modern, married archbishop mentioned in the first link is Anglican. An even more detailed - but perhaps more embellished - account of St. Patrick is here.)


The question whether Pluto is a planet is even more muddled now that a similar-sized object, tentatively named Sedna, has been discovered at 3 times Pluto's distance, in a highly eccentric (off-centered elliptical) orbit. Pluto's orbit is also noticeably eccentric (smaller than Neptune's at the small end), and Pluto is much more like the Kuiper belt asteroids than like the gas-giant planets.

My vote? Demote Pluto; go back to recognizing as planets only the 8 objects that are in nearly circular orbits and are comparable in size to their neighbors.

See also the discoverers' web page Sedna is magnitude 20.5 and can't be seen with amateur telescopes. It was photographed with a 48-inch earth-based telescope, and I estimate it could be CCD-imaged with a 24-inch under ideal conditions - so amateur images of Sedna are inevitable. But I won't be the one producing them. My magnitude limit is about 17.

The graduate students are back from spring break and at least two theses have landed in my inbox. I may not be writing much here for a while!

Jeff Duntemann has evidence that a huge number (a majority?) of domain names are owned by spammers, who use them briefly and then abandon them. Spam-filtering software recognizes domain names, so a spammer can't use one very long.

The current system of handing out domain names to anybody who wants them, for a small registration fee, is wrong-headed. It has led to "cybersquatting" (registering potentially popular names merely in order to resell them to others), and now this.

Domain names should have been like land in the Homestead Act: you have to make bona fide use of it when you get it, and only a few to a customer. But, in their boundless naïveté about human greed and malice, the Internet authorities created the present situation. I have no idea how to clean it up.

If you're seriously interested in diagrams, graphs, tables, or pictures, take a look at Edward Tufte's web site and books. If the concept of ink-to-information ratio appeals to you, you'll like Tufte (pronounced "Tufty").

Today's cartoon: an animated proof of the Pythagorean Theorem from Project Mathematics.

To view the video, you'll need the free version of RealPlayer. This link will (I hope) get you the free version (not the 14-day free trial of the paid version). If it doesn't work, go to www.real.com and look around diligently for "Free RealPlayer" hidden in the corner.

In case you've always wondered, miscellanea is Latin for 'hash.'

Note Getting in step with the calendar

So far these entries have been dated like a newspaper, i.e., marked with the date on which you'll read them, and uploaded the previous night.

This has awkward consequences; it keeps me from using the word "today" except in prognostications. So today (whatever that means!) I'm getting in step with the real calendar. The March 16 entry will be posted at the end of March 16.

How we fixed the server
(with a piece of blue tape)

Last Wednesday, the cooling fan on the AI Center's Dell server started making noise, so I requested a replacement under warranty.

To my surprise, the campus electronic shop, which is a Dell repair station, received the new fan less than 18 hours later. I was out of town on Thursday, and we didn't want to take the server down while people were using it, so the repair (performed by me) actually started at 5 p.m. on Friday.

Replacing a Dell Optiplex fan requires no tools; it's a matter of pressing buttons and tabs and pulling just so until the entire computer comes apart in your hands. So after some manipulations (press, snap!) that would do a chiropractor proud, I had the fan successfully swapped out... or so I thought.

Alert! System fan not detected.

said the BIOS when I tried to boot up. And the functioning of the fan was erratic - sometimes it ran and sometimes it didn't. Reinstalling the old fan didn't help. Either one was "not detected" even when installed and running.

I traced the problem to a loose connection where the fan plugs into the motherboard. After a while I got the new fan running (though still "not detected") and left the office. Over dinner I started worrying that the connection would come loose and the fan would stop, with disastrous results. So I headed back in, with Cathy keeping me company.

Our goal was to connect the fan to a reliable source of 12 volts (from the disk drive power connectors) to make sure it would run even if the BIOS thought it wasn't there. I soldered together an elaborate cable for the purpose.

The only limitation would then be that it couldn't reboot unattended, because someone would have to press F1 after the error message, every time. And that would slightly interfere with automatic Windows updates, which are downloaded in the wee hours of Sunday morning and can reboot the machine. Apart from that, though, we could live with it.

So we got to the office and I used a penlight (which I didn't have earlier) to take a good look at the defective connector. Surprise! It wasn't breaking loose from the motherboard, or anything ghastly like that. All that was wrong was that the outermost plastic part of the socket had been warped so that it no longer gripped the plug.

We fattened up the plug by sticking a couple of pieces of blue electrical tape on it, and all was well. No more "System fan not detected," no more erratic performance.

That's how we fixed the server, and I didn't even get to use my special cable.

Just 11 days old, and already we're moving

For a couple of reasons, I'm moving this Daily Notebook from the server at my office (University of Georgia, Artificial Intelligence Center) to the site I use for my outside consulting ventures and Melody's graphic design business, Covington Innovations. That will give me a bit more reliability, and also more freedom to promote outside commercial ventures here.

Today's entry appears on both sites, but from here on, you'll need to go to www.covingtoninnovations.com/michael/blog. Please bookmark the new address.

Console programming
(A good old-fashioned hack attack)

Clarification added March 14: By "hack attack" I do not mean being attacked by hackers! I mean a sudden attack or fit of intense desire to program a computer. This is 1980s programmers' jargon. The MIT Jargon File says it implies a very long session, which is not how I understood it.

The other evening I was too tired to do any real work, and I wanted to do something very self-contained, by way of occupational therapy. Other people might watch a soap opera or play a video game, but I sat down with Microsoft Visual Studio and programmed.

The catch is, this was trailing-edge programming. No new ideas at all. I just wanted to implement, in C#, the old Turbo Pascal-style console-mode screen and keyboard functions such as the color changes you see in the picture.

And I did. It took about four hours. The whole experience was very much like programming an older, smaller computer, except that instead of interfacing with video and keyboard hardware, I was dealing with signals coming in from the elaborate Windows user interface.

I dubbed my product Konsole (like "Console" but odder) and am releasing it to the public domain. You can download it here.

This project owes a great deal to Adam Nathan's .NET and COM: The Complete Interoperability Guide, which contains code samples that became the nucleus. They can be downloaded from www.dotnetandcom.com along with a complete list of declarations for calling Win32 API functions from C#. Apparently, Mr. Nathan does not claim copyright on the downloadable material. In any case, I acknowledge it gratefully.

By console applications I mean programs that you run at a command prompt, whose user interface consists of characters printed on the screen and read from the keyboard.

(Not "MS-DOS prompt" - Windows 2000 and XP are not built on DOS, and console programs are not DOS programs. They have full access to the memory and operating system of Windows, including multitasking.)

Console applications will never die out, for two reasons. First, they're easy to write; the user interface is simple. Second, and more importantly, the keyboard and/or screen can be replaced by text files. I consider the text file to be one of the great inventions of computer science - a way of recording what comes in from a keyboard or gets written on a screen. Purely windowed operating systems such as the Macintosh (prior to OS X) do not have console applications, and they're the worse for it.

(Incidentally, Konsole is well-behaved when input or output is redirected. In that situation it reads or writes the appropriate characters and does nothing else. It doesn't monkey with the screen if the program's output isn't actually going to the screen.)

I'm delighted to find that console programming is fully supported by Visual Studio and other newer Windows programming tools. For a while, in the 1990s, there was a move to get rid of it and make everything GUI. Then along came the Web, and guess what? The Web is held together by what are essentially console programs. I'm referring to CGI scripts, which generate web pages by computation, writing them on "standard output," exactly the way a console program writes on the screen.

Farewell to a bookstore / Windows IP filtering / spam law

Yesterday Melody, Cathy, Sharon, and I went to Atlanta for the afternoon and evening. Shopping trips to Atlanta (or its suburbs) are part of life in Athens, Georgia (75 miles to the east). Often we don't buy much; the trip is just a change of scenery.

This trip was to celebrate Cathy's 19th birthday (February 22; we're late). After a late lunch at The Olive Garden (Gwinnett Place), we went to Book Nook (North Druid Hills at Clairmont, near Emory University) where Cathy made a lot of additions to her collection of interesting old books. The haul included a Victorian veterinary textbook and a lavishly illustrated encyclopedia from 1939.

We've been making these trips as a foursome since Sharon was old enough to travel (1989). Most of the time, we gravitate toward the Gwinnett Place Mall area, and until now, our favorite destination was the Borders bookstore (the first Borders in the area). Another Borders has recently opened here in Athens, and we frequent it, but the Gwinnett one was bigger.

Surprise - this time - no more Borders. That store has been closed. There are other Borders stores in the general area, but we'll still miss that one.

Using the IP Security (IPsec) service in Windows, you can block data packets based on where they come from or what port number they're using. For example, I've blocked all packets to port 3389 (Remote Desktop) except for a few trusted locations.

To get to the settings, look in Control Panel, Administrative Tools, Local Security Policy. (Don't panic if IP Security isn't there; there are several other ways to get to it.)

For good tutorials on how to set up packet filtering, look here and here.

[Note added March 29: After upgrading to Windows Server 2003, I had to select "Permit" instead of "Request Security" as the filter action for the connections that were to be permitted. Apparently, "Request Security" triggered something that wasn't supported by the older client PCs.]

Good news - there are finally beginning to be lawsuits under the badly designed CAN-SPAM Act of 2003. There certainly haven't been any criminal prosecutions, even though spamming has been illegal in the United States since January 1.

The CAN-SPAM law has three fatal flaws:

  • It still permits spamming if certain conditions are met. That is, it's more loophole than law. But that wouldn't be so bad, except...

  • There's been no sign of enforcement except through private lawsuits. And, even worse...

  • It creates a mixture of legal and illegal activity which the casual observer or victim can't distinguish.

The last point is the big one. Spammers are required to provide opt-out links and give mailing addresses, but we have no way to know whether the addresses are truthful and whether using the opt-out links will just get us on more spammers' mailing lists (as is alleged to have been the case with BobVila.com already). Sensible people won't use opt-outs until they're guaranteed to be honest.

If you want to ban something, you have to separate it cleanly from legal activities. The CAN-SPAM Act does nothing of the sort.

Popularity, spammers, mystery meat, and research

About 20 people are now reading this notebook every day. I'm impressed! Whether it's the same 20 every day, I haven't determined. But I probably have a bigger audience already than some shortwave radio stations :)

I did get one puzzled inquiry as to why my e-mail address at the top of this web page is in a graphic. (Look carefully - it looks like type, but it's actually a picture.) The answer: To keep spammers from harvesting it. Do not post e-mail addresses on web pages as plain text and do not use HTML "mailto" links unless you want mail from every nut and charlatan in the known universe.

[Note: Now the address is not a graphic, but rather a tiny Javascript program, as suggested by Will Fastie. This produces a working "mailto" link that spammers apparently can't harvest. In May 2005, I put the new header, with this feature, on all the old Daily Notebook pages.]

No more mystery meat in the dining hall? CNET reports on a cheap on-the-spot DNA test that will tell you whether your buffalo burger is really beef, whether there's pork in your hot dog, whether your tilapia is really codfish. Useful to the food industry and (I suppose) those who keep kosher. It's made by bioMérieux.

What do I spend my time doing? This week, it's spring break; the students are away, and I'm writing up some research. Right now I'm toiling away on a paper about how to judge the complexity of sentences; this is infrastructure for a lot of the experiments I can't tell you about yet because they're under nondisclosure. (The link takes you to a poster that we presented in Boston two months ago; the written version of the paper doesn't exist yet.)

And I was about to dig into revising another paper when I found out, in the nick of time, that in my confusion I had already done so; this treatise on "The Number of Distinct Alignments of Two Strings" will soon be coming out in Journal of Quantitative Linguistics. This is as near to pure mathematics as my research has ever gotten.

Beware of fake windows

I'd like to see the FTC crack down on online ads disguised as messages or menus from one's own computer or software.

Here is one that came my way today. It popped up on www.comics.com, an otherwise respectable site where you can go to read the Sunday comics.

I wondered why my Display Properties menu had popped up - and then I looked again - and it was a fake menu, trying to get me to download a "free screensaver."

Of course, they didn't fool me, they just momentarily distracted me. But am I supposed to enjoy that? It's annoying, not amusing. They've won my complete distrust.

I'm not going to download a screensaver from anybody who is even slightly untrustworthy. Screensavers are executable computer programs. They can do anything to a computer. It's common for viruses and Trojan horses to be distributed as screensavers. From the computer's point of view, a screensaver is merely an .exe file whose name has been changed to end in .scr so the operating system will recognize that it's meant to run as a screensaver.

Not only that, but I've seen computers get completely ruined when users start accepting "free offers" from dubious Internet sites, and downloading all kinds of strange stuff, and generally obeying all the messages that pop up. An inexperienced user can't distinguish the real Windows messages from the fake ones.

I know that when I call for an FTC crackdown, some people are going to see me as an enemy of their precious freedom. But think about it. Truth-in-advertising laws are necessary for a free market. Without them, you'd have less freedom in the marketplace, not more. As Aristotle realized long ago, maximum freedom comes from the right amount of regulation, not from the absence of it.

An adventure with Windows Remote Desktop
(We've finally invented computer terminals - ?)

Remote Desktop is a feature of Windows that lets you use one computer as the screen, keyboard, and mouse of another.

That's right - from one computer you can log into another and use it, just as if you were there. This is how you administer a server that's sitting in a closet. But it's also how I get to my desktop computer (and its powerful software) from my smaller, slower laptop downstairs. Handy.

Normally the whole screen is taken over, but you can confine the remote session to a window if you wish.

The client software (Remote Desktop Connection) comes with Windows XP (including Home) and can be installed on anything from Windows 95 up. (See Microsoft's handy guide.)

The host (the server, which you log into) has to be running Windows 2000 Server, Windows XP Professional (not Home), or Windows Server 2003.

Mark Minasi waxes eloquent in praise of Remote Desktop in his books. And well he should. It really works. Now I need never actually go to my desk again - I can use the desktop computer from the laptop.

(A UNIX atavist would say, "So, you Windows people have finally invented computer terminals!" And he would be right, of course.)

On the client, all you do is Start, Programs, Accessories, Communications, Remote Desktop Connection, and tell it what computer you want to log into.

Setting up the host is a little more complicated. With Windows XP, you have to go to Control Panel, System, Remote, and enable remote access.

You also have to pick the user accounts to which you're going to grant remote access privileges. And thereby hangs a tale. Under Control Panel, System, Remote, you get to specify these accounts. In effect, what you're doing is adding them to the group "Remote Desktop Users."

But that's not enough. I kept trying to log on and getting the error message:

The local policy of this system does not permit you to logon interactively.
Local policy of which system? Turns out they mean the host, though this is not at all obvious. (Each computer is "local" in its own eyes!)

I got this message only when I used a valid (on the host) user name and password. If I used an invalid one, I got a message saying so. That told me the host was definitely recognizing me; it just wasn't letting me in.

The solution? On the host, I went into Control Panel, Administrative Tools, Local Security Policy, and granted the privilege "Allow logon through Terminal Services" to the group "Remote Desktop Users." I could equally well grant it to a single account.

The error message was misleading because it seemed to refer to the privilege "Log on locally." That privilege was already granted to "Users," which comprises all the regular accounts.

Someone else noted that you can only get in if you're using an account that has a password. All your accounts have passwords, don't they?

Retrocomputing on a CYBER

The first computer I ever programmed was a Control Data (CDC) 6400, in February 1973. (That's one of the machines Seymour Cray designed before he split off to start his own supercomputer company.) It was housed at the University of Georgia, in the building where I now work, but we connected to it from Valdosta State College (250 miles to the south) using a Model 33 Teletype and a very noisy 110-baud line. It ran BASIC and FORTRAN. We didn't know it, but at the time, Niklaus Wirth was over in Switzerland using a similar machine to develop a new language called Pascal.

To my surprise, one of the 6400's relatives is still alive. Cray-Cyber.org, in Germany, is an organization of computer enthusiasts dedicated to keeping old supercomputers alive. They have a Cray and a Control Data CYBER 960. The Cray is easy to use (with a UNIX-like shell), but the CYBER has an operating system that brings back lots of memories of the old days.

Last week, and again this morning, I played with their CYBER 960 briefly. Now I know what it feels like when an old soldier gets to drive a tank again after a 30-year lapse. It's certainly nothing like the Oldsmobile that I normally drive around in! Some notes, which I wrote up for Cray-Cyber.org, are here.

Notice the 1994 date in the screen shot above - 10 years prior to the true date. Apparently NOS wasn't Y2K compliant. (Not only that, but it had nothing to do with "network operating systems" as presently understood.)

Astronomy, purple people eaters, Da Vinci, and redecoration

Save the Hubble: In terms of scientific discovery, the Hubble Space Telescope is the most successful space probe ever launched. NASA is wanting to decommission it early, but there's a resolution before the House of Representatives to save it. Details here.

And here's a fine Hubble image of V838 Monocerotis, which I call Melody's Star because it appeared out of nowhere in early 2002 just as my wife was recovering from emergency heart surgery, as if to mark her victory. (It also marked my return to amateur astronomy after a few weeks of being occupied with getting Melody home and taking care of her. You'll be glad to know she's fine now.)

The star brightened by a factor of at least 10,000 over a short period, then faded while emitting a remarkable shell of glowing gas. As far as I know, the shell can't be seen with amateur telescopes, but the star was, for a time, easily visible in binoculars.

There's also a remarkable storm on Jupiter right now, easily viewable by amateurs.

Know your purple people eaters: Did you ever hear the old song about the "one-eyed one-horned flying purple people eater"? And did you wonder whether it eats people, or just purple people, or flying purple people (etc.)?

Here is a complete linguistic analysis of all the possibilities. It's part of the vast system of humor pages maintained by linguist Beatrice Santorini of the University of Pennsylvania.

And you thought theoretical linguistics wasn't practical. I've actually used the Purple People Eater as an exam question in a syntax course. Now that Dr. Santorini has published the answers, maybe I can't do that any more...

(Animated drawing by Cathy.)

I'm still hearing from people who don't realize that The Da Vinci Code is fiction. For a good critical review of that book (which is a great story but hardly a true one), click here. I haven't read it, but the author presents it as fiction, so it strikes me as bizarre that so many people are taking it for fact.

This notebook has been redecorated slightly today so that people with big screens can take advantage of the extra space.

So what is the goal of AI?

Further to yesterday's entry... The way I see it (and I'm not alone), the goals of artificial intelligence are:

  • To understand human intelligence by modeling it;

  • To extend human intelligence by building tools.
And I'm also involved in a third:
  • To study human intelligence by using computers as tools.
The last of these is farthest from classic AI.

I use the broadest possible definition of "intelligence." I don't think the human mind is a one-trick pony. We have numerous cognitive capacities, partly or completely distinct from each other. Language, logic, and vision, for instance, are three of them. I don't believe they are all manifestations of one-dimensional "general intelligence" as the people thought who popularized IQ tests half a century ago.

One of my high-school teachers summed it up best: "IQ tests are an excellent measure of ability to take IQ tests."

Can machines think? Well, can submarines swim? :)

Some links:Weizenbaum's original article about ELIZA is here. (Thank you, Melody, for the link!) An implementation of ELIZA is built into the Gnu Emacs editor; to play with it, type:   Esc X doctor Enter.

Against cybernetic totalism
(It's artificial, but is it intelligence?)

Although I call myself an artificial intelligence researcher, I don't believe in what I call "Frankensteinian" AI, the notion that our goal is (or should be) to make machines "think" (or just act) like people. (We already know where to get more people.)

Joseph Weizenbaum's ELIZA program, back in 1966, proved that shallow gadgeteering can fool people very effectively. You recall that ELIZA carried on a conversation like a nondirective psychotherapist. It would look for words like "mother" and say "Tell me more about your mother."

To Weizenbaum's dismay, people held deep conversations with it and felt that it really understood them. His conclusion? Computers are powerful instruments for fooling human beings. Similar criticism is now being leveled at robotics gadgeteers.

But Frankensteinian AI lives. It's often associated with some other notions:

  • That computers will be our evolutionary descendants (whatever that is).

  • That a simple, super-powerful algorithm will come along and solve all our problems, making programming obsolete. (Maybe neural networks, maybe genetic algorithms, which evolve by mutation and selection. These have their uses, but I don't think they've supplanted any conventional technologies yet.)

  • That cybernetics (essentially, computer science) is the right way to look at everything. ("Cybernetic totalism.")

  • That increasing the speed and capacity of computers will, ipso facto, make them more useful.
The term "cybernetic totalism" seems to have been coined by Jaron Lanier, whose incisive critique of it was published in The Edge. Read it. It's good.

Lanier also critiques the notion that all we need is bigger and faster computers. Like me, he is dismayed that the "best" operating system (in many people's minds) has been the same for 30 years - namely UNIX. Can we really make computers do anything new, or are we just making wider use of a technology that isn't really advancing very fast?

A much earlier critique of cybernetic totalism was articulated by Joseph Weizenbaum (the ELIZA man) in Computer Power and Human Reason (Freeman, 1976). Weizenbaum identified a personality type that he called the "compulsive programmer," addicted to the total power that the programmer has over his program.

Compulsive programmers often have a real distaste for anything that isn't cybernetic. They don't like programming tasks that require knowledge of the outside world. They don't even like electronics, because in electronics - unlike programming - you have to deal with non-ideal effects (such as the inductance of a capacitor) and the limitations of a world in which you're not omnipotent.

Read Weizenbaum, if you can get a copy. The book has been out of print for a long time but is still available used. There was a 1997 reissue, but it's really hard to get, and I haven't seen it.

Exelaunei Day

Today is the 30th anniversary of the first celebration of Exelaunei Day (elsewhere called Exelauno Day) at the University of Georgia.

The name alludes to Xenophon's Anabasis, a military narrative traditionally read by students learning Ancient Greek. The Anabasis is easy to read because of its fairly montonous style, in which every paragraph begins, Enteuthen exelaunei stathmous X, where X is a number: "From there, he marches forth X days' journey..."

So March fourth is Exelaunei Day. (Exelauno "I march forth" is the dictionary form of the verb.)

The celebration of Exelaunei Day was brought to Georgia by Dr. William Nethercut, from whom I was taking a Greek course at the time (as a freshman; now you know how old I am). To herald it, I used a computer (then very much a novelty) to make a banner that said "Exelaunei Day" in big letters which were formed from the phrase "Enteuthen exelaunei stathmous duo" in ordinary print, on 11x14-inch fanfold line-printer paper.

Subsequent celebrations have been little more than an exchange of greetings between myself and Dr. Edward Best (another of my teachers from 1974, Dr. Nethercut having left Georgia many years ago), but we keep it up.

Hello, world!

Greetings! I've joined the ranks of people who write "blogs" or "online diaries," except that I call mine a "daily notebook." Here are the ground rules I'll follow:

  • This notebook is mainly about computing, linguistics, amateur astronomy, electronics, and other sciences and technologies. But much of my research is under nondisclosure and won't be discussed here.

  • I don't promise to post an entry every day.

  • I'm not looking for feedback or fan mail. You'll notice there's no "feedback" button. Please don't e-mail me unless you have a direct answer or correction to something I've said here. Talk to the world on your own web site, not by e-mailing me. (I know this sounds unfriendly, but I genuinely get more e-mail than I can read, already.)

  • I'll mostly steer clear of controversial topics. Anybody who wants to know my opinions about religion, politics, etc., can find them elsewhere. (See for example this interview.)

    [This requirement was relaxed after the Notebook was moved from the University of Georgia to a privately owned host.]

    I know already that people disagree with me about every issue imaginable. More importantly, I don't have time on my hands, and my hobby is not debating on the Internet.

  • This notebook is indexed on Google and other search engines. In fact, that's its main purpose - to record useful or interesting facts so others can find them, not just today, but later on.

  • I'll preserve past Daily Notebooks as far as possible, but I reserve the right to correct actual errors in them, or delete material if I become convinced it shouldn't be published. The latter will rarely happen.

  • [Added 2011:] Advertising is not a major source of income for me, but if you want to place an ad on the Daily Notebook or my hobby web pages, click here for the advertising policy.
Additional ground rules announced in 2008-2009:
  • (1) Out of respect for people's privacy, I rarely or never mention my friends by name unless talking about things that are already in the public eye (published writings, web sites, newsworthy events, etc.).

  • (2) I don't revise past entries in this Notebook to report subsequent developments or changed links; if I had to do that, I'd never get to write new material. I only aim to have each entry accurate on the day it is published.

  • (3) I don't publish articles, pictures, etc., sent to me by others.

  • (4) I don't do "link exchanges," nor do I "want more traffic." This Notebook is already indexed by all the major search engines.

There! Enjoy... And while you're at it, have a look at the online diary of my old friend Jeff Duntemann, whose online diary largely inspired me to do this.

[Click here to jump to the latest entry in this notebook.]