Wednesday, 30 April, 2003

If you also read my friend Jeff Duntemann's Web diary, you know that he's been working on ways to filter spam. His idea? Rather than filtering on senders, domains, or specific words, parse the URLs to which messages point. That's the point of most spam, after all—to get you to click on a URL that's embedded in the message. If a program can identify the target URL as being a spam URL, then you have an (almost) foolproof filter. Spammers already go through a lot of trouble to obfuscate those URLs, and also place garbage HTML in the message to confuse HTML parsers. Unfortunately, you can't just reject all badly-formed HTML because so many mail clients and other HTML tools do such a poor job of generation.

Jeff and I have split the project along fairly logical lines. I'm writing the communications infrastructure, and he's working on the filtering and database design. I got the easy part. Assuming that the Internet Direct (Indy) POP3 components work (a fair assumption, given my previous success with the Indy components), putting together the proxy won't be terribly difficult. Testing it with the major mail clients may prove a little more interesting, and there's always the question of user interface. It should be an interesting project, and a welcome change from my day-to-day work writing .NET training presentations.

Tuesday, 29 April, 2003

About four years ago I gave a presentation on Online Help for Mobile Devices at a Windows Help conference in Dallas. During that presentation I pointed out that mobile computing lacked only a new type of human interface in order to become mainstream. I also predicted that this new interface would be invented and become popular in the next three to five years. With only one year to go, I'm losing hope. The only significant change in human interface over the past four years has been handwriting recognition software, most recently in the Tablet PC. Voice recognition isn't appreciably better than it was then, and alternate input devices are frowned upon because they require user retraining. There has been even less change in output devices, although that's understandable given that humans have only two ways to gather large amounts of information: sight and sound. And we are much less able to understand and retain spoken information than textual and graphic information. Whether the inability to learn well through hearing (as opposed to reading) is genetic or just a lack of training is still unclear, although it's quite clear that seeing a diagram is much more effective than reading or hearing a description of the diagram.

At the time I gave the talk, I was betting that some kind of hand-motion input device would replace the cumbersome keyboard and the ineffective stylus. For output, I was sure that affordable and comfortable ear buds and monocular display devices (that fit like a pair of glasses) would be developed and become popular. The ear bud is a no-brainer, but the display devices just aren't there.

What's it all mean? Two things. First, it's dangerous to make predictions in this business. Second, that mobile computing will continue to be a niche market. The rapid development of WiFi technology has made mobile devices (laptops, notebooks, and Tablets more so than Palm-like devices) more useful to those who already possess such devices, but it's not enough. Mobile computing requires a mobile method of I/O—something that we can access without having to sit down and spread out. I think it's going to be a while yet before we see that.

Monday, 28 April, 2003

RSS, or Really Simple Syndication, is a format for syndicating news and news-like sites like Slashdot and personal web logs. By using an RSS reader and subscribing to different RSS feeds, you can have the contents of your favorite web logs or news sites presented to you whenever new content is added. It's like a clipping service for web logs. Except it's more. Much more. And perhaps the nicest thing about it is there's an open standard (7 of them, actually—things are still quite fluid in this space), and anybody can write a program to subscribe to whatever feeds they like. I really need to look into this more closely, and perhaps set up an RSS feed for my Random Notes.

Sunday, 27 April, 2003

Home at last! We left Baton Rouge at 6:30 this morning and headed west. We stopped once for food, another time for gas, and made it home before 2:00. We picked up Charlie at the kennel and had the whole family home, unpacked, and relaxing before 4:00. The trip was exhausting. I'll be happy to get back to work tomorrow so I can relax.

Saturday, 26 April, 2003

I took more than 300 pictures of African Violets and similar plants this morning. I'm reasonably certain that I got at least one picture of each of the 800+ plants that were entered in the show. I'm flowered out.

Friday, 25 April, 2003

Debra and I both have been very disappointed by the level of service we've received in most places here in Baton Rouge. Neither one of us is especially demanding, but we do like to be acknowledged and treated courteously. Throughout our trip, though, service at restaurants has been markedly indifferent and sometimes downright rude. And the hotel staff—with the interesting exception of the housekeeping staff—have done nothing to make me recommend the place to anybody else, or even consider ever visiting again. If you're going to Baton Rouge, find someplace other than the Radisson to stay.

