February site traffic

I am astonished at the increase in traffic on this site over the last month. The only thing I can attribute it to is submitting the site to the search engines as I described on January 25. I had 60% more visits in February than in January. With three fewer days in the month. Had the trend continued I would have had almost 80% more traffic.

The hits from referral log spammers dwindled toward the middle of the month, but they still made up six out of the top ten referrers to my site. It’s looking more and more like somebody’s figured out how to compromise a browser and people don’t even know they’re spamming referral logs. Yet another potentially useful piece of information rendered worthless by spammers.

I was surprised to see Internet Explorer with 72.1% of the hits to my site this month. That’s about 6.5% higher than last month. Firefox is at 12.9%, or down 1.6% for the month. “Unknown” is at 6.1%, Mozilla at 2.8%, and the rest are down in the noise. I think the site has reached a wider audience and that these numbers are more representative of the global browser population. It’s no doubt that my site is read by a higher percentage of more experienced computer users, so I would expect a larger percentage of Firefox users.

This month’s search terms weren’t nearly as entertaining as in previous months. Perhaps I’m just not as easily amused anymore.

State of Fear

I read Michael Crichton’s new novel State of Fear over the weekend.  Boy, does that give you a bit to think about.  In some ways it’s a pretty typical techno-thriller, with car chases, gun fights, intrigue, murder, and the requisite technobabble thrown in.  The short version:  eco terrorists are planning a series of catastrophic events that will demonstrate the dangers of global warming.  The events are scheduled to coincide with a conference on abrupt climate change.  The Good Guys trip to the plan and race around the globe trying to avert disaster.  It’s fun ride.

Crichton always gives a little more than a thrill ride, though.  In this case he weaves in a whole bunch of stuff about the theory of global warming, and the footnotes he provides are real.  At the end of the book he gives us a short piece on his beliefs and also a good essay on why politicized science is a bad thing.  He finishes with a detailed and annotated bibliography so you can go check out the material for yourself.

I find it somewhat funny that the best treatment I’ve seen anywhere on the subject of global warming is to be found in a popular novel.  Everything else seems to be partisan cries of “yes it is” and “no it’s not.”  State of Fear presents a more rational and probably more realistic view, although I’m sure that the global warming fundamentalists have already decided that Crichton was paid off by big polluters or some such.

It really is a good techno-thriller, up to the standards you’ve come to expect from Crichton.  I recommend it both as a novel and as food for thought.

Final fat rant (maybe)

It’s good to question one’s beliefs from time to time.  That was one of the primary motivators for me to start this series on why we’re (as a nation) getting fatter.  Sometimes questioning your beliefs leads you to new knowledge.  Other times you just confirm what you already knew.

In my last post on this topic, I identified the factors that I think contribute to what some people are calling an obesity epidemic. I was going to discuss each of those factors in detail, but then I came to realize (with a little helpful prodding) that there’s not much to discuss. I could talk about why those factors exist, but that’s not the issue. The question is how those factors contribute to making people fat. The answer is simple: those factors combine to require that people actively think about what and how much they’re eating and to exercise restraint in food choice. Yes, folks, the spectre of personal responsibility raises its ugly head once again.

I tried. I really did. I looked long and hard for any evidence that some outside force was making people eat too much or exercise too little. There are those who say that food companies are to blame because their advertising is so effective or because they purposely sell “addictive” foods. To hear these people talk, you’d think that Big Food is little more than a drug cartel. Sorry, but I don’t buy it. Every bit of research I did pointed right back at the individual who didn’t have the discipline to control his consumption and do a small amount of exercise.

Many people say that they can’t afford the time or money to exercise. This one really blows my mind, because most of the people who use this excuse spend more than $100 every month on digital cable and TiVo, visit restaurants more often than they eat at home, drive status symbol cars that cost well over $500 per month, and can tell you everything that happened on the latest episode of American Idol, The Sopranos, and Desperate Housewives.

A recent survey showed that in American households the television is on for an average of eight hours every day. Eight hours? Granted, they’re not talking about a single person watching TV for an average of eight hours per day (although I’ve met a few who probably come close), but eight hours per day? Most people don’t spend that much time at work when you factor in weekends. Do you think they could give up an hour or so per day to go for a brisk walk?

