Monday, 31 December, 2001
I've spent a lot of time this weekend on my rewrite of TriTryst. The game's functionality is complete now, at least the first version. I have to write the online help, create some levels, and do something about the art. Something that I didn't realize before this weekend is just how hard it is to create a playable level. I'm sure this problem isn't limited to this particular game. There's a very fine balance between too hard and too easy, and you have to take into account your experience level as you're working. What I may find easy after years of playing the game, a novice may find very difficult. This is one reason I've added the ability in the game for users to create their own levels. It takes time to design and test a level, and a feel for what's fun, too hard, or too easy. Perhaps somebody who's better at it than I am will create some levels and send them to me.
So how close is the game to done? Barring anything unforeseen, I will have the first version of the game (with a new nameany suggestions?) completed and uploaded to my web site by the end of January.
Sunday, 30 December, 2001
Fire ants like compost. There's nothing quite like turning a 4' x 4' x 4' pile of compost that is completely infested with fire ants. I added a bunch of leaves and grass, some sulfur, and lots of water. Between the heat of composting and the ill effects of the sulfur, those ants probably won't outlive the bites they inflicted.
Saturday, 29 December, 2001
We had to get new tires for the car today. Not that I'm complaining--we got 60,000 miles out of the original set. My truck has 72,000 miles on the original tires. It's about time to replace those, too. People often don't realize that technology is more than just computers and cell phones. It wasn't so long ago that you couldn't even get 30,000 miles on a set of tires. Today, for about $500 (includes mount, balance, road hazard, etc.), I bought four tires that have a 45,000 mile manufacturer's warranty. That wasn't available at any price 10 years ago.
Part of the price was a $2.00-per-tire disposal fee. I forgot to ask who gets the 2 bucks, and how exactly the tires are disposed. I certainly hope they're recycling the tires, rather than sending them off to be incinerated or dropped in a landfill.
Thursday, 27 December, 2001
I learned today that RoadRunner (my broadband provider) is now blocking port 80 on the network. They've been doing it for quite a while, but I didn't notice because I haven't had my server running. I of course couldn't call and ask them why, 'cause my contract says I won't run a server on their network. And typically I don't, but I need to test something.
They started blocking port 80 because so many people who did have servers got infected with the Code Red virus, and all those infected servers started searching for other servers to infect. From the continuous flashing of my cable modem's activity light, I'd say that network utilization was maxed. That's stopped since they started blocking. That won't prevent people from running servers, as it's easy enough to put an HTTP server on port 81 or 2563 or whatever, but it'll limit the vulnerability to things like Code Red.
Wednesday, 26 December, 2001
CNN is running an article about 20 trends and technologies that will affect personal computing over the next few years. Lots of cool stuff there: 400 GB hard drives for the price of today's 80 GB units, 1 GHz palmtop computers, organic LEDs, and other stuff just sound neat. At the end of the article they have a section that lists expected desktop computer specifications in 2004 (2 years from now). Those specs aren't terribly impressive:
4 or 5 GHz processor with 512 MB of RAM, 400 GB hard drive, rewritable DVD, 128 MB 3D video card, flat panel screen, and Windows. All for under $2,000. No huge leaps there, and most of the cool technologies they discuss in the first part of the article just don't affect the every day computer. Ho hum. Is there any excitement left in this business?
Tuesday, 25 December, 2001
I had Monday and Tuesday off, so Saturday night I turned off my brain and spent the rest of my time off playing computer games, finishing the second and third books in the Harry Potter series, and generally just relaxing. One of these days I might even be able to do that without feeling guilty about it or worrying about all the things I should or could be doing.
I'm wondering if these anxious feelings are the result of over commitment—having too many projects going on at once. We'll see. I'm making a concerted effort to cancel or complete all my current projects before starting anything new. Oddly enough, canceling a project (hint, it's not canceled unless you've deleted it from your hard drive) can be more liberating than finishing one.
Saturday, 22 December, 2001
Debra and I went to the theatre today to see the Harry Potter movie, but got there about 90 minutes before the movie was to start. Not wanting to wait around, we decided to take in The Fellowship of the Ring, which was to start in 20 minutes. When the movie was over three hours later, I looked over at Debra and said, "Damn. That was good!"
Understand, I'm not a huge Tolkien fan. Sure, I've read The Hobbit, and The Lord of the Rings trilogy a few times each, but I don't read or speak a word of Elvish nor do I dwell on the history of Middle Earth. I read the Trilogy over the summer in preparation for the movie and could hardly get through it. I don't recall being so bored by the books when I read them about 10 years ago, but this time The Two Towers put me to sleep. Anyway, back to the movie.
I'm not a movie critic. I don't study film. I don't know the first thing about directing, editing, lighting, or even acting for that matter. I do, however, know when a good story has been turned into a great movie. This is one, and it's done the old fashioned way with good acting and an attention to detail that is nothing short of astounding in this age of movies that are typically actor-centric rather than story-centric. (Come to think of it, that's one thing I liked so much about Monsters, Inc. [see my November 10 entry]: the story, not the actor, was the primary focus.) In The Fellowship of the Ring, every actor nails the performance. There's no need for stupid camera tricks or hokey computer animation because the actors actually act. Their characters were entirely believable.
With the exception of the cave troll, the entire Moria sequence was excellent. There was plenty of CGI in the movie, and none more than in Moria, but I hardly noticed it all except for that laughable cave troll. The creature outside the gates was just as I had envisioned it from the book, and the scenes inside the mines were masterfully done. The Balrog was perfect. Every bit as frightful as described in the book; perhaps more so.
The editor did an excellent job keeping the movie on track and not distracting us with scenes from the book that don't advance the main story. The movie's still three hours long. Not that I'm complaining. I think the last time I was so fully engrossed in a movie was the first time I saw Star Wars. This movie is much better now that Star Wars was then. Debra echoed my sentiments when she said "Maybe we should have seen Harry Potter first." After The Fellowship of the Ring, nothing will compare.
Go see the movie, even if (especially if) you've never read the books.
Friday, 21 December, 2001
In its simplest form, evolution theory states that environmental factors 'select' stronger organisms by killing off the weak before they can reproduce. The result is that the strong survive to procreate, and random beneficial mutations advance the species. There can be an end, though. Sharks, for example, are so perfectly adapted to their environment that they haven't changed in hundreds of millions of years. Some organisms adapt too well. The stromatolites of prehistory, for example, were by some accounts so successful that they poisoned themselves with their own waste (oxygen).
What happens, though, when a species gains control over its environment, or adapts to the point where environment exerts no selective evolutionary pressures? Sharks are perfectly adapted to the ocean, but environmental factors (predators, etc.) still play a part in killing off the weak before they can reproduce. The environment exerts no such pressures on humans--especially those living in industrialized countries. We have reduced infant mortality to less than 1 percent (down from over 10% 100 years ago). Childhood mortality, too, has been reduced. The chance for a US-born person to live long enough to reproduce is easily 90%. Environment just doesn't exert any selective pressures.
This is perhaps not a good thing. Evolution strengthens a species by removing undesirable traits from the gene pool. We've done just the opposite. By minimizing the effects of undesirable traits--making it possible for 'weaker' people to live and reproduce--we allow those traits to spread. We have adapted too well and are in essence poisoning ourselves with bad genes. Maybe. I'm certainly not suggesting that we prevent people with cystic fibrosis from reproducing.
I've been chewing on this one for a couple of days and don't quite know what to think. I just come up with more questions. For example, is is possible that industrial nations' mastery of environmental factors will result in an overall weaker people who can be conquered by less industrially advanced people from areas of the world where external evolutionary pressures still exist? Could the difference in living conditions and available medical care result in speciation (the formation of a new species)? It fairly boggles the mind, the possibilities.
Thursday, 20 December, 2001
Doing some research recently I ran across The World Factbook, published by the Central Intelligence Agency. This is an example of what the intelligence community calls Basic Intelligence--factual reference material on an issue. And, oh boy is it full of facts. Want to know the infant mortality rate in Angola? How about the percentage of arable land in Zimbabwe? A map of Central Africa? It's all there, for free. You can get a copy for yourself at http://www.cia.gov/cia/download.html. 68 megabytes is no big deal for a broadband connection, but you'll probably think twice if you're on a 56 KBPS modem. It'll unzip to about 100 megabytes, or about $1.00 worth of storage space at current prices. I'm going to make a point of downloading this every year and burning it to CD. It'll make for some interesting historical research years from now.
Wednesday, 19 December, 2001
Among his many recommendations was this one:
Ensure that more food options that are low in fat and calories, as well as fruits, vegetables, whole grains, and low-fat or non-fat dairy products, are available on school campuses and at school events. A modest step toward achieving this would be to enforce existing U.S. Department of Agriculture regulations that prohibit serving foods of minimal nutritional value during mealtimes in school food service areas, including in vending machines.
I'll leave it to the experts to dissect the food, but restricting students' access to junk is a no-brainer. Get rid of the vending machines! Or at least replace the sodas and candy bars with something healthy. Cripes. Are you telling me that kids can't get through a school day without a soda or candy bar between classes?
Tuesday, 18 December, 2001
I got tired of recompiling my game program (see December 16) to try out different foreground/background texture combinations, so I built a little test program onto which I can drop images for testing. I'm going to download a bunch of textures and put Debra to work picking out good combinations. She has a much better sense of esthetics than I do. I'll probably add the ability to select textures and tile sets to the game itself, but not for the first version.
When building the test program I ran into a problem with Delphi that I had forgotten about: there's no Borland-supplied support for GIF images. Not a problem--I searched for "delphi gif" on Google, and in less than five minutes had GIF support in my program. The solution I found is theTGIFImage component by Anders Melander. Not only does the component appear to work flawlessly, but it's very well documented. I download and examine a lot of code from the Web, and rarely do I run across anything so thoroughly documented. The Web site is chock-full of information about the component, LZW compression, other GIF components, and the JEDI initiative. The full download kit includes much of this information and a very instructive demonstration program. If you need GIF support for Delphi or C++Builder, definitely check this one out.
Monday, 17 December, 2001
I also removed the Fig page. The fig died last spring when I put it outside and the deer ate it. Or at least tried to eat it. Stupid deer pulled it out of the pot and then spit it out. You'd think they'd at least be smart enough to know that if they don't like the big fig tree out back, they won't like the little one up by the house. Big bony rats. I think I'll let a couple of bow hunters on the property next year...
Sunday, 16 December, 2001
One of my home projects is to complete a knock-off (in Delphi) of the game TriTryst that I originally wrote in C for Virgin Interactive back in 1995. The basic game logic is working, and I can actually play the game. But the art is ugly. Okay, really ugly. So I'm trying to come up with something a little more palatable before I let the world see the game.
Making art on the computer is hard. And the available programs don't make it much easier for the novice. There are photo editing programs that will do all kinds of nifty things to photographs, and high-end graphics packages like Adobe Photoshop that will do anything as long as you already know what the "Magic Wand" tool does. Photoshop is powerful, but the user interface? Ugh! I haven't yet run across a simple program that will let me quickly and easily create some basic shapes in different colors, add some lighting and transparency, and save the individual images as BMP files all with the same palette. Is it really that hard, or am I just artfully challenged?
Saturday, 15 December, 2001
I've never been much of one for finish work, but it turns out that's the most expensive kind of labor to hire. So today I installed trim on 5 doors (I'd done the other two previously). My back aches, my hands are sore, and I have a few smashed fingers, but the trim's up, looks good, and I have the satisfaction of knowing that I'm not a complete klutz. Debra followed behind me with the wood putty to cover up the nail holes. We can start sanding tomorrow and then we break out the paint.
This garage conversion is taking much longer than we expected, but that's what you get when you don't have a schedule. Just like a software project, if you don't have a schedule then you're just fooling around.
Friday, 14 December, 2001
I spotted my copy of The Ultimate DOOM this evening and decided to run through it again. What a fun game! With the exception of Descent, which was a rockin' good multi-player game, I have yet to find another game that has grabbed me the way that DOOM did, and the game's 8 years old! Why? It's obviously not the graphics. Today's 3D shoot-em-up games have much nicer graphics than DOOM. No, it's the game balance and level design that make the difference. I think game developers these days spend way too much time worrying about technology and too little time on level design. Every new game has to have a new graphics engine that adds some new visual feature but adds very little (if anything) to game play. Why? Do the people who buy games for the cool graphics really outnumber those who buy for the game play?
I think a company could make a very successful game by hiring a small team of programmers to create a level editor and the basic game logic to tack onto an existing game engine. Take half of the money saved on game engine development and hire some experienced level designers to create a couple dozen well-planned and balanced levels. Complete the project in half the normal time, release a half-dozen levels as shareware to suck people in, and make a killing on full registrations. Possible?
Wednesday, 12 December, 2001
I had dinner at the Alcatraz Brewing Company there at the Block. The food was nothing spectacular, but the beer brewed on site was excellent. With dinner I had the Big House Red. Served on nitrogen (carbonated with a 70/30 nitrogen/carbon dioxide mixture), it was smooth, slightly bitter, with a slight caramel malt taste. After dinner I ordered their Winterfest beer. At 8% alcohol I expected it to have a bite. Nope. Smooth and very tasty. If you're in Orange and you get the chance, visit the Alcatraz Brewing Company.
Tuesday, 11 December, 2001
Today is my sister Marie's birthday. Happy birthday, Marie! No, I won't tell you how old she is. I learned long ago that you don't ask a woman's age, and you don't tell if you know.
I picked up the first Harry Potter book, Harry Potter and the Sorcerer's Stone, at the airport bookstore and finished it in my hotel this evening. I know, I must be the last person in the world to have read the book. So sue me. It's an excellent children's book--not nearly as dark and scary as the movie (which I haven't seen) apparently is. It's just a fun read. I won't say I'm a "fan," but I can certainly understand why Harry Potter is so popular with children and adults. Having read the book, I have no real desire to go see the movie. Nobody's going to turn me into a toad for that, are they?
Monday, 10 December, 2001
NPR is reporting this morning that US forces have obtained a video tape of Osama Bin Laden discussing the World Trade Center attacks. The big news is that some of his statements strongly indicate that he had advance knowledge of, and perhaps even a hand in, the attacks. Nothing new to us, but perhaps this will convince some doubters. Some officials are calling the tape a "smoking gun."
What I find more interesting, though, is that some of his statements apparently confirm something that I've long suspected: not all of the hijackers knew that they were on a suicide mission. I've said a number of times that only the four who were to pilot the aircraft needed to know that it was a one way trip. The rest could have been told that it was a "standard" hijacking. We have been trying to figure out how 20 people could be convinced to train for and execute a suicide mission, when it's quite possible that only the four pilots were privy to that information--and those for only a brief time (a week or less).
Saturday, 08 December, 2001
The average annual salary for a Major League Baseball player is now 2 million dollars. Twenty five years ago it was $51,000.
Is there anybody still wondering why Major League Baseball is having financial problems?
Friday, 07 December, 2001
I got the following message today from a client's email server when I tried to send a ZIP file:
This is an automatic message from the Guinevere Internet Antivirus Scanner.
A message was received from you with a subject of FW: 360 package for FDR The message was addressed to <email address removed>. The message apparently contains a virus.
You will want to consult with your system administator on how to deal with this.
We take that kind of thing very seriously and spent an hour running the ZIP file itself and the individual components through every virus scanner that we have. No virus. We finally determined that the client's system is stripping binary attachments. Fine. Strip the binary attachments. But please don't say "the message apparently contains a virus" just because it contained a binary attachment. Sheesh!
Thursday, 06 December, 2001
Freedom From Smoking (FFS)
Illinois Smoke-Free Restaurant Recognition Program
Keep a Clear Mind
Kids Cant Buy em Here Campaign
Life Skills Training (LST)
Make Yours a Fresh Start Family
Model Tobacco Ordinances
National Spit Tobacco Education Program (NSTEP)
Not in Mamas Kitchen
Not on Tobacco (N-O-T)
Pathways to Freedom
Project T.N.T. (Towards No Tobacco Use)
Science, Tobacco & You
Smoke Free, Thats Me!
Teens Against Tobacco Use (TATU)
The Monster Cigarette or Whats in Secondhand Smoke?
The Tale of Samantha the Magenta Skunk: Why Smoking Stinks
Tobacco Use Intervention for Oral Health Practitioners
I especially like The Tale of Samantha the Magenta Skunk (you can find anything on the Web).
What continues to strike me as odd is that local, State, and Federal government agencies spend billions of dollars annually to curb tobacco use but at the same time collect billions of dollars in tobacco taxes and give away billions of dollars in tobacco subsidies. If governments really wanted to reduce tobacco use, don't you think they'd at least stop propping up the farmers and manufacturers? It's a crazy world.
Wednesday, 05 December, 2001
Software Market Solution recently interviewed Joel Spolsky of Joel on Software fame. The first question: "What is the single greatest development sin a software company can commit?" The answer: deciding to rewrite the product from scratch. He backs it up, too, with examples of companies that lost their competitive edge by taking too long in rewrite. The interview covers a couple of other topics of interest. This page is the first of two parts of the interview.
If you're a software developer you really should bookmark the Joel on Software page and read it regularly. He has an almost-daily diary that's sometimes interesting, and every couple of weeks he writes a major article that is very pertinent. Highly recommended.
Tuesday, 04 December, 2001
I bought my first computer, an Osborne I, on December 4, 1981. Dad and I each bought one from Academy Computers in Colorado Springs. I ran across a copy of the invoice last week. Although I sold mine in 1984, I inherited Dads when he passed away. Thats his machine on the left (click for a larger view). The startup screen shows, but I couldn't get the machine to boot CP/M--it doesn't even try to access the disk when I hit the Return key. I'm thinking there's something wrong with the keyboard connector, but I can't say for sure until I dig in and get my hands dirty.
For $1,795 you got the Osborne I computer with a 4 MHz Z80 processor, 64K of RAM (4K was used for the video display), 2 diskette drives that held 90K each, a 5 built-in monitor (the 9 external monitor was an additional $250), one RS-232 serial port, and an IEEE-488 parallel port. Unique at the time was the bundled software: CP/M 2.2, WordStar, SuperCalc, Microsoft BASIC, and CBASIC-80. Purchased separately, the software alone would have cost about $1,200. The machine in the picture has had some modifications: a 300 bps direct-connect modem, double density disk drive upgrade, and the 80-column display option.
Its hard to believe now, but I was thrilled with that computer. I couldnt imagine using all that memory. And disk drives...to die for! Slow by todays standards, it was twice as fast as the TRS-80 I cut my teeth on, and disk storage was much faster and more reliable than the TRS-80's cassette tape. I spent every free moment working on that computer (and my grades showed it), writing stupid little programs and exploring the hardware. By the time I sold it in 1984, I knew pretty much everything there was to know about programming the Osborne I. I regret selling my original machine, because along with it went all the stupid little exploratory programs I wrote for it, including a pretty decent draw poker game, a maze generator that used a unique algorithm (read hack) to generate some interesting mazes, my first assembly language programs, and a whole mess of stuff that I dont recall. None of it would be very useful today, but itd be interesting to see again.
Im hoping that my new office will have space where I can display this and some of the other old computers that Ive collected over the yearspreferably with power so I can fire them up from time to time.
Sunday, 02 December, 2001
Two years ago, Visual Developer Magazine published my article "Grab a CAB: CAB Compression" in which I presented the Microsoft CAB decompression interface and a Delphi component that uses it. When Visual Developer was purchased and terminated, Earthweb kept the article online for a while. At some point EarthWeb dropped the article, and I've had a few requests to post it here. I finally got around to doing it. You can find the article here.
The code from the article, and some additional CAB stuff in Delphi both are available on my Tools and Utilities page.
Saturday, 01 December, 2001
From what I can see, Memphis has the best airport security of any that I've visited since September 11. In all the other airports, there's a certain amount of chaos around the security checkpoint, with multiple people checking IDs and monitoring the metal detector, providing some opportunity for a person to slip by. In Memphis, the head of the line is 15 feet from the metal detector. Passengers approach, one at a time, a person standing behind a table next to the metal detector. This person compares the passenger's ID with the ticket, supplies a container for pocket change, cell phones, etc., helps to put carry-on bags through the scanner, and ushers the passenger through the metal detector. The next passenger cannot approach until signaled. There is no chaos. In all other airports I've visited, I've seen possible ways to sneak past the security check. Not this one.
People have to know by now that just about any piece of metal on their persons will set off the metal detector. Yet I continually see people walk through the thing, hear the beep, and look surprised. "My belt buckle set that off?" Well, yeah. The damn thing has more metal in it than a Colt .45! I actually laughed out loud today when the guy a few places ahead of me walked through the metal detector. Hearing the beep he stopped, looked back at the attendant with a totally mystified expression and said, "It always does that!" You wouldn't believe the stuff this guy had on him: a handful of change, a big metal money clip, a tin of chewing tobacco (with metal lid), a watch that probably weighs more than my poodle, and assorted other stuff that I can't remember.
C'mon people, you all know the drill. Put all that crap in your carry-on. You'll save the rest of us some time and yourself some embarrassment.