One happy exception to all this horrible service was last night's visit to Ruth's Chris Steakhouse. The service there was impeccable and the food was perfectly prepared. I've been hearing about Ruth's Chris for years, but never had visited. After last night's experience, you can bet I'll be visiting the Ruth's Chris in Austin. The staff was friendly, courteous, attentive, and in good humor. If all of their stores are this well staffed, I can understand why the chain has such a good reputation.

Thursday, 24 April, 2003

Debra entered her show plants this morning, and then we had the day to ourselves. Since I didn't make it to the USS Kidd exhibit yesterday, Debra and I went this morning.

The USS Kidd is a WWII destroyer that is now tied up alongside the bank of the Mississippi river in downtown Baton Rouge. It's a floating museum, and part of the Historic Warship and Nautical Center. The Center has displays honoring Louisiana war veterans, models and descriptions of many ships that are part of Louisiana history, and a large display about the USS Baton Rouge—a nuclear attack submarine. There's even a replica of the USS Constitution's gun deck although I'm quite sure that the USS Constitution didn't look quite that good even when it was originally constructed. Outside the center there are two static aircraft displays: a P-40 painted with the Flying Tigers scheme, and an A-4 painted in the standard U.S. Navy gray.

The USS Kidd is tied up in the river just outside the building. Reading how they manage to keep the ship in the same place throughout the river's annual 22-foot change in level is quite interesting. Walking onto the ship, an employee gives you a map and you take a self-guided tour of most of the spaces. I've always understood that space is at a premium on a warship, but seeing it is something else entirely. Spaces are tight, and there are bunks in some quite unlikely places. Walking the ship and reading how the crew lived, and the exploits of the many men who served on the ship was quite enlightening and gave me a better appreciation of the people who serve and have served in our military. It's well worth the $6.00 entry fee—a pleasant morning's outing.

Wednesday, 23 April, 2003

In Throw Away the Internet; Start All Over, Larry Selzer recommends scrapping SMTP (the current mail protocol) and replacing it with something that is designed to be more secure. As he points out, "the Internet was designed to be secure from nuclear attack, not its own users." The title of the article is somewhat misleading, as Seltzer talks about nothing but mail throughout.

I agree with him 100%. SMTP is built on trust. The protocol has very few provisions for authenticating senders, and the few that do exist place a terrible burden on systems that are receiving mail. Nobody uses the few security features that SMTP provides because those features were designed to handle hundreds or thousands rather than millions of email messages per day.

Replacing SMTP is no small job. The technology is no problem, but convincing large ISPs and individual users to go with the new system would be very difficult. Some people resist change on general principles, and others will resist using any system that requires some sort of certification or positive identification. Why people insist that they need anonymous email communication is beyond me. In any case, if such a new system were implemented, I'm sure that more than one anonymous remailer would appear, and those who insist on anonymity could relay their communications through that service. Placing the remailer outside the country would neatly sidestep any stupid legislation which insists that servers keep track of all senders.

The article was not well received on the Slashdot thread, which tells me more about the Slashdot crowd than the validity of the article. As I've said here many times before, something in the email protocol has to change, and soon, before email becomes as useless as Usenet.

Tuesday, 22 April, 2003

The LSU Rural Life Museum in Baton Rouge sits on the 450-acre Burden Research Plantation. It provides insight into the largely forgotten lifestyles and cultures of pre-industrial Louisiana. The museum consists of a barn filled with displays of 19th century tools and other artifacts, and about two dozen buildings from all over the state: a pioneer's cabin, a church, assorted barns and houses, a family cemetery (licensed and still in use), and about a dozen buildings arranged in a "working plantation" configuration with slave's quarters, overseer's house, sugar house, etc. Plaques on the buildings explain some of the different ways that the buildings were constructed, and how some of them were used.

Adjacent to the Rural Life Museum are the Windrush Gardens and Burden Home—a 25-acre expanse of semiformal gardens designed and planted by Steele Burden, a renowned landscape architect. The Gardens has winding paths and many different examples of plants representative of the 19th century plantation gardens. However, it appears that the gardens haven't been well maintained. Some of the more formal areas are quite nice if a bit overgrown, but much of the 25 acres has obviously been neglected for quite some time. Even so, there were some beautiful southern magnolia trees, crepe myrtles, and numerous other plants that Debra could identify. Walking around the Gardens was a pleasant way to spend the morning.

