Michael A. Covington    Michael A. Covington, Ph.D.
Senior Research Scientist
Adjunct Professor of Computer Science
Associate Director
Institute for Artificial Intelligence
The University of Georgia

This is a private web page, not hosted or sponsored by the University.
Copyright 2009 Michael A. Covington. Caching by search engines is permitted.
To go to the latest entry every day, bookmark
http://www.covingtoninnovations.com/michael/blog/Default.asp
and if you get the previous month, tell your browser to refresh.
Covington Innovations
Ichthys
Previous months
About this notebook
Search site or Web
--- --- --- Daily Notebook --- --- ---  
Dictionary of Computer and Internet Terms Astrophotography for the Amateur How to Use a Computerized Telescope Digital SLR Astrophotography
 
Popular topics on this page:
Valdosta flood map
"Spyware Protect 2009" is fake
FTP from Windows Explorer
WaveSurfer crashes, "No such device"
Vitamin D deficiency is common
C# hint: Use this.Cursor, not Cursor.Current
C# hint: Use StreamReader, not TextReader

For more topics, scroll down, press Ctrl-F to search
the page, or check previous months.

Astrophotos:
Saturn
Rhea, Saturn, Tethys
Saturn, Mimas

In memoriam:
Herbert Keppler

--- If you'd like to show your appreciation of the Daily Notebook, please consider making a contribution to my department at the University of Georgia. Thanks!
---

2009
April
29-30

The 1930s and 1940s in color

The end of the month is very busy, so I'll close out April without writing anything more. Instead, everybody, go look at the Library of Congress's remarkable collection of color pictures taken in the 1930s and 1940s (on Kodachrome).

--- ---
---
2009
April
28

Saturn and Mimas

Here's Saturn, with the satellite Mimas faintly visible at the lower left. This was taken with my 8-inch; I processed the image a little differently than the previous Saturn picture (several days ago) and I think I've gotten the colors more accurate.



Short notes — eventful world

More authorship: My DSLR astrophotography book has been published in Spanish. Soon I'll update its web page to say so.

Dog, sick as a dog: Last Friday, Cathy's dog Tycho almost died of hemorraghic gastroenteritis. As its name suggests, this is a very messy disease, so after getting the dog taken care of, we spent a long time cleaning carpets. (Successfully, I might add.)

Tragedy: Over the weekend we had, as you know, a triple murder committed by a faculty member who has, as yet, not been found, and the campus is still in shock, but operating normally. The missing perpetrator had the foresight to assign grades to all his students (by making the final exam optional) before committing the crime.