Unless you’ve given up your absurdly expensive cable TV and started eating more reasonably priced and healthier home cooked food, don’t even bother me with any crap about exercise being too expensive. Walking costs you a few pairs of shoes every year. Push ups and sit ups are free. Debra and I are looking at joining a new gym near the house. A $150 signup fee and $28 per month (paid month to month, not all in one lump sum) gets both of us a membership. If you can’t leave the house for some reason (have to watch the kids, for example), you can get a good used treadmill or other exercise equipment pretty inexpensively. Absent real physical injury, there’s just no excuse other than laziness for being sedentary.

I know that there are some whiners out there thinking “That’s easy for you to say. You’ve never been fat or had to watch your diet.” That’s not true at all. I weighed 140 pounds in 1982. At the time I kept very active with martial arts and running marathons. Three years later I had a job, a wife, and “no time” to eat healthy or exercise, and I spent most of the next 15 years doing mostly nothing. When I crossed 160 back in 1987, I thought to myself, “Jim, you’re getting fat.” When I crossed 170 a year later I had to buy new clothes again. I still did nothing about it. I topped out at 200 pounds a couple of years ago and finally said “That’s enough!” The only difference between me and the whiners is that one of us knows who’s responsible for the problem. And it sure as hell ain’t McDonald’s, even though I have scarfed down more than my share of Big Macs.

Anybody who’s capable of picking out and paying for larger clothes to contain his bulging waistline has said to himself: “Maybe I should exercise a little bit and watch what I eat.” Anybody who’s had to loosen his belt a notch because his belly’s grown too big has also said to himself “I should do something about that.” The first time climbing a flight of stairs made you short of breath you said to yourself “I need more exercise.” Any self-aware individual knows who is responsible for his excess weight, knows that it’s unhealthy, and knows what is required to fix the problem. Complaining about it or trying to blame somebody else isn’t going to make the fat go away. Neither is money. Even if some brain damaged judge and jury award millions of Burger King’s dollars to fat people, those people will still be fat. They’ll just have more money to spend on getting fatter.

Being fat is a personal choice. People gain weight because they choose not to exercise the restraint necessary to remain thin. People remain fat because they choose not to put forth the effort required to get healthy. It’s as simple as that.

Second Annual Gunny Ski Memorial Bicycle Ride

I’ve mentioned before that I make an annual pilgrimage to the Marine Military Academy in Harlingen, Texas for the Alumni Reunion. This year’s event is April 14 through 17, and it will mark the tenth year in a row for me. It also marks 25 years since I graduated from high school and 40 years since MMA opened. We’re getting out the word in an attempt to have as many alumni as possible attend.

Two years ago I came up with the crazy idea of riding my bike from my home in Round Rock to the school for the reunion. I pondered it for a few months and then set up a training schedule. Last year my friend Craig and I left my house at 6:00 on Tuesday morning and arrived in Harlingen late on Thursday afternoon after 342 miles of pedaling. View my trip report for the details.

My original intent for the ride was simple: I just wanted to prove to myself that I had the discipline to create and execute the training schedule, and then complete the ride. Craig got the idea of making it a fundraiser, and with almost no marketing effort we were able to raise over $5,000 for an endowed scholarship. This year we want to do better.

On April 12 of this year, Craig, Debra, I, and possibly one or two others will leave Round Rock early in the morning on bicycles, headed for Harlingen. The first day’s ride to Kenedy is 130 miles. Ben Trimmer, who graduated from MMA in 1990, will join us in Kenedy for the final two days of the ride. The second day is approximately 105 miles from Kenedy to Kingsville, where we will probably pick up a few other participants–including a few cadets from the school–for the final 100 miles to Harlingen on Thursday.

We are soliciting donations–sponsorships–for the ride in any amount.  We are paying all costs of the ride (lodging, meals, return transportation, etc.) out of our own pockets.  100% of all donations received will go to the Gunnery Sergeant Larry Wisnoski Memorial Scholarship Fund to endow a permanent scholarship fund that will pay the tuition for a young man whose parents are unable to afford the cost of the school.

Ben Trimmer has set up an eBay sale item where you can “purchase” a donation in any dollar amount. If you would like to purchase more than what is available there, please contact Ben via his eBay link, or drop me an email and I’ll point you in the right place. You can also go to the MMA Web site to learn more about the school or to make a donation directly.  If you do choose to donate directly to the school, please remember to write “Gunny Ski Memorial Scholarship Fund” on the check so that the money will be used for that purpose.

As was the case last year, I will post an update here after we complete the ride.

Attitude matters!

