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
Site search

Daily Notebook

Copyright 2005 Michael A. Covington. Caching by search engines is explicitly permitted.
To go to the latest entry every day, bookmark http://www.covingtoninnovations.com/michael/blog.

If you don't see what you came here for, please scroll down
(there are many topics on this page)
or look at previous months.

Error message of the day

I'm still extremely busy, but this message box is worth preserving for posterity. It came from Corel Draw 10 when attempting to start in an insufficiently privileged account. I suppose they hired Marcel Marceau to compose the text.

I don't expect to write anything more in this notebook until the end of the first week of April. We have a major research meeting coming up. Without going into too many details, let me just say that we are successfully detecting mental illness, and also drug effects, by computer analysis of speech, even when the speech doesn't sound abnormal to a human observer.

See you in April...

In re Schiavo

The last I've heard, Terri Schiavo is still clinging to life, and the whole country has debated a whole range of issues. The principal ones are:

  • Terri Schiavo's neurological status. She is not "brain dead." If she is "unconscious," why are they giving her morphine for pain?

  • Terri Schiavo's wishes. Before her injury, did she really express a desire not to be sustained by a feeding tube if severely disabled? Apparently, it's a "he said she said" case.

  • Michael Schiavo's right to speak for her. He is her husband but is openly unfaithful.

    Personally, I think there needs to be a legal concept of common-law divorce (or rather legal separation). The idea is that if you are unfaithful to your spouse, and there is no indication that your spouse condones it or has reconciled with you, then you lose some of the legal rights of a married person.

    Like common-law marriage, this would help to bring people's legal status in line with their sexual behavior. And if marriage is not about sexual behavior, what is it about?

  • Whether a feeding tube is "medical treatment," which a person can legally refuse, or whether it is simply food, which people don't have a right to refuse.

    Don't they put feeding tubes into people who attempt suicide by starvation?

  • Whether society values the life of a person who is not rich, glamorous, or economically productive.

    Note that Terri Schiavo is apparently not an economic burden on society; her family has money, and others have offered to help.

As I've said before, we now seem to live in a world where if people don't want you around, you're disposable.

Feast Day of the Resurrection of Our Lord

For Christians, today is the holiest day of the year (far outranking Christmas). In the words of St. Romanos Melodos:
Yes, you went to your grave, Immortal One,
But when you were there, you destroyed the power of Hell
And rose again as victor, Christ our God,
Happily greeting the women who came to embalm you
And delivering to your apostles the gift of peace.
To fallen people you give resurrection.
If you don't know what this is all about, click here. Happy Easter!

Too busy

I'm too busy to write much, but I wanted to assure everyone of my continued existence. Here's another undistinguished image of Saturn, taken with my 8-inch telescope on March 23. The speckles are artifacts of the CCD sensor.