On the way out, we stopped by the Burden Rose Garden, which has an impressive collection of different rose varieties—hundreds of plants—all of which were in bloom. Unfortunately, none of the pictures that I got do the garden justice. It was quite beautiful.

Monday, 21 April, 2003

We drove to New Orleans this morning to spend the day in the French Quarter. I don't really know what I was expecting (the only other time I'd been there was during Mardi Gras back in 1992), but I was faintly disappointed. I had hoped to see the cathedral, but it apparently isn't open except for services and scheduled tours. Jackson Square was pretty enough, and wandering around the French market was amusing for a while. We took a horse-drawn carriage ride tour of the Quarter and then had a late lunch on the patio while listening to some live music. It was a relaxing day except for all the walking. I parked almost a mile away because I didn't think I'd get a spot closer. The French Quarter is a pretty dull place during the day when no major festival is happening.

Misuse of the language has been bugging me recently, mostly because the people here in Louisiana seem to quite adept at it. For example, I lost count of the number of misplaced apostrophes in "its" and in plurals on permanent signs or advertisements. But the thing that really puzzled me was a sign in the Crescent City Brewery (a restaurant that brews its own beer) that read "Beer only at bar." That could be interpreted to mean "The only place you can get beer is at the bar," or "The only thing you can get at the bar is beer." My understanding of the rules of usage would favor the latter meaning. I chewed on that one for a bit before I asked the hostess what it meant. Sure enough, they meant the former. That was disappointing because I had hoped to sit in the restaurant and sample their beers along with lunch.

We enjoyed ourselves, though, walking around hand-in-hand like a couple of newlyweds, fussing over Tasha the poodle and laughing at the trinkets and baubles that people buy in the market. Do people actually buy those tacky souvenirs for themselves?

Sunday, 20 April, 2003

Debra registered for the convention today, but nothing really happens until Wednesday when she attends an all-day judging school. Thursday starts the conference sessions and plant entry for the show. Today we visited some of Debra's family—an uncle that she hasn't seen since she was 4 or 5 years old.

Visiting with family can be exhausting, especially when it's your spouse's family and you have absolutely no knowledge of the people they're talking about. Fortunately, I got along well with her cousin and we sat around drinking beer and talking. A couple of Debra's nephews were there, too, and I took the opportunity to introduce them to juggling—a skill I picked up 20 years ago when I was working the night computer operator shift at a bank. Too many people walk away from juggling after only five minutes of attempting it. That's unfortunate, because most people can pick up the basics after just an hour or two of concerted effort. It's a great way to spend idle time, and it's a good conversation starter as well. I hope the kids will continue practicing.

Saturday, 19 April, 2003

MapQuest says it's 548 miles from Austin to Baton Rouge. Why does MapQuest always insist on routing you along Interstate highways? Had I followed their directions, I would have spent an extra 90 minutes in the car between here and Houston. I can understand avoiding minor roads, but good state highways ought to be considered. Funny thing, I seem to remember MapQuest doing a better job a few years back. Maybe they just hid the "give me the shortest route" option.

I-10 in Louisiana, from the border to Baton Rouge is terrible. There are potholes, uneven areas where the potholes have been filled in, and rough pavement along the entire 150 mile stretch. There is also a lot of construction equipment in areas where they're working on the roads. Signs along the route advertise the amount of state and Federal funding that's going into road improvements. They're spending $50 million on repairs over that stretch of road. I realize that roads are expensive, but over $300,000 per mile for repairs seems excessive.

Friday, 18 April, 2003

Debra and I leave tomorrow for Baton Rouge, LA, where we (she, mostly) will be attending the annual convention of the African Violet Society of America. Debra is the president of the local chapter (First Austin African Violet Society). Although African Violets aren't on my top list of interesting things, I figure it's only fair for me to come along. I've dragged her to enough computer-related functions over the past 12 years. Truthfully, it'll be good to get away together. We're going a few days early so that we can visit some of her family and also take a day trip to New Orleans. I'm sure I can find something interesting to see in Baton Rouge while she's doing convention stuff. If nothing else, I'll take the opportunity to relax with a book or three.