The following is the final paragraph of an email that I received from the lead developer on a large enterprise software system.  He was debugging a performance monitoring application and that lead him to problems in all parts of the system.

I’ve uncovered many more problems in the last 80 or 90 hours of debugging, too many to list or bother to discuss at length.  Error handlers were completely missing or completely wrong, logging was incomplete or missing, copy and paste errors were propagated over and over again instead of using proper sub-classing.  Some of these problems were simple defects, and others were the side effects of code entropy and general complexity weighing in our team.  To be fair, many of the bugs had my own handwriting on them.  But many of them were the product of laziness and general indifference on the part of the developers.  Every time I embark on one of these marathon debugging efforts, I’m always surprised at how much we have, and how much of the code is poorly written or never traced.  But it’s the indifference to the problem that’s really troubling.  Please be sensitive to the fact that the code you write impacts the other people on your team, and if you fail to take ownership of it and do a good job, somebody else might be forced to do so, at tremendous personal expense.  Your work impacts the product, the people, our productivity and more generally our revenue, directly.  That being said, I’m tired and frustrated, but not discouraged.  I’m hopeful that our recently expanded team will lead us to improved productivity and allow us to focus more on quality than we have been able to in the past.

The the product in question will remain anonymous, although I will say that it is not a project that I am personally involved with.  The particular product isn’t relevant anyway as this kind of thing is common, especially in mature software systems that have undergone several generations of enhancements.  Developers who have been on the project for a long time get bored and lazy, and younger developers often don’t understand the finer details of the coding standards (error checking and usage patterns, especially) that have become almost automatic for those who have been with the product since its inception.  The result is inconsistent and often buggy code that is difficult to debug and maintain.

There’s not much else I can add beyond what my friend wrote.  Attitude matters in programming, perhaps more even than aptitude.

Do flu shots work?

A study published yesterday in the Archives of Internal Medicine indicates that flu shots might not save the lives of the elderly. According to the study:”We could not correlate increasing vaccination coverage after 1980 with declining mortality rates in any age group.” Media coverage has reduced the findings to a quite spectacular headline: “Flu shots don’t work for old people,” which is a pretty narrow reading of the findings. First, the study itself says “we could not rule out some benefit from the vaccine, but it is less efficacious than we thought,” meaning that there might very well be some benefit. Secondly, the article states “And we only looked at deaths, not other complications.” So although there’s no evidence that flu shots save lives, it’s quite possible that the flu shots prevent people from getting sick.  Read more about the study in this Yahoo article.

The article goes on to state that doctors have known for years that vaccines in general are less effective in older people because their immune systems are not as efficient at creating antibodies. This research finding is news not because it discovered anything new (doctors have known this for some time), but rather because it debunks the popular theory among laypeople that flu shots are some kind of magic elixer for the elderly.

Most importantly, the findings only apply to elderly people. The jury is still out on the effectiveness of flu shots on other segments of the population. Some studies show that vaccinations are effective in younger people. Conversely, vaccination rates have increased tremendously since 1980 and flu deaths have remained essentially flat. Does that mean that influenza vaccinations are ineffective? That’s a hard question.

As we all know, the flu vaccination works by introducing a flu virus into the body in a measured dose so that the immune system can recognize it and create antibodies. When the real virus comes along, the body can make quick work of defeating it before the virus takes hold and creates major complications. The complicated nature of the immune system results in this being less than an exact science, but in general it works. The primary benefit, as far as the person being vaccinated is concerned, is that he doesn’t get sick, or he doesn’t get as sick as he would have without the vaccination. But society gains an even bigger benefit: that vaccinated person can’t spread the disease to anybody else. That’s a huge benefit when you consider that a person with the flu can potentially infect everybody with whom he comes into contact.  That’s more important than it sounds.

What many people don’t realize is that the influenza virus mutates, as does HIV. It adapts to its human host and sometimes (as happened in 1918), those mutations are incredibly virulent and can sweep through a population like wildfire. But it takes time for the virus to develop that virulence. In 1918, the virus presented itself as “just the flu” in a large part of the population over a short period of time. Then there was a lull–a plateau–during which the virus mutated inside those who were infected. Just when public health officials thought the wave of illness was over, the mutated virus flew through the population, killing over 100,000,000 people worldwide in a single year.  In the United States it accounted for about 675,000 excess deaths (0.6% of the population), comparable to about 1,750,000 today.  And it’s quite likely that the number would be even higher than that today because a larger percentage of the population lives in crowded cities.