And if you want a totally cockeyed look at academic politics (specifically, the internal politics of Cambridge University in the 1880s - and it hasn't changed much), enjoy Microcosmographia Academica.

But don't believe a word of it, except the parts that are true.

The Incredibles

Last night my daughters insisted that I watch The Incredibles, Pixar's latest movie, with them. It's good; I recommend it.

Not only is the animation excellent, but the plot is refreshingly un-Hollywood. It's about a marriage and a family that are saved, not by sappy "romance," but by all four members recognizing each other's special talents.

Already it has been criticized by one reviewer as being too pro-family, or something. He thinks the "Religious Right" will be unhappy with the movie because the movie "portrays normal bourgeois American life as stultifying."

Well - I don't know who this "Religious Right" is supposed to be, but if he means conservative Christians, he's got it dead wrong. We're not in favor of middle-class materialism. We don't claim that happiness comes from just having a house and a job.

If anything, The Incredibles is a strong assertion of a number of Christian values (individuality, vocation, and even life) as against middle-class materialism. What's not to like?

But then, that reviewer has some peculiarities of his own. See Ambra Nykol's meta-review here.

Printing from Windows

Back in the Good Old Days, printing meant sending text to the printer. Open LPT1 as a file, send "This is a test", return, line feed, "This is more of a test", return, line feed, form feed, and your printed page comes out.

Not so under Windows. All Windows printing is graphical. To print, you have to supply a procedure which will render (draw) each page graphically when the operating system asks for it. Of course you can use Windows' built-in procedures for displaying text in various fonts, but it's up to you to figure out where to place each item. Of course, when asking for the rendered pages, Windows tells your procedure how big the paper is.

This is a lot of work. The advantage of it, though, is that with no further ado, you can use Windows' facilities for page setup, printer setup, and even print preview.

Fortunately, I've just found a useful shortcut for printing in C# (.NET). Martin Müller has written RichTextBoxEx, which is an extension of the RichTextBox object that knows how to print itself. Get it here. It's free and reusable.

Recall that RichTextBox is a text window in which you can control the typeface and other special effects such as boldface and italics - though you don't have to; you can just stuff ASCII text into it if you prefer. If you want something really fancy, such as tables and charts, you can construct them in RTF code (Rich Text Format) and stuff that into the box.

One caveat: RichTextBox in .NET 1.1 does not handle tables quite correctly; it draws borders around all the cells, whether or not you ask for a visible border. Full RTF documentation, woefully complicated, is here; quick introduction with links here.

RichTextBox knows how to render itself on graphic device contexts. Mr. Müller has extended it by telling it how to dole out rendered pages to a printer. His demonstration program is very straightforward and understandable.

Now here's the kicker: You can use a RichTextBoxEx even if it isn't visible on your screen. Put some text into it and print it. The box doesn't have to be displayed to the user at all. I did this yesterday while working on a future version of TIP.

Why existing marriage laws are silly: Scroll down to the last item here. Why did Florida discard the concept of common-law marriage?

Terri Schiavo: Not even euthanasia

Terri Schiavo's feeding tube has been removed.

Even if you believe in active euthanasia (which I don't), you shouldn't approve of this, for the following reasons.

Active euthanasia is deliberate killing to end suffering. It's what we do to animals, justifiably. Some people advocate doing it to humans; I don't.

But anyhow, that doesn't apply here - it is widely reported that Ms. Schiavo isn't suffering.

Passive euthanasia is the withdrawal of medical treatment in order to allow a person to die with dignity. Many people, including me, admit that this is justifiable if the medical treatment is ultimately useless or unduly burdensome.

But Ms. Schiavo isn't receiving medical treatment. Her feeding tube is merely a convenient way of delivering food and water, which are necessary to everyone. Reportedly, she can swallow and can probably be fed with a spoon.

But my understanding is that the court won't allow this. By order of a judge, she is to be starved to death.

Ms. Schiavo isn't in a coma. (A "vegetative state" is not a coma and is not much like a vegetable.) She reportedly has the brain functions of a 9-month-old infant. Nor is there any difficulty with arranging care for her.

There is no reason to expect her death from dehydration to be painless.

As far as I can determine, the only real reason Ms. Schiavo is being killed (pardon me, "allowed to die") is that her husband wants her out of the way and has persuaded the legal establishment to agree with him.

You know those things the Pope and other Christian leaders are saying about the "culture of death"? They're true. We're moving into a world where, if people don't want you around, you're disposable.

Please, no e-mail debates about this. I will accept corrections of fact, but I don't have the time or the inclination to debate morality. Other people's opinions are available all over the Web and the mass media.

Can we poison the phish?

There is a simple and obvious way to deal with people who steal credit card numbers, especially "phishers" (the people who send you fake e-mail that claims to be from your bank).

Poison their database.

That is, create a large number of perfectly normal-looking credit card numbers, each with a perfectly normal-looking name and address, which in fact are booby-trapped to alert police instantly whenever they are used.

Because "phishers" send out such massive requests, it would be a simple matter to give them massive quantities of "poisoned numbers."

And then phishing wouldn't be much of a game, would it?

Of course, the long-term solution is twofold:

  • Make banks verify the identity of anyone using a credit card or account number. Always. Period.

  • Redesign the Internet so that the origins of messages cannot easily be faked, and prosecute people who still try to fake them.

The Internet isn't a hobby experiment - it's part of our national infrastructure, and it needs to be engineered as such.

I also think the Internet shouldn't be tax-free. It needs taxes in order to pay for police.

More about Decimal

Uploaded on March 16. Again, enjoy tomorrow's news today!

Julian Bucknall writes to tell me where the idea behind the Decimal type came from: an IBM project (see especially the conceptual documentation here).

The key idea is that when we do arithmetic with pencil and paper, we work with whole numbers and rules for placing the decimal point. Think about it: Adding 2.2 + 3.6 is very much like adding 22 + 36. So they make the computer do it that way too.

I'm actually not sure whether pocket calculators use BCD, radix-100, or something more like IBM's system. They definitely don't use binary floating-point arithmetic.

One of my pictures has made it into the online gallery of the British Journal of Photography.

Happy St. Patrick's Day!

The Atlanta newspaper yesterday started an online poll about "Why do you celebrate St. Patrick's Day?" and the choices didn't include any mention of Christianity or St. Patrick. Cultural illiteracy, anyone?

The truth about Decimal

I wrote a program (which you can download here) to explore what really goes on in the Decimal data type in C# and Microsoft .NET Framework.

The result was surprising.

Recall that the problem was how to represent numbers like 0.1 and 0.01 precisely on the computer. In financial work, it is important to be exact to the last penny.

But computers do arithmetic in binary, and representing 0.1 in binary is like representing 1/3 in decimal - you can't get it exact, no matter how many places you use.

So computers have traditionally used base-10 or base-100 arithmetic ("binary-coded decimal") for financial work, and all pocket calculators use base 10 or 100 all the time. It's much slower than binary.

The Microsoft people have done something different. In C#, Visual Basic, and the rest of the .NET Framework, they offer a "Decimal" data type that they don't explain fully. This morning, guided by John Skeet's helpful web page, I looked at the bitwise representation of some Decimal numbers myself.

The answer?

Decimal numbers are stored as binary integers (whole numbers) with an offset in decimal places, and not normalized.

In fact (as Jim Mischel has written to tell me) Microsoft makes this clear here and further explains it here.

In this system, 1 and 1.0 are stored differently. The first is 1 (binary 1); the latter is 10 (binary 1010) with an offset 1 place to the right.

The computer considers them equal when told to compare them, of course, but the rest of the time, it leaves them as they are, so that when you print them out, you get exactly what you put in.

Clever! The speed of binary arithmetic (which is exact on whole numbers) combined with the precision of decimal arithmetic. I just wish Microsoft had told us more clearly how they were doing it.

C# gains ground

[Updated March 16.]

Just back from a trip to Atlanta and (inter alia) a brief visit to the first Borders bookstore that I ever set foot in, on Ashford-Dunwoody Road in Atlanta.

What I learned from browsing is that the C# programming language and its underlying .NET API is winning the interest and respect of a fast-growing and sophisticated programming community.

MIT Press has published - and I bought - C# Precisely, a clear and concise language guide by two Danish academics, including (bless them!) a nice set of sample string formats. It covers C# 2.0, which is just now coming out, and indicates what is new in 2.0.

The book is clear about everything except the Decimal data type, which most C# books don't seem to understand. Some of Microsoft's documentation doesn't seem entirely clear. But reading between the lines, I'm 95% sure it's truly a radix-100 (base-100) number system, not binary. (They get only 29 significant digits in 128 bits, which strongly suggests each decimal digit is a 4-bit nybble.)

Decimal arithmetic is essential in financial work because the numbers 0.1 and 0.01 (a dime and a cent, respectively) don't have exact representations in binary.

In binary, 1/10 raises the same problem that 1/3 does in decimal: no number of digits is enough. (Does 1/3 = 0.33? No; 0.333 is closer; 0.333333 is closer yet...)

Thus, on a computer that does arithmetic in binary, 0.1 + 0.1 + 0.1 + 0.1 + 0.1 doesn't equal 0.5. Without true decimal arithmetic, you'd have to do your financial work with integer arithmetic and count money in cents instead of dollars.

Another development is that the Mono project is implementing C# and the .NET Framework for Linux and other operating systems. Thus C# and the underlying API is no longer confined to Microsoft; the non-Microsoft world is admitting it's a good idea!

Fixing a Lexmark Optra R

Special! Read tomorrow's news today! March 14 entry uploaded on March 13!

For about a decade, Melody has had a trusty Lexmark Optra R printer, which produced lots of 1200-dpi camera-ready copy in the days before publishers started accepting PDFs.

Yesterday it fell ill with a strange malady. There was a paper jam, and when she opened the cover, the printer ejected, onto the floor, a small metal pin mounted on a small metal spring and a broken piece of plastic rod. From then on, the printer complained that the cover was open or the cartridge was missing when neither was actually the case.

Figuring out where the pin had come from was the hard part, and the service manual (which I found online here, compressed with a new utility called WinRAR), was not as much help as it could have been. It explains how the pin works but shows it located in entirely the wrong place.

Anyhow, after removing numerous components, I found out where the pin had come from, then managed to secure it back in place, and all is well.

The pin engages, and is deflected by, a slot in the cartridge, and then pushes a button to enable the high-voltage power supply. Thus it detects both a missing cartridge and an open cover.

By the way, this Optra R has two special features. Thanks to a helpful technician at Lexmark, early in its life it was converted to Optra R+ firmware. And thanks to me, it has a nice green power-on LED right below the display panel.

[Pictures added 2006 May 21.]

Do you keep losing your wireless net connection?

I've been troubleshooting this problem at home. Whenever my laptop resumes from standby, it connects to the home wireless network immediately, but about half a minute later, it loses the connection and immediately regains it. This may happen again a few minutes later.

Sharon has a worse problem. Her laptop works perfectly at school, but at home it loses its wireless connection every few minutes, then immediately reconnects.

Here are some possible solutions.

(1) Update your wireless device driver. To find out the make and model of your wireless network adapter, right-click on My Computer and choose Manage, Device Manager. Mine is an Intel 2200, and installing the newest driver (version 9) apparently cured the problem for me.

(2) If your network is on channel 1, 2, or 3, move it to another channel. Intermittent disconnects on those channels are a known problem with some Intel network adapters. (Supposedly cured in release 9, from whose readme file I heard about it.)

Avoid channel 6, which is the default channel that everybody else is on, and remember that adjacent channels overlap so that only 1, 6, and 11 (or maybe 1, 4, 8, and 11) are actually usable. Our home network was on channel 1.

(3) Disable Wireless Zero Configuration. That's the service in Windows XP that scans for available networks and lets you pick one. If it's disabled, you'll have to set up your connections with the software that comes with your network adapter - so make sure it's all there and functioning.

Here's how to disable Wireless Zero Configuration: Go to

Control Panel,
Performance and Maintenance (skip this step if it's not there),
Administrative Tools,

and open the Wireless Zero Configuration service. Click on Stop, then change its startup from Automatic to Disabled or Manual.

More about this here, here, and here.

Lou Garner's Knight 100-in-1

Currently for sale on eBay (but not by me) is a Knight 100-in-1 electronic kit built and signed by the noted writer Lou Garner. Whether Dr. Garner was involved in designing it, I don't know.

I don't have space for this thing myself, or I'd buy it. I had a Knight 100-in-1 as a child; I got it for Christmas in, I think, 1964. One of the first things I built picked up a local radio station so well that my father was bragging, "He had music coming out of it inside of 15 minutes." I didn't have the heart to explain that it wasn't supposed to be a radio, just an audio amplifier. We were right in the beam of a very strong AM station.

The 100-in-1 was an impressive red-and-white console containing a universal breadboard made with spring connectors and a pegboard. It came with plans for slightly more than 100 circuits (hence the name). It included a type 12U7 low-voltage triode tube, three transistors, and (as you can see in the picture) a photocell, a relay, a speaker, a telegraph key, and other input-output devices.

Unfortunately, most of the circuits are given only as pictorial wiring diagrams, not schematics, and there's no good documentation for the springs that connect to internal components (e.g., maybe springs A9 and A10 are the speaker, but unless you work back from the assembly instructions, this fact isn't obvious). The latter problem made it hard to use the 100-in-1 as a general breadboard. If I had it today, of course, I'd simply add some strategically placed labels and remedy the problem.

The main thing I learned from the Knight 100-in-1, actually, was how to identify components and read resistor color codes. That, to an 8-year-old, was worth a great deal.

Have you ever heard of Norton I, Emperor of the United States and Protector of Mexico? If not, follow the link and enjoy.

Not all computers should be on the Internet

The Washington Post reports that hackers are trying to break into the computers that control our national electric power grid. That is scary.

I propose a very simple solution.

Simply don't connect those computers to the Internet at all.

Why has no one else thought of this?

We don't have to connect all the world's computer networks together, just because they exist.

What is absolutely non-negotiable?

[Revised March 11.]

Today's Christian Faculty Forum speaker was Peter Kreeft, Professor of Philosophy at Boston College.

His talk was mainly a question session, and he stumbled onto a very important topic:

What is absolutely non-negotiable? What does modern society value so much that all other values are subordinate to it?

His answer: Sexual pleasure.

Once you understand this, a lot of things about modern society fall into place. Because sexual pleasure is thought to be the Supreme Good, lots of other values have to be subordinated or bent to accommodate it.

For example, abortion has to be unrestricted, because people have to have Sex without consequences. That is why there are so few debates about whether a fetus is a person; abortion is classified as "women's rights" instead.

Divorce laws have to be lenient because Sex, the Supreme Good, justifies breaking promises and abandoning people who depend on you.

Trendy people aren't allowed to disapprove of what President Clinton did with Monica Lewinsky because he did it for the sake of Sex. I have actually heard someone make this argument.

You may or may not like this value system - but until you grasp it, much of modern culture is incomprehensible.

Kreeft observes that sexual pleasure was created by God to be one of the holiest things in the physical universe. (It is, after all, an essential part of the transmission of life, which is the Creator's finest invention.) But if you substitute a subordinate thing for God, you get foolishness. The bigger the thing is that you're substituting, the bigger the resulting foolishness.


For the first time since last spring, I got out my webcam (a Philips ToUCam with the lens taken off and an eyepiece tube installed in its place) and photographed Saturn. The picture you see here was obtained by capturing about 600 frames of video, then using Registax to pick out the best frames and align and stack them.

Taken with an 8-inch telescope under moderately good conditions, this is better than the best film photographs of Saturn from the large observatories prior to 1980 or so. Truly, planetary imaging isn't what it used to be.

To do the video capture itself I used K3CCD Tools, which has undergone some improvements since the last time I used it. For that matter, so has Registax...and even the ToUCam driver.

Today is the 35th anniversary of a great day - of sorts. On March 7, 1970, at the tender age of twelve and a half, I was involved with scientific teams observing a total solar eclipse in my home town (Valdosta, Georgia). But we were clouded out.

I did make one observation of interest: the texture of the clouds changed rather suddenly as totality came and went. If sufficiently motivated, I'll dig up and post my pictures of them.

Comet Machholz retreats into the distance


Comet Machholz is receding from the earth and is presently in almost exactly the direction of the star Polaris.

That means the earth's axis is pointing right at it.

And that, in turn, means you can take a tolerably long exposure of it with a camera on a fixed tripod, without compensating for the earth's rotation.

Above is a quick-and-dirty shot with my Canon Digital Rebel and an old (but good) Takumar 135mm lens on a screw-mount-to-Canon adapter. Exposure, 20 seconds at f/2.5 at ISO 800. A dark frame was subtracted, but since the image had already been curve-shaped and JPEG-encoded, the subtraction didn't work perfectly (see here for technical considerations). Subsequent processing was done with Photoshop.

Polaris is the bright star at the lower right, and the comet is the bluish object at the upper left. The total field of view is comparable to that of low-power binoculars.

The second picture is from the same image; it shows the comet much enlarged.

These are not great photographs, but they show what can be accomplished in a 5-minute session followed by about 15 minutes of computer work.

Investments again

The other day I was talking about investments. Here's another one that looks good...

There are mutual funds through which you can invest in real estate (at least indirectly) rather than general stocks and bonds. Fidelity has several of them here (all of them very low in cost, in the sense that they lack hidden charges).

Their real estate fund (FRESX) performs particularly well during stock market crashes - see this chart. (FRESX in blue, Dow-Jones Industrial Average in red.)

And they've opened up a new international real estate fund (FIREX) which is too new to judge, but there's a real estate boom going on in Britain and I hope they're in on it. Short-term chart here. Notice the scale of the chart; those lines are only 2% apart, so mostly you're just seeing noise. We don't know what FIREX does over the long term.

And if you like to live dangerously and watch your investments all the time, look at Fidelity Leveraged Company Stock Fund (FLVCX) (chart here).

I'm not an investing wizard, but I've had some minor successes in the past, all based on one simple principle: don't hold an investment that's going down. You're better off selling it, then buying it back, getting more shares with the same money, when it starts going up again.

The other thing I presume is that investments don't know whether they "ought" to go up. Actual observed performance is the only indicator.


[Updated March 11.]

Check out this alarming story about the rise in compulsive gambling among the elderly. I'm particularly alarmed by the association between excessive gambling and cognitive impairment (impaired brain function due to age, which often progresses to Alzheimer's Disease).

That is, gambling is not a "tax on stupidity" so much as a way of taking advantage of the mentally impaired and pushing them into poverty when they're too old to recover from it.

I'm equally alarmed by the way gambling, especially poker, is sweeping through the young adult world. Aggressive promotion of poker as a "sport" on TV doesn't help.

Nor does complete non-enforcement of the federal laws that should, in most cases, eliminate online gambling. In the United States, gambling "by wire" is legal only if it is legal at the locations of both ends of the transaction. These laws are apparently not enforced mainly because they would invalidate credit card gambling debts, and the credit card industry is making too much money. I'm not a legal scholar; a few minutes' research shows mainly that the situation is messy.

Gambling is something I've never been tempted to do. I can just understand, with some stretching of the imagination, that people might find it entertaining to have a small chance of a big win, even if accompanied with a much bigger chance of a small loss.

But I strongly suspect that most gamblers are seriously overestimating their chances of winning, or that they think they can influence the outcome more than they really can. Look at the people talking to their lottery tickets in convenience stores.

The people who mix religion with it - "God might let me win" - are particularly pitiable.

Today is the 1-year anniversary of the beginning of this Daily Notebook.

What to do when you're young

I'm too busy to write much today, but see what Jeff Duntemann and Paul Graham have written on the subject of what to do with yourself when you're in high school and college.

Jeff's article will later be archived here.

Comparing the present generation to my own, I'm dismayed at the way high school and college have become a matter of résumé-building. Boring people make other boring people do boring things in order to "look good" and impress somebody.

There's entirely too much competition in the sense of wanting other people to fail so you can get ahead of them; not enough creativity and discovering your God-given talents.

One could express this by parodying Gilbert and Sullivan:

I am a perfect specimen of prep-school mediocrity,
I only finish courses if my grade's no lower than a B,
I live a life of things that all will look good on my resumeeee...
I am a perfect specimen of prep-school mediocrity!

There's also the expectation that teen-agers will spend all their time consuming entertainment. Just look at how they're depicted on TV (which of course wants to sell more of itself).

If what you are looking for is not here, please look at previous months.


Search Covington Innovations   Search Web