I'm taking along a laptop that I borrowed from the office, and the hotel reportedly has high speed Internet access. But don't be terribly surprised if I disappear for the next 10 days.

Thursday, 17 April, 2003

Although I still haven't figured out how to use some of the .NET PerformanceCounter types, I've made some progress. I finally broke out the SDK documentation, examples, and C header files in an attempt to decipher the .NET documentation. The header file that I located (winperf.h) dates back to 1995. Comments in that file describe the performance counter registry interface in some detail, and I was able to glean some very interesting, although not terribly useful, information from that. It turns out, though, that the registry interface is only one of four (that I know of) Windows performance monitoring interfaces.

The Performance Data Helper library is a Windows DLL that wraps the registry interface to make things a bit easier for programmers who want to monitor performance data. If you're building your own performance counters you still have to write to the registry interface. I think. The PDH library documentation is voluminous and predictably confusing. In reading through it, I found some interesting mistranslations of information from the winperf.h header file. Where the header file comments say, for example, "this counter could be used to...", the PDH documentation says "this counter is used for..." The PDH documentation implies that the counter has built-in functionality that does not in fact exist.

Windows Management and Instrumentation (WMI) includes a performance counter interface that appears to have been intended to replace PDH, although from my reading of the documentation, PDH can interface either with WMI or with the original registry interface. Things get kind of confusing there, and if you thought the PDH documentation was large, you do not want to look at the WMI documentation. Not surprisingly, much of the information in the WMI documentation is poorly adapted from the PDH documentation, which appears to have been written by somebody who didn't quite understand what the whole thing was about. The descriptions of using existing Windows performance counters are approachable, just barely, if you have some sample code to look at. But the descriptions of how to create your own performance counters—especially counter types that aren't used anywhere else in Windows—are confusing, contradictory, and just plain wrong in some places. It's a nightmare.

All of which brings us to the fourth and (for now) final version of Windows performance counters: the .NET PerformanceCounter and related classes. It's a much simplified interface than any of the others, and using it to monitor built-in counters and to create instances of simple counters is quite nice. But, again, stepping away from the handful of common performance counter types is very difficult. Even more difficult than with WMI or the registry interface, because there is even less information on the inner workings. From looking at it more closely, I'd say that the .NET implementation talks to WMI in the background, but I can't say for sure without a bit more research.

You know, I used to get paid for figuring stuff like this out and writing about it. I had thought, though, that things were better documented these days and the market for those skills had dried up. Perhaps it's time to rethink that.

Tuesday, 15 April, 2003

During the thankfully brief conflict in Iraq, the Iraqi Minister of Information (Muhammed Saeed al-Sahaf, or M.S.S.) provided a daily dose of much-needed comic relief. I couldn't help but laugh at the reports of his morning briefings. His insistence that, "There are no American infidels in Baghdad. Never!" while American M1 Abrams tanks and Bradley Fighting Vehicles are rolling through the streets in the background is one of the funniest things I've ever seen.

Monday, 14 April, 2003

Charlie, over-exuberant puppy that he is, surprised both of us this evening by passing the AKC Canine Good Citizen test. This was the final (optional) part of the PetsMart Advanced obedience class. The picture at the left is from his little graduation ceremony last week. Six months ago I would not have considered letting go of his leash while in public. Yet here he is sitting calmly, wearing an unfamiliar hat, with 5 other dogs and a dozen people in sight. He's far from perfect, but he's learning his manners. I continue to be surprised at how quickly he learns new things.

Sunday, 13 April, 2003

When most people think of wiretaps or other means of surveillance (what people in the business like to call signals intelligence), they think of intercepting encrypted messages and decoding them to figure out what people are saying to each other. Often, though, just learning who is talking to whom is sufficient to glean a lot of useful information. Many a police investigation has been helped along by examining telephone records.

Every electronic mail message contains header information that says who sent it and who the intended recipient is. It's easy enough to spoof the sender information and route the message through an anonymous relay, but the recipient has to be known. And if you want two-way communication, then the sender has to be known as well. With traditional email, it's child's play for somebody to figure out who you're talking to. Or at least who's talking to you, which is almost as good. How do you prevent that?