What we don’t know, and can’t really determine, is whether the increased influenza vaccination rate has prevented such a mutation from forming. Considering the potential consequences of another 1918-type mutation, I’d say we’re better off continuing the vaccinations if there’s any credible evidence that they’re effective.

Read John Barry’s The Great Influenza about the 1918 influenza epidemic before you make up your mind on this one.

Nonsense

I love a laugh, especially when somebody with too much time on his hands provides it. Today’s entry, again from the Web of Infinite Amusement, is Nonsense, an open source program that “generates random (and sometimes humorous) text from datafiles and templates. I haven’t created my own nonsense yet, but I’ve sure enjoyed the examples provided on the Web site. I especially liked College Course Titles and Stupid Laws.

The next time your PHB (Pointy Hair Boss) asks you for a Mission Statement, you’ll know just where to go.

The Aggravation Factor

One of the things that software developers seem to forget is what I call the aggravation factor.  Basically, everybody has a threshold for futzing with something.  That threshold differs from person to person, of course, but in most cases people want stuff that just works, or they want complete documentation available in a single place.  Most computer users are stretching beyond the limits of their comfort zones just to download and install a new program.  Once installed, they want it to work.  No fuss, no muss.  The more users have to configure, the more likely they are to throw up their hands, delete the thing, and tell all their friends that the program doesn’t work.

To most users, polish is more important than technical features.  Users are more inclined to put up with slightly buggy features and technology that’s a step or two behind if the user interface is well done, the documentation is good, and the program doesn’t astonish them too often or lose their data.  Users for the most part don’t understand fine technical distinctions.  Give them the choice between a clunky interface to bleeding edge technology, or a smooth interface to older technology, and they’ll almost always choose the better interface.  That’s just the way it is, and complaining about or calling the users stupid isn’t going to change anything.

This little rant brought to you by WordPress, an open source personal publishing platform.  I downloaded and installed it on my test server last night.  The installation instructions are good, and everything went smoothly.  The program works great.  Except now I have to dig through dozens of menus, and search through documentation scattered over several sites just to configure the thing the way I want it.  The WordPress-driven sites I’ve seen sure look nice, but I don’t yet know how much work it is to create and maintain such a thing.  I think I’m going to give MovableType a look before I continue fighting WordPress.

Weekend movies

Slim pickings at the video store never prevented me from taking home a movie or two. Last night Debra and I watched Alien versus Predator, the science fiction/action movie inspired by the popular video game. Verdict: not as bad as the reviews would indicate. Lots of cool action and neat alien special effects. Most interesting to me was the way they tied it in with the Alien movies, especially the final scene.

Catwoman also wasn’t nearly as bad as the reviewers said. Sure, it wasn’t high cinematic art, but it had its moments. Catwoman’s bouncing off the walls was obvious CGI gimickry, and not especially well done. But that’s okay, as it got the point across. Besides, any movie that has Halle Barry parading around in tight leather is definitely worth the rental fee.

The movies weren’t great, but they weren’t horrible either. I needed some mindless entertainment after a couple of odd weeks, and these two movies fit the bill nicely. I wouldn’t exactly recommend either one, but they’re not on my “gag me with a fork” list like some movies the reviewers have praised.

Enabling Windows 2000 compatibility mode

Windows 2000 Service Pack 2 introduced “compatibility mode,” wherein you can make the operating system act like a previous version for a particular program. For example, my game TriTryst was designed for Windows 95, and has trouble running under Windows 2000 because of a change to the Registry API. But if I create a shortcut and set the compatibility mode to Windows 95, the program works.

That’s all great, except that for some reason the user interface to access compatibility mode doesn’t get enabled by default when you install Windows 2000 Service Pack 2. I kept getting messages from people who read my TriTryst installation instructions and said that they had no compatibility mode. I’d reply with a message telling them to install SP2, and since I never heard back I figured that they’d solved the problem. Perhaps not, as my friend Steve sent me such a message yesterday and when I told him to install SP2 he informed me that even with SP4 he didn’t have have compatibility mode.  Huh?

It’s been so long since I installed Service Pack 2 that I forgot about having to enable compatibility mode in a separate step. The instructions for enabling and using the compatibility mode user interface are published in this Microsoft Knowledge Base article.

Another thing to add to my TriTryst installation page, which is one of the most popular pages on the site. I often wonder if the people visiting the site actually have the game, or if they got there while looking for something else.