Vociferous car: Today (Monday) my Oldsmobile decided to mourn the death of the Pontiac product line by sounding its horn spontaneously as I drove along. I quickly yanked out the fuse (well, it didn't seem quick at the time — the neighbors had to endure about two minutes of honking), and tomorrow morning it's going to the shop.

Achievements: In spite of adversities I managed to attend a photography trade show (SEPPA), work on a new research contract, and start setting up the Industrial Partners and Associates Program of the Institute for Artificial Intelligence. (No web page yet... stay tuned.)

Better than polls: We've had a very good research result which I am not yet at liberty to reveal. Suffice it to say that we've taken sentiment analysis in a new direction and have a very effective method of tracking public opinion from the news media (by computer, of course).

Economy: Last Thursday, just before all my recent calamities, about 1/250 of the U.S. population attended Dave Ramsey's "Town Hall for Hope." That ought to be enough to significantly impact our popular culture, and although I don't see eye-to-eye with Dave Ramsey about everything, I'm glad he did this.

His message is that the sky is not falling, the economy is not collapsing, and although we've had a fluctuation, we're not going to starve. The severe downturn is confined to a few professions, and the foreclosure crisis is confined to a few counties (yes, really). I hope to write more about this later.

--- ---
---
2009
April
27

Short notes

As this is written (noon April 26), there have been no further developments in the Georgia shooting case, and the whole town and university are still in shock. I'm especially sorry for the two children, who have lost their mother and (one way or another) their father.

In the picture, you see the text message that the University sent out right after the incident.


On a more mundane matter, someone else at Quicken wrote to me and pointed out that one of the features I asked for, automatic discarding of long-unused payee names, is already there (under Preferences, Quicken Program, not under QuickFill).


Web pages nowadays need document type definitions to specify the version of HTML in use. Soon, the Daily Notebook will have one.


Those of us who want to move to the new GUI for C# and Visual Basic will find Microsoft's WPF FAQ handy. My feeling? WPF isn't quite all there yet; give it one more iteration.



What's wrong with loan sharks?

When I recently rounded up the things I had already said about credit card regulation, I left out the most pointed critique of all, which also covered subprime lending. Back in July of 2007, I singled out the following lending practices as unethical and deserving to be banned:

  • Extremely differing fees for different customers.
  • Use of "penalties" as a source of income, rather than merely to deter misuse.
  • Planning to seize the collateral a substantial percentage of the time.
  • Raising interest rates independently of changes in the economy as a whole.
  • Deliberately imposing new, heavy costs on people who are in financial difficulty.
  • Promoting deals that no rational customer would accept.

Now, the much-needed regulatory crackdown seems likely to happen (despite a few bankers on TV telling us, implausibly, that it will kill the economy). I know I'm going to lose some credit cards — but if I can keep even 1/10 as much available credit as I have now, that will be enough.

--- ---
---
2009
April
26

(Extra)

Shootings near the University of Georgia

Our thoughts and prayers are with all those affected by the tragic shootings that took place in Athens, Georgia, on April 25. I did not know the alleged perpetrator, George Zinkhan, though he had joined the faculty the same year I did.

One of those killed was Ben Teague, a writer whom I've known and respected for years; we met in the Athens IBM PC Users' Group back in the 1980s.

As this is written (updated 11 hours after the event), the case is still unfolding.

(We are not related to, and do not even know, a couple named Robert and Melanie Covington with whom Dr. Zinkhan reportedly left his children. Note well: Melanie Covington is not to be confused with Melody Covington!)

---
---
2009
April
26

All of today's material consists of prototype content for a book I may one day write. If you're a publisher, and would like for me to write C# for Scientists, please drop me a line...



C# hint: Use this.Cursor, not Cursor.Current

The trouble with the world, said Will Rogers, is not ignorance; it's "the things people know that ain't so." In this and the next item, I'm going to renounce some of my own past errors regarding C# programming.

Early on, I learned that you can set the cursor to the hourglass (or, in Vista, the spinning wheel) by doing this:

Cursor.Current = Cursors.WaitCursor;

It has recently been brought home to me that this isn't the right way to do it. (Why it's allowed at all puzzles me; I suspect it's for use in methods that, for some reason, are not attached to a form and cannot easily find out what the current form is.)

The trouble is that Cursor.Current gets reset whenever an Application.DoEvents() is performed, so the new cursor doesn't "stick." Even if you don't call DoEvents() yourself, it may get called in the process of updating a form.

Instead, do this:

this.Cursor = Cursors.WaitCursor;

and undo it with:

this.Cursor = Cursors.Default;

where this.Cursor means "the cursor associated with this form," assuming of course you are in one of the instance methods of the form.

Alternatively, do this:

this.UseWaitCursor = true;

and of course undo it by setting it to false.



C# hint: Use StreamReader, not TextReader

Another of the errors of my youth, when I was but a lad of 45, was to open text files as follows:

TextReader tr = new StreamReader("c:\\temp\\test.txt");

or the like. This works perfectly well, of course. You can read a text file line by line by using a loop like this:

while (true)
{
  string s = tr.ReadLine();
  if (s == null) break;
  // process it...
}

But it has been brought to my attention that all this works exactly the same way if you change the initialization to:

StreamReader sr = new StreamReader("c:\\temp\\test.txt");

and of course rename tr to sr for consistency. What I hadn't realized is that StreamReader inherits from TextReader, not the other way around. So a StreamReader can do everything a TextReader can do.

And it can also do more. In particular, you can do this:

while (! sr.EndOfStream)
{
  string s = sr.ReadLine();
  // process it...
}

which appeals to my Pascal-trained instincts. (And, no doubt, to the Pascal-trained instincts of the inventor of C#, Anders Hejlsberg.) It's just like Pascal's while not eof.

You can also use sr.BaseStream.Position and sr.BaseStream.Length to find out how far through the file you've gotten. This can be very handy for updating progress bars and the like. One caveat: When reading text, BaseStream.Position is likely to have a value a few hundred bytes beyond the actual position because it's ahead of the buffer.



C# hint: Understanding how a form works

You may have created your first C# program the way I did mine: create a new form, put a button on it, click on the button, and define what should happen when the button is clicked:

private void button1_Click(object sender, EventArgs e)
{
  button1.Text = "Thank you for clicking.";
}

Of course, you only had to write the line in the middle. The form designer has already taken care of creating the object button1 and arranging for this method to be called, with appropriate arguments, when the button is clicked.

Sooner or later you'll want to do some computing and encapsulate it in a method. Here's a somewhat silly example:

private void button1_Click(object sender, EventArgs e)
{
  button1.Text = SayTwice("Thank you!");
}

string SayTwice(string s)
{
  return s+s;
}

int k; // to be explained shortly

It works. But you're probably wondering:

  • Should SayTwice be declared static? What if it's not?
  • What is the scope and extent of variables inside SayTwice?
  • What about "global" variables declared just outside SayTwice, like k in the example?

In C#, every method (function, procedure) that you write is either static or non-static. Static methods can be called directly, like procedures and functions in Pascal and C. Non-static methods are attached to object types and can only be called when you have an object of that type. For instance, Application.DoEvents() is a static method in class Application, whereas if s is a string, s.Trim() is a non-static method of the object s.

Likewise, static variables exist on their own, as long as the program is running, but non-static variables exist only as part of the larger object within which they are declared.

So what is the answer to the three questions?

A key concept of C# is that when you define a form, you're defining a type, and then you will create exactly one instance of that type.

Many simple WinForms programs have just one form class, traditionally named Form1 although you can rename it, defined on the file Form1.cs and Form1.Designer.cs. The former is where you write code; the latter contains the automatically-generated code from the form designer.

You usually don't even look at the main program, which resides on file Program.cs. It creates an instance of Form1 by doing roughly the following:

Form1 f = new Form1();
Application.Run(f);

But what I just said isn't quite true. Usually, what happens is just this:

Application.Run(new Form1());

It follows that your new form doesn't have a name. Form1 is the name of its type. You can still refer to the form, of course, from code written within it, by using the special name this.

Now then. Anything that you define within Form1 is attached to the particular object of type Form1 that you're working with, unless you declare it static.

As long as there's only one object of that type, this hardly makes any difference. The SayTwice method and the "global" variable k will work the same way whether you declare them static or not.

There is, however, one difference. Non-static methods of Form1 can see other non-static components of Form1; static methods cannot, because they exist whether or not an object of type Form1 has been created. Accordingly, if SayTwice needed to refer directly to something else on the form, such as the button, then it could not be static.

Apart from that, I think I'm on solid ground when I say that calling a static method is slightly less work than calling a non-static method.



C# hint: Miscellaneous exhortations

(1) Compile and run often. I go for "extreme programming," which means that testing and coding are interleaved; I hit Run every couple of minutes, and I build the program top-down, with stubs (incomplete substitutes) in place of everything I haven't written yet. The idea is always to have a runnable program.

(2) Don't get compiler warnings. If the compiler gives you a warning, change the program until it doesn't, unless there's a very good reason. Later on, anyone working on your program will assume that every compiler warning indicates something that may be subtly wrong.

(3) Don't use exceptions for normal events. This is not an ironclad rule, but in general, you should not use catch for ends of files, termination of loops, and the like. It's too slow, as well as confusing anyone else who works on your program later. Exceptions are for things that shouldn't happen.

(4) Do throw an exception if the unexpected does happen. Examples:

throw new NotImplementedException("Sort routine not written yet.");

throw new ArgumentException("Element count must be positive.");

throw new ApplicationException("You must specify an input file.");

(5) Don't catch an exception unless you plan to handle it. C# is rather good at generating understandable error messages when something happens such as a division by zero or an unopenable file. If the program ought to crash, let it! We are no longer living in the world of "General protection fault" or "Illegal operation."

--- ---
---
2009
April
25

Vitamin D deficiency is common — do you have it?

Yesterday my doctor informed me that, according to a recent blood test, I have a fairly severe deficiency of vitamin D. So do plenty of other adults — about a third of the population!

This wasn't known until a blood test for vitamin D became routine. We knew we needed to shove vitamin D at children and pregnant women, and we did so, and apart from that, vitamin D was ignored.

The textbook symptoms of vitamin D deficiency are weak bones and odd muscle pains. If the deficiency isn't quite that severe, the symptoms are nonspecific — a vague worsening of whatever is already wrong with you, especially in the winter, when you're away from sunlight. Low vitamin D levels are associated with asthma, increased risk of cancer, depression, and even schizophrenia.

I strongly recommend that everyone get tested. Vitamin D is made by the body itself (from cholesterol, using sunlight) as well as coming from food. It is stored in the fat cells, and the level of it rises or falls over a period of months. If you have a deficiency, taking an over-the-counter one-a-day vitamin pill won't help, at least not for weeks; instead, you need a much higher dose that is available only by prescription.

Anyhow, now I'm wondering a number of things:

  • Is this why I've had an unexpected bout with tooth decay for the past year and a half? My teeth have always been strong, until now...
  • Is this why I've gotten tired more easily this year than in prior years? I thought it was just old age and overwork.
  • More speculatively, does anti-cholesterol medication reduce the supply of vitamin D? I wouldn't advocate letting your cholesterol level go up, but since vitamin D is made from cholesterol, maybe people whose cholesterol level is being artificially lowered should be given supplemental vitamin D. This is my own speculation, not medical advice; it's a research topic that, as far as I know, hasn't been investigated.

By the way, this strikes me as an instance of technological progress causing the cost of health care to drop, not rise. Detecting and treating vitamin D deficiency is inexpensive, and it can apparently prevent lots of health problems that are expensive and serious (even broken hips).

--- ---
---
2009
April
24

Rhea, Saturn, Tethys

Here you see Saturn with its satellites Rhea (left) and Tethys (right), seen through my 8-inch telescope. This is a stack of about 2000 video frames combined with RegiStax 5. The ends of the picture were brightened up so that you can see the satellites; that caused the blue, noisy background.



Short notes

Need to edit really big text files? Try PSPad, with which I edited a half gigabyte of text the other day. This looks like a good all-around editor which I'm going to try out. (I'm currently using Notepad++.) Both Notepad++ and PSPad are freeware.

It has come to my attention that, in C#, a statement like Cursor.Current = Cursors.WaitCursor will only have effect until the next Application.DoEvents, at which time the cursor will reset to the default. I know there are other ways to set the cursor, but what good is assignment to Cursor.Current, then? I'd like to know more about the background of this particular quirk. Documentation here and (earlier but more informative version) here.

Want to really speed up a PC, money no object? Try a solid-state disk. Of course, Windows Vista ReadyBoost is a taste of this, and you can afford it.

Finally, if you're ready for a stroll down memory lane (maybe your great-grandparents' memory, not just your own), check out the history of dial telephones. I am not quite old enough to remember a time without dial telephones; medium-sized Georgia towns got them in the 1950s, just before I was born. Some major cities had them as early as the 1920s. Touch-Tone came in around 1965 and had completed its takeover by 1975 or so. I have some old dial phones... must set one of them up so my daughters can have the experience of using it.