Imagine using spam as a method of passing short encoded messages while hiding the identity of both sender and receiver. The sender spoofs the headers and uses an anonymous relay. The message body is your typical spam and is sent to millions of people, most of whom utter a few choice words before consigning it to the bit bucket. But in reality, the message is an encoded communication. Perhaps those apparent garbage characters on the subject line are the message, or a one-time pad key. Maybe the message contains certain key words or phrases. The point is that it'd be very difficult to track the sender, and completely impossible to identify the intended recipient. I don't know that it'd be possible even to identify suspect messages.

Friday, 11 April, 2003

Am I the only one who finds Microsoft's documentation of .NET performance counters incomprehensible? I've been over and over this and related pages, searched for sample code, spent hours puzzling over my own programs, and have come to the conclusion that either the documentation is flat out wrong, or the performance counters themselves are terribly broken. Figuring that the .NET implementation is just a wrapper around the Win32 performance counters, I went to the Platform SDK documentation to see if I could glean some information. No such luck. The .NET documentation is an incoherent translation of the already incoherent Platform SDK documentation. Searching the MSDN site for code samples reveals plenty of stuff for the simple counters like Average Timer and Counts per Second, but nothing on most of the others. I found nothing of relevance on the Microsoft developer forums, and a Google search was equally fruitless. I keep poking at it, but if anybody out there can shed some light on this topic for me, I'd sure appreciate it.

Thursday, 10 April, 2003

It struck me today as I was listening reports of budget debates on the car radio, that government—at least our form of representative government—cannot be fiscally responsible in the long term. My reasoning is simple. The people in power want to stay in power, and others want to be elected in their place. Both groups attempt to win votes by making promises with other people's money (OPM). To be fair (or equally critical), it's not just elected officials that suffer from OPM disease. Career bureaucrats have a vested interest in growing their organizations, and use a variety of means to ensure that their budgets are increased every year. As the years go by and people get accustomed to more and more things, the only way to promise more is to raise taxes and spend more. At some point, the whole house of cards has to come crumbling down.

Not that I can think of any other workable form of government that is any more fiscally responsible. On a small scale, a loose organization similar to a homeowner's association would work, but such a thing doesn't scale well. Anarchy (or what the wacko Libertarians like to call "pure Capitalism") can't work because it makes the flawed assumption that all people share the same belief system and are equally capable of understanding the consequences of their actions. A benign dictatorship might work for a short period, although there are no examples of such a workable system ruling a large number of people.