--- ---
---
2009
April
23

You read it here first (continued)

Today, much-needed credit-card regulation is on the nation's mind. Here's what I've said about the issue in the past:

June 2005
December 2005
September 2006
January 2007
December 2008 (1)
December 2008 (2)

[Addendum: And don't miss March 2007, the best of all.]

Daily Notebook — where you read today's news several years ago!

More to the point, I'm afraid everyone has gotten so wrapped up in the issue of interest rates and fees (which is very important) that they've forgotten about security and identity-theft issues, as well as reliability (we don't want to make credit cards go dead, stranding the legitimate users, whenever any kind of fraud is suspected).

--- ---
---
2009
April
22

You read it here first — in 2005!

When President Obama calls the credit card industry on the carpet on Thursday, he should read what I wrote about it 4 years ago.

Picking up a cue from Jim Mischel (who is, like me, a computer programmer with broad interests) and from The Washington Post, I also reported the bursting of the real estate bubble in June 2005.

Incidentally, I thought Obama's recent speech about the economy was clear, accurate, and to the point. And I'm not a Democrat.

But what do we make of Clark Howard's advice to max out your HELOC and deposit it in a different bank? I thought that particular panic had come and gone six or eight months ago.

--- ---
---
2009
April
21

Quickening?

Someone at Quicken actually read my recent entry and is going to put it in as a suggestion. Who says blogging is boring or pointless?

I've made one or two revisions to several recent entries.

--- ---
---
2009
April
20

Boring?

Feeling that this Notebook had started to become boring, I've radically rewritten two recent entries (marked "[Rewritten.]"). Enjoy!



Short notes, mostly economic

Another reason to want inflation: What do you do if interest rates are around 0% and need to be pushed even lower to stimulate the economy? One solution is to create inflation so that the inflation rate goes higher than the interest rates. That, and as I've already observed, inflation makes it easier to repay fixed-dollar debts such as student loans and mortgages. For both of these reasons I expect a considerable amount of inflation around 2012-2015.

For related reasons, experts are pointing out that not everybody should pay off their mortgage early. If you have a nice low-interest mortgage, and inflation is coming, you're better off keeping the "free loan" and saving your money for other things. It's easy to be "debt-free" and house-poor. Anyhow, the house doesn't become "free" when it's paid off — there are still taxes and insurance.


So what is the state of the economy? From what I see in stores and hear in the business world, my estimate of the situation is that recovery has started, but people don't quite realize what is going on. Business seems to be picking up, but it's a different kind of business.

Stores are full of $500 computers instead of $2000 computers, and guess what? The $500 computers deliver 90% of the performance of the more expensive ones. Technological progress is being used to make things more cost-effective rather than glitzier.

A caveat: when it recovers, it's not going to be the same economy that it used to be. In that sense, we will not have a full recovery (just as the Roaring Twenties never came back), but we will again have prosperity. In fact, the money that used to be spent on interest and bank fees will be available to spend on goods and services of a more productive sort.

(Hmmm... It could be argued that the Fabulous Fifties were the resumption of the Roaring Twenties with better technology. But I digress.)

The wild era of overlending is gone, and with it the real-estate bubble. Many houses are never going to be as high-priced as they were in 2004. Speculators are going to have to take their losses, and it's a pity that so many middle-class families had decided to be speculators. Also, jobs in construction and manufacturing will not come back to their current levels — some people will need to change careers. Moreover, a lot of people have learned not to live so close to the edge. A recession, even a minor one, is a terrible thing if you are in debt to the hilt, and so is everyone around you.


Two left-wing ideas that I support (even though, as you know, I'm not the least bit left-wing):

(1) Normalization of relations of with Cuba (whose human rights record, for all its faults, looks better than Saudi Arabia's).

(2) A commodity-based regional currency for South America. (But I'm not sure oil is the best commodity to base a currency on. At least it can't be worse than gold. Maybe plans will evolve.)

This may sound unpatriotic, but I see no reason why our Federal Reserve should be managing the currency of, say, Ecuador. It's flattering that some other countries have adopted the U.S. dollar, and we probably even benefit from it, but it wasn't the plan.


Super-secure web browsing: See what Jeff Duntemann says about SRWare Iron, which is an adaptation of Google Chrome with the privacy-compromising features taken out. I haven't tried it myself.

--- ---
---
2009
April
19

Degunking Quicken 2009: Slow QuickFill

[Rewritten.]

For years, we've been using Quicken for household finances. During that time, the QuickFill feature got slower and slower. When you type a name in the payee field of a transaction, QuickFill tries to auto-complete what you're typing. The trouble is, it was taking five or ten seconds after each letter, not letting us type in the meantime!

The culprit, of course, is simply that the list of names ("Memorized Payees") has grown way too big. This is especially a problem now that some credit card systems generate a unique name for each transaction. We had Shell Oil in the list under about 40 names, for example.

The solution? Three steps.

(1) Tools, Memorized Payee List, and delete all the names. This will take several minutes or more (I don't know why). You can choose to keep some names that you know are useful.

(2) Edit, Preferences, Quicken Program, QuickFill, and tell it not to memorize payees automatically.

(3) Go to the check register, and right-click on each check whose payee information actually should be in the memorized list; tell Quicken to memorize just those.

I wish Quicken would automatically memorize every name that is typed into Print Checks, but not elsewhere. I also wish it would prune its memorized-payee list, removing the ones that haven't been used in, say, a year and a half. [Update: This feature is already there, under Edit, Preferences, Quicken Program; not under QuickFill where I looked for it.]

--- ---
---
2009
April
18

(Extra)

Strange financial diets

[Rewritten.]

I've been listening to a popular Christian radio talk-show host who preaches "debt-free living." And I've been hearing some strange stuff. Admittedly, much of the strangeness is on the part of the followers, not the leader, but I'd like to see the leader do more to correct their mistakes.

Before anyone lumps me with the evil moneylenders, let me assure you that I'm in favor of thrift. Lots of people have too much debt, useless debt, and need encouragement and practical advice to get rid of it.

But a money management regimen, like a diet, should not be elevated to the level of moral commandments. Yes, the diet works well for you; yes, you like it; but no, it's not wrong for other people not to follow it.

It's time to point out specific errors. Among them:

(1) That it is wrong to borrow money, except to buy a house.

(2) That it is wrong to use a credit card for any purpose.

(3) That it is wrong not to follow this particular system of personal finance.

(4) That it is wrong not to have a specific amount of savings.

(5) That becoming "debt-free" is the supreme good, akin to achieving salvation.

Point (3) is probably not something the teacher says or even believes, but it's very easy to let the pupils think it. People are failing to distinguish what's wrong (illegal, unjust) from what is merely contrary to the regimen they've adopted ("not in the diet" so to speak).

As for (1) and (5), how many people are going to go through life with inadequate education, suffer undue harm in emergencies, or even lack adequate medical care because they are absolutely unwilling to borrow money?

And (2) is the funniest. I heard someone call in whose employer had issued him a credit card for work-related purposes. His wife wanted to destroy it on the theory that having a credit card is immoral. Fortunately the radio host said, "Keep it and just don't use it unless specifically ordered to," but he won't let people do what I do, which is use credit cards and pay them off monthly.

(On what Christian morality actually says about personal finance, read this.)

--- ---
---
2009
April
18

Short notes

Brickels the ceramicist: Look at the remarkable ceramic sculptures of John Brickels, who uses unglazed clay to capture the look of old-time metal castings. His creations are much more sophisticated than the usual "steampunk" arts and crafts. Cathy had an all-day workshop with him the other day and came home inquiring about the possibility of building electronics into ceramics.

Your own IBM mainframe: Hercules is a free, open-source emulator for the IBM 370 series of mainframe computers; it runs on your PC and is apparently faster than a real 370. (How time has flown!) Curiously, you can also get the IBM operating systems free; the relatively early versions were never copyrighted, since IBM saw no need. You can apparently get PL/I F but not X. Before acquiring this thing and starting a trip down memory lane, note that operating a 370 is a lot of work — you don't just turn it on and watch it boot.

--- ---
---
2009
April
17

WaveSurfer crashes with "No such device" or other puzzling message

I occasionally use WaveSurfer (pictured below) to make spectrograms of speech. It comes as a single .exe file that is easy to use and does not require administrator privileges.

My latest attempt to install it ran into a strange problem: Every time I tried to start it (or, alternatively, every time I tried to record any sound), WaveSurfer would crash with a long, mysterious set of messages starting with "No such device."

The explanation? My microphone wasn't configured right, and WaveSurfer remembered the incorrect configuration and didn't notice when I had corrected the problem. To wake it from its dogmatic slumbers, I had to delete the .wavesurfer folder, which was in my home folder (likely to be C:\Users\username or C:\Documents and Settings\username although mine was actually on a network share).

In a roaming user profile environment, this problem will roam with you from one PC to another.

--- ---
---
2009
April
16

Crunch time

I'm going to be extremely busy for the next couple of weeks (as the semester winds down) and may not even be able to answer all of my e-mail promptly. Thank you for bearing with me.

--- ---
---
2009
April
15

FTP from Windows Explorer

You can open an FTP site with Windows Explorer and just drag files into and out of it (occasionally hitting View, Refresh, to update the view of what's there).

First you have to construct a URL for your FTP site. It is of the form:

ftp://username:password@ftpsite.com/folder/folder

where username and password are your login, ftpsite.com is the site, and the path after it leads to where you want to be. If in doubt, leave out everything after ".com".

Now right-click on the desktop and choose Create Shortcut. Make the shortcut point to:

%windir%\explorer.exe  ftp://username:password@ftpsite.com/folder/folder

where the stuff after ftp: is the URL you constructed.

Caution: Anyone logged into the PC under your account will be able to retrieve the FTP username and password. That is probably not a serious problem if you keep your PC secure. Make sure your PC login account has a password of its own.



ARM netbooks

Here come the ARM netbooks: We're about to have subcompact laptop-like computers built with cell-phone technology, i.e., ARM (not Pentium) CPUs, Linux as the operating system, and very long battery life. They're for e-mail and web surfing, not for games or other high-powered software. My thought? These will make great robot brains and machine controllers. Linux is entirely open-source, hence easy to tinker with.

--- ---
---
2009
April
14

(Extra)

Two short notes

I have joined Facebook, though mainly just to post a notice saying I'm not very active on Facebook — please see my web site instead. Time permitting, I suppose I'm going to hear from everybody I ever knew, which is, I suppose, a pleasant prospect, provided I'm not expected to keep up with everyone continuously.

Best secret new product: Behr Stain & Poly, a one-step wood finish (actually you normally use three or four coats). In my early tests, it works really well, is totally odorless, and cleans up with water. Yet it doesn't raise the wood grain the way acrylic water-base varnishes so often do.

Curiously, it's not on Behr's web page, which, in any case, strikes me as an elegantly misconceived web site. I don't want to spend time watching their animations and having them control how I move through the site. I want to get information! And those animations slow me down. Besides, several of their newest products don't seem to be on the site at all — it's out of date. I strongly recommend Behr paint, too — it's heavily pigmented and hides the previous paint very well. But I wouldn't go to Behr for web design.

--- ---
---
2009
April
14

Penultimate does not mean "best"

Penultimate does not mean "ultimate" or "final" or "best." It means "next-to-last." Look it up.

Every so often, a word comes into fashion, unaccompanied by knowledge of what it actually means. Five years ago, it was testament. Now it's penultimate.

Pen- means "almost." A peninsula is almost an island, and penultimate is almost ultimate (final).



Copyright infringement vs. plagiarism

A couple of recent incidents, which I can't narrate in detail, underscored, for me, the subtle difference between copyright infringement and plagiarism. Both, of course, are unauthorized copying, and they commonly happen at the same time. But not always.

Copyright infringement is when the first author doesn't want to be copied (and has taken appropriate steps so that the law will back him up).

Plagiarism is when the second author, the copier, doesn't want to acknowledge the first one.

It's plagiarism, but not copyright infringement, when a manufacturer's press release is copied, verbatim, into a reference book and passed off as original material. The manufacturer, of course, intended for the press release to be copied freely. But the author of the reference book claimed to be delivering new material, not just a copy of something already published by the manufacturer.

It's copyright infringement, but not plagiarism, when a publisher makes an unauthorized reprint of a book. (Have any of my books been reprinted in Taiwan yet? If not, am I really a successful author?)

It's something stranger when a student, supposedly giving a critical review of a published paper, fails to identify the paper. And then gives a presentation consisting of the contents of the paper with very little new thought added. And even starts referring to the authors of the paper as "we" as if she were one of them. And can't name the authors when asked.

I have actually seen that happen.

--- ---
---
2009
April
13

Saturn with a 5-inch telescope

This image of Saturn was obtained by recording about 2400 frames of video through a 5-inch telescope and using RegiStax 5 to select and combine the sharpest images (more than 2000 of them). The telescope was my vintage 1980 orange-tube Celestron 5 with a 2× Barlow lens; the camera, a Philips ToUCam with the lens removed and a UV-IR-block filter substituted.

RegiStax version 5 has just come out, and I haven't explored it, but it seems to work well. It processes 16-bit-deep images. Apparently, there's quite a bit of DSLR support; I need to see if I can use it to stack and combine DSLR images.



Computer nerds are creative, flexible people

Weinberg's The Psychology of Computer Programming has been reprinted. You can read portions of it by clicking on that link and choosing "Look inside."

One of Weinberg's observations is that people commonly, and incorrectly, think computer programmers are rigid, inflexible people. Actually, programmers have to supply the flexibility to apply an inflexible machine to anything useful. That is, programmers have to be flexible and creative.

In my experience, good programmers (and I mean people who really can program, not immature geeks who merely want to be computers) are polymaths. They have wide-ranging interests and talents because their chief interest is really information, its structure, and its uses.



When you lose money in the stock market,
where does it go?

This is an excessively easy economics question, but I keep hearing people asking it.

Suppose you invested $10,000 in the stock market, and the value of your stocks went up to $15,000, and then back down to $10,000. Who got the money that you lost?

That's easy. In this particular example, no money changed hands. That $15,000 price was just an estimate of what people would pay if you had sold at a particular time. The "lost" $5,000 didn't go anywhere.

What about a genuine loss? Suppose you bought at $15,000 and sold at $10,000. Who got the extra $5,000?

In that case, money changed hands twice. Someone (call him A) sold you the stock for $15,000. Someone else (call him B) bought it from you for $10,000. It's misleading to say that either of them "got" the money you "lost."

If it had been a car instead of a bundle of stock, everyone would understand this. But during the 1990s, entirely too many people got the idea that the stock market is a bank, which it certainly isn't.

--- ---
---
2009
April
12

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!

--- ---
---
2009
April
11

(Extra)

Alert: "Spyware Protect 2009" is fake

According to CNET, if "Spyware Protect 2009" pops up on your computer and offers to clean it, you should decline. It's fake software which asks for your credit card number and apparently gives it to thieves.

"Spyware Protect 2009" is itself part of a virus (the "Conficker" worm), according to the report.

More generally, if anybody or anything says, "Your computer is infected and you must use this software to fix it right now," don't believe them.

Don't click on web page buttons that say they will "clean" or "fix" your computer.

And if you get e-mail saying, "There's a virus coming, and ordinary antivirus software doesn't block it, so you must download this right away," don't do it. At best, it's a self-serving advertisement; more likely you're being invited to download the virus itself. This is true even if your best friend forwarded the e-mail to you.

Always use antivirus software, and always get it from a reliable source, such as Kaspersky (my favorite), AVG, Norton (Symantec), F-Secure, or McAfee, and keep it updated on line. If there really is a virus hazard, all the commercial antivirus suppliers will respond to it promptly. Keep Windows updated, too.

Incidentally, I also don't trust cleanup programs that report too many "problems" that aren't really problems. This tends to indicate incompetence on the part of the cleanup program. Any fool can say your computer has 200 things wrong with it... what are they, and what are their actual effects?

--- ---
---
2009
April
11

Notes from all over

What's the size of a deck of cards, costs $300, and works like a PC? A Roboard. Looks extremely handy.

Who's having to take the blame for our economic woes? Business schools. Obviously you can't tar all of them with the same brush, and I know some very intelligent and wise scholars who work for business schools. But there's no fool like an M.B.A. fool (say I, an alleged Ph.D. fool).

What's finally going out of fashion? Extreme suburbs (exurbs, exburbs). Maybe the 40-mile commute is not the path to happiness after all. And the Atlanta real-estate market shows it!

--- ---
---
2009
April
10

A useful piece of syntactic sugar

"Syntactic sugar" is what we call features that are added to programming languages to provide handy alternatives to functionality that is already there. C# has recently added var declarations, which I think are very handy.

Back in the old days, you could declare j to be an integer and set it to the value 31 by doing this:

int j = 31;

That's as concise as you could wish. But if j is going to be a more elaborate object, such as a list of character strings, you need a new keyword to create it. So you end up repeating yourself:

List<String> j = new List<String>(1000);

That is, "j is a list of strings, specifically a newly created list of strings with 1000 elements preallocated."

In Visual Studio 2008, you can do this instead:

var j = new List<String>(1000);

Here var does not mean "variant." It does not make j able to be more than one type. Rather, like var in Pascal, it means, "Declare a variable of the type I'm about to tell you." That is, j becomes the same type as the expression after the equal sign. And much needless typing is saved.

--- ---
---
2009
April
8-9

Short notes

How America's public schools are destroying themselves: Read this rant by Clark Howard, who is ordinarily a mild-mannered and helpful adviser, not a ranter. It squares with my own experience — I could relate similar stories, and weirder ones.

Why do public-school administrators try so hard to convince the public that they lack all common sense and human empathy? I'm not saying they're all like that, but I've encountered a surprising number. They seem to want to alienate the entire public. Private-school headmasters, on the other hand, are invariably reasonable professionals, like good teachers.

Econo-notes: Look at lesson 4 here ("Generally, you don't build wealth by borrowing money"), which is good advice, of course, and contrast it with what everyone was saying three years ago.

By the way, if you are getting tired of the new fad for being totally "debt-free", check out this book (Gary Moore's Faithful Finances), which refutes some of the odd ideas that are circulating in the "Christian money management" subculture.

--- ---
---
2009
April
6-7

Remembering Herbert Keppler

Somehow, during the flurry of activity that was 2008, I failed to notice that photography guru Herbert Keppler is no longer with us. I corresponded with him a few times, and, like a million other photographers, was greatly influenced by his approach to understanding and using cameras.

You can still read his magazine columns. Appropriately enough, the last one was about the original Leica, progenitor of every camera that we would now consider modern.

For several years, Keppler's column was practically the only thing I read in any American photo magazine. Now what will I read? Frankly, I'm too busy discovering digital photography — and understanding it from basic optical and image-science principles — to need many tips from anyone else. With results available instantly, the quickest way to evaluate any technique is to try it.

--- ---
---
2009
April
5

Valdosta half under water?

For the past several years, Georgia has had a severe drought. Not any more! Since New Year's, we've had above-normal levels of rainfall; Athens is completely out of the drought, and South Georgia is suffering floods.

Back in 2006 I showed you a map of where I had lived while growing up in Valdosta, with some notes about the history of the area. Here's the same map, shaded to show what was under water as of Saturday, April 4. I'm going by pictures sent to me by our old friend Susan Davis and doing some estimation from the contour map.

[Addendum:] Aerial photos indicate considerably more flooding at the left center of the map, around the power substation, than I predicted.

The culprit is the Withlacoochee River (at the upper left) and its large, irregular flood plain. Now we know why Valdosta didn't expand westward until the 1950s... the higher ground, to the east and south, was utilized first. In fact, my parents seem to have had a taste for low-lying areas. Personally, I prefer to live on a hill.



Lack of sunspots

Without jumping to conclusions about global warming, let me point out that we are having an unusually deep sunspot minimum at the moment., Or, from a longer perspective, we may be coming out of a 50-year period of unusually high sunspot activity, and this may bode cooler weather in the next few decades.

Sunspots come and go in an 11-year cycle. (Look at this 400-year chart.) When sunspots are more numerous, it indicates that the sun is hotter, and this affects our weather slightly. The Maunder and Dalton minima (1650-1700 and 1810-1840) were periods of colder than normal weather.

All this could toss a monkey wrench into the global warming debate. If our energy input from the sun is about to subside slightly (not catastrophically, but just down to the level of the 1850s or so), then man-made global warming would be counteracted.

--- ---
---
2009
April
4

When the First Decade ended

A while back I wrote about how to divide centuries up into decades (culturally, that is).

Well, now I can tell you when the First Decade (nominally 2000-2010) began and ended. It was rather short. It started on September 11, 2001, of course, and it ended in early October 2008, with the start of the widespread economic panic.

Others have noticed that there was a sudden shift in Americans' attitudes toward money. In fact, I think it amounts to "falling off the horse on the other side," and people have gone from borrowing too much money to borrowing too little.

[Addendum:] Looking back, I see I said nearly the same thing on January 1, but at the time, I drew the line at the election of Obama. I now think the economic change was even more important than the political one.



The D word

[Revised.]

Unemployment hits 8.5% (which is only 4 percentage points higher than normal — 4% of the people who would normally have jobs are unemployed), and the morning news on the radio starts using the D word — "depression."

Nonsense. Interest rates are low, the stock market is so bullish that Wall Street must look like Pamplona, and the economy is much better than in 1982 or 1974. Too many young journalists apparently thought there would never be any fluctuation at all.

This is not to minimize the misfortunes of people who have lost their jobs unexpectedly. But we need some perspective. We're not all going to lose our jobs and starve.

What's more, recessions are when people change what they're doing. In the past, major modernizations have happened coming out of recessions, not during periods of contentment. The automobile revolution and the computer revolution are the two biggest examples. If you had merely whined that the buggy-whip factory was going out of business in 1930 or that you couldn't get a job taking shorthand in 1982, you would have missed lots of opportunities.

This, in turn, echoes a point made often by management guru Peter Drucker: You are going to live longer than your job. A healthy person can easily work 50 years or more, but few jobs or careers are likely to last that long. It's normal to have to stop what you're doing and switch to doing something else.

--- ---
---
2009
April
3

Ringtone transplant, the hard way

Today's technological exploit: Transferring a ringtone from Melody's old cell phone to her new one. This was more roundabout than it might have been...

The old ringtone was of some type that can't be sent out as MMS, possibly because of some kind of rights management. Since we still own the phone that it was installed in, and are not using it, we feel we haven't lost the right to use the tone. So the question was how to get it moved.

I used a microphone and soundcard to record the old telephone ringing, cleaned up the recording in Adobe Audition, saved it as an MP3 file, and e-mailed it through AT&T's MMS gateway. When it arrived on Melody's new phone, I saved it as a music file and set it as the ringtone. Problem solved.

--- ---
---
2009
April
2

More JMP

John Sall, the inventor of JMP, wrote a good book about it, much of which you can read on line. As you might imagine, the person behind JMP and SAS is very good at explaining statistics.

--- ---
---
2009
April
1

Highly recommended: JMP statistical software

The University has site-licensed JMP (pronounced "jump"), the new statistics package from SAS Institute, and it's the best toy I've had in a long time.

Compared to SAS, JMP is much more graphical, and graphs, once created, are very interactive. For example, the bars in a histogram are "live," and if you click on them, the corresponding items in the data table are highlighted.

Advanced functions are provided. Below you see it classifying animals on the basis of data about the configuration of their teeth.

For an individual user, JMP costs $1,495 and of course can earn its keep in one day if you analyze numerical data for a living.



Quotes for the day

"MVP Summit theme was .NET 3.5, 4.0 and beyond. Microsoft has big plans for these technologies. Forget Windows Forms and ASP.NET. It's history. Future is Silverlight and WPF." — C# Corner newsletter

"If GM and Chrysler were allowed to meet their natural end and become extinct, it would not threaten the continued availability of cars in the United States. We are buying 9 million cars a year. Yet we have factories that can make 18 million vehicles annually. You do the math." — Clark Howard



Short notes

[Revised for conciseness.]

Why campuses go "tobacco-free": The local newspaper reports that many college campuses (not including UGA's) prohibit all use of tobacco, even outdoors. The ensuing online discussion is remarkable for its failure to make sense, but apparently nobody realized why campuses are going tobacco-free. It isn't health or even fresh air. It's the trash. Today's smokers leave a trail of cigarette butts on the ground, the pavement, the floor... and nobody wants to have to clean up after them. Until smoking went out of fashion, nobody realized what a burden it was on janitorial services.


Freebie of the day: The official Georgia road map, as a downloadable PDF or as a free printed map mailed to you. Do other states do this? Unlike topo maps and even Mapquest, this map has exit numbers.

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