What frightens me most about this is that government inefficiency (and thus the citizens' displeasure with increasing taxes) appears to increase with the square of the government's size. And the results of an unhappy populace are not pretty.

Tuesday, 08 April, 2003

A new study published in the Journal of the American Medical Association shows that obese children rate quality of life low. This from an AP article I found on Yahoo. I can imagine that those children (average age 12 years, height 5'1", weight 174 lbs) would find life a bit difficult.

Something like 15 percent of children in this country are severely overweight or obese. They suffer from numerous health conditions such as fatty liver disease, obstructive sleep apnea, diabetes, and orthopedic problems. That's in addition to their inability to walk more than one city block or participate in physical activities.

This is a tragedy, and the blame for it rests squarely on the shoulders of parents who are too self-involved to ensure that their children receive a balanced diet of nutritious food and get plenty of exercise. It's altogether too easy these days to buy the kids an XBox and leave them to eat twinkies and swill Coca-Cola while killing bad guys. It doesn't help, of course, that Mom and Dad are swilling beer and eating peanuts while watching Survivor. Ditch the damned TVs, folks, and go take a walk. Take your kids with you.

Sunday, 06 April, 2003

What the heck is this "purple pill" I keep hearing about on the radio? For months now I've been hearing these stupid radio advertisements:

Announcer:

Do you know about Nexium, "the purple pill?"

Voice 1:

I know!

Voice 2:

I know!

Voice 3:

I'm sure glad I know!

Announcer:

meaningless dialog

Announcer:

Ask your doctor if Nexium is right for you, or call 1-800-PurplePill for more information.

Total time 30 seconds. Information gleaned: there's a purple pill called Nexium and some people are happy that they know about it. Maybe it's a happy pill?

What kind of idiotic advertising is this? Are there really people out there listening to the radio in the hope that they'll discover another drug? It sounds like the announcer is advertising to an audience of junkies who are looking for the next new experience. I don't know about most people, but I'm certainly not going to walk into my doctor's office and say, "Hey, doc. I heard about this Purple Pill on the radio and was wondering if you could prescribe it for me. What's it do, anyway?" Purple Pill my ear. It sounds like some new type of hallucinogen.

This and similar advertisements play to our society's "I have a problem, fix me now" mentality. There's a pill for everything. A little downer to help you sleep, a little upper to get you going in the morning. Antacids to settle your stomach after eating something you knew better than to eat, and preventative antacids that you take before you eat foul garbage so that you won't get heartburn. Stimulants and anti-depressants to zombify children so parents don't have to do any real parenting. Magical weight loss aids that melt away pounds while you sleep. Miracle creams that grow things that don't need to grow and shrink things that don't need to shrink. And "natural" supplements that cure all manner of ills, make you smarter, cure toenail fungus, regrow hair, cure bad breath, and help you live to be 120 years old with perfect health and all your marbles.

I really need to get into this racket. People are willing to throw hundreds of billions of dollars a year away on products that have absolutely no basis in scientific fact. If they're so willing to part with their money, maybe I can give them some false hope, too.

Saturday, 05 April, 2003

One of the highlights of our annual trip to Harlingen is the Saturday trip across the border to Mexico. This used to be something the alumni did as a group, but in the past few years the "official" activities have taken place at the school. Some of us—especially those of us who bring our wives—like to hop across the border for the day. A few years ago one of the alumni introduced Debra and me to a little place in Matamoros called Tacos El Kampeón that serves the best tacos I've ever had. Anywhere. The place isn't much to look at--it's a shack on the edge of a parking lot--and I probably wouldn't have visited it myself without a recommendation. But, dang! Those tacos are good! It's a block off the old market. Stop in if you're in the area. Be careful of the green sauce. It's tasty, but hot.

Friday, 04 April, 2003

What you're looking at here is not a replica of the Iwo Jima Memorial that's in Washington D.C., but rather the mold that was used to make the original. The artist donated this to the Marine Military Academy back in 1981 or 1982. The school maintains it through donations. The Monument sits at the south edge of the MMA parade ground, with a memorial oak tree grove behind it. If you ever find yourself in the lower Rio Grande Valley, you should take a few hours and go visit the Memorial and the adjacent museum and gift shop. And if you have time, visit the school as well.

Thursday, 03 April, 2003

Time again for my annual trip to visit the Marine Military Academy in Harlingen, Texas, where I attended school for five years. They have an alumni reunion every spring about this time, and I've been fortunate enough to visit each of the past eight years. Whereas some schools have reunions for particular classes (10 years, 20 years, etc.), MMA hosts an annual reunion for all former Cadets, regardless of when they graduated. That's probably a good thing, considering that our graduating classes are pretty small (60 to 80 people), and Harlingen, Texas is pretty much the definition of "off the beaten path," something that becomes quite apparent as you head south from Corpus Christi.

I visit every year not only to see old friends and meet new ones, but also because I believe in the values that the school teaches and the way that they instill those values. In a world gone mostly mad, with children running roughshod over their parents, it's nice to visit a place where young men are taught simple but important values like respect for themselves and others, responsibility, and integrity. The school has an enviable record of sending graduates to good colleges, including the service academies. It's the finest military school in the country and, in my mind, among the best college preparatory schools as well.

Tuesday, 01 April, 2003

Last week, Microsoft announced that they would begin capping the number of email messages that Hotmail users were allowed to send each day. The limit? A more-than-reasonable 100. You can read more about the announcement here. My response? It's about @#$ time! Limiting outgoing emails is probably the easiest and most effective way to prevent spam from casual spammers, and it'll make the chickenboners' job much more difficult. Why Hotmail, Yahoo, and the countless other free email services didn't do this two years ago is a source of some puzzlement. I can think of very few legitimate personal users of these services who would need to send anywhere even close to 100 emails a day. I know that I wouldn't mind at all if my ISP were to limit my outgoing emails to 100 per day. Let's hope that the other email services and other ISPs follow Microsoft's lead here.