Sunday, 31 December, 2000
When I was chopping fig yesterday, I noticed one stalk that still had a bud on it, meaning it's still alive. The stalk was about 3 feet long, so I chopped it into three pieces, planted it in a pot of compost, and put the pot in the back room with Debra's African Violets, where it'll stay warm and get plenty of light. I'm betting that at least one of the pieces will sprout. I actually took a picture of the thing in case it does sprout, so I can have "before" and "after" images. Of course, the "after" image will have a fully-leafed plant in a nice new pot, and be taken under optimal lighting conditions. Kind of like the weight loss or hair growth ads you see in the magazines when you're waiting for the dentist: the "before" shot is an informal picture of a person wearing ratty clothes, and the "after" shot is a professionally-posed shot of a person in his or her Sunday Best. Anything to enhance the contrast, I guess.
Saturday, 30 December, 2000
Today was actually a pretty nice day. Clear skies, little wind, and temperature in the 50's. Hardly a record-breaker, but a lot nicer than the previous month of Saturdays. So I spent the day working outside. Today's job: chop down the fig bush. You see, the weather here in Central Texas is a little too cold for fig trees to last the winter. So instead of a single tree you end up with fig clumps that die back every winter and form new growth from the roots every spring. When the fig loses its leaves, it's one ugly plant: just a bunch of 12-foot sticks poking out of the ground. A few times I've left the dead sticks over the winter, and in the spring I've noticed new growth on a very few existing stalks. Mostly, though, come winter the stalks are dead.
Any day you get to start the chainsaw is a good day. So out with the chainsaw, and down with the fig bush. After chopping both bushes to the ground, I broke out the chipper/shredder (starting that monster after a couple months is chore) and made a dozen bags of fig mulch, which I promptly put around the fig roots. Not to worry about taking the plants to the ground: they'll be 12 feet tall by the end of August. And good figs, too, if you like that sort of thing.
Friday, 29 December, 2000
I've never been much of a camera buff. As a kid I'd take pictures and then forget to have the film developed. As an adult, I found that I'd take pictures (on vacation, say), look at them once when they come back from being developed, and then never look at them again. Perhaps the worst thing, though, was I never had a camera with film ready when I needed it. I resisted buying a digital camera for years just because I couldn't see needing one.
Three days with the new Canon Digital ELPH has changed my opinion on that. I can take as many pictures as I want, get them developed instantly, and throw away the ones I don't like. No film costs, no reproduction costs: the cost of the camera is the total cost of ownership. I'll perhaps want to buy some photo paper for the color printer, but I doubt I'll actually print many pictures.
Best of all, the thing takes excellent pictures. The photo on the left is a close-up of our poodle Tiffany, who weighs about 10 lbs. I used LView to crop the background. One day I'll learn how to use Photoshop or a similar program. The point, though, is that I probably wouldn't have even attempted this picture with my old camera (a Canon Sure Shot), because the chances of it coming out at all were pretty slim.
Thursday, 28 December, 2000
I'm still working on that custom Web application for a client (see December 14), and I'm continually impressed with how easily I can get things working with VB Script. I never thought I'd say it, but I'm actually beginning to like working with VB. Its oddities still annoy me from time to time, and I dislike having to run the program in order to find syntax errors (the scourge of interpreted applications), but I can get things done so quickly! I spent Saturday morning writing some rather involved HTML parsing and generation code, and a couple of hours today adding a couple of other needed features. These are things that I thought would be hard in any language, but I'm able to put them together in VB Script just as fast as I could have in Delphi. And it leaves C/C++ in the dust as far as ease of application development goes.
Writing ASP pages in VB Script is very reminiscent of my hacking days, when I wrote small programs to solve very narrowly-defined problems. Small programs give much more freedom for experimentation and they're more fun to write because I don't have to worry about the "big picture" of a huge application design. My final application will be a few thousand lines of VB Script spread over a couple dozen source modules—a far cry from a half million lines of very-OOP Delphi code spread over thousands of modules. Sure, it's still possible to write crap, but it's also very easy to write a complete, working, useful application. I never would have thought that I'd actually have fun writing VB Script. Amazing.
Wednesday, 27 December, 2000
What with my not feeling well (tooth still causing trouble), five days off, and cold wet weather, we watched a lot of movies over the last week. We actually went to the theatre twice, and watched maybe 10 movies at home. At home we do the whole movie thing: popcorn, cokes, candy, lights off, sit together. It's a good way to spend a mini-vacation. Anyway, some mini-reviews.
At the theatre
What Women Want with Mel Gibson and Helen Hunt. Mostly a "chick flick," but very funny until the end, which is typically sappy. Mel Gibson is still one of my favorite actors, and Helen Hunt is, well, a babe. But the movie still doesn't answer the critical question: Why would anybody do that (wax her legs) more than once?
Cast Away with Tom Hanks. I really liked this movie, and Helen Hunt's appearance is just an added bonus. Tom Hanks is a Federal Express troubleshooter who gets stranded on a South Pacific island (more of a tree-covered rock) after the FedEx airplane he's riding on crashes. The movie covers events leading to the crash, his first couple of weeks (months?) on the island, and then skips ahead four years to his escape, rescue, and events that follow his return. The movie does a reasonably good job of making you care about the character, and understand (as much as that's possible for people who've never been truly alone) what somebody in that situation goes through. Tom Hanks reportedly lost 55 pounds in order to do the movie—it shows. He's almost back to his old self.
My Dog Skip - Woof. The Skulls - Ugh! The Perfect Storm - Decent special effects. Although in a storm producing 70 foot seas, you can hardly see your hand in front of your face. You'd never see the wave that killed you. Not a must-see, but the book is a must-read. U-571 - Action-packed and very dramatic. Very good. Supernova - I thought I'd seen this one before. The scenario is similar to some other science fiction/horror movie. It's better than the one whose title I can't remember, but not by much. Entertaining, but forgettable. Rules of Engagement with Tommy Lee Jones and Samuel L. Jackson - Somewhat entertaining, but forgettable.
Tuesday, 26 December, 2000
Even though I've worked in the computer games industry, I've never been a huge fan of games. When I was in that business, I made it a point to evaluate a lot of different games, but very few really grabbed my interest. I have several bookshelves full of games now, most of which I've only played long enough to see their major features. A few, though, have retained my interest for years.
The original Colossal Cave Adventure was the first game to keep my interest for any length of time. I played that for most of my first semester in college before I finally figured out the secret of the last room. I played Zork for a while, but many of the puzzles were too obscure for my taste. After that, it wasn't until 1994 that I found another game to really interest me. That game, of course, was DOOM, which I played all the way through on my 386 with no sound. I still play that game from time to time, and am still impressed with it. Of course, it plays much nicer on my P3 700. Of the other first person shooter type games, only Descent was as much fun, and that only in multi-player mode.
The game that's had my attention for the last couple of years (I don't get to play much) is Railroad Tycoon II and the The Second Century expansion pack. The game played reasonably well on my P200, and it's a real joy on my new system. I much prefer RRT2 over any of the other real-time strategy games, which all seem to be war based. RRT2 has much of the same attraction as Civilization II, but with a much more varied experience. Even so, it could still use a better AI. It's not uncommon to have 30 or more trains running at the end of a scenario, and having to micro-manage them all gets tiresome.
Monday, 25 December, 2000
This year we finally got a digital camera. Since Debra's the picture buff, I bought her a Canon Powershot S100 digital camera. I'm still amazed at digital cameras in general, and this little thing is really something. It's small enough that I can completely cover it with one hand, and yet it does 2.1 megapixels, has a 2X optical zoom, and more features than I'll ever be able to use without continual reference to the operator's manual. With a 64MB compact flash card and an extra battery (more on that below), I can't see ever needing film again. I don't know that much about digital cameras (or cameras in general, truth to be told), but this one seems to have everything I need. I figure we'll play with it for a few years and then maybe buy something better if we find a need.
Canon's picture software, on the other hand, needs some work. Beyond having to help Debra with the install, which is one strike against the software, I haven't actually played with it yet. But the trouble that Debra's having with the software and the few strange error messages I've seen indicates that it's still true that hardware manufacturers in general still don't know how to create software. Of course, many software manufacturers don't either, but that's another story. Adobe's PhotoDeluxe Home Edition came with the camera, but we haven't yet installed that. I suspect it'll be a much better software package than the Canon offering.
The one thing that almost prevented me from buying the Canon was the battery. They use a non-standard battery format rather than rechargeable AA or AAA cells, for size reasons, I assume. I think I'd rather pay a little in size in order to gain standard batteries. I tried to buy an extra battery at Best Buy (where I got the camera), but they don't carry them. I'll either have to find it online, or order it directly from Canon. The thing is expensive, too: a brief online search revealed a price of about $60.00! Maybe I can get a better price, but that's about three times what I was expecting. Ouch.
Sunday, 24 December, 2000
I actually went to the mall today. Not to buy gifts, but to get a battery and some other parts for my lawn tractor. With five days off, I was planning to catch up on some yard work: picking up and composting leaves, making mulch out of the tree branches I'd trimmed last month, and generally cleaning things up. It looks like I won't be doing much outside work in the next few days, though: it's going to be very cold and wet until Wednesday.
I was surprised at how empty the stores were. I got a parking place within the first 10 rows, there were no major crowds in the stores, and no long lines at the checkout counters. News reports had said that sales were down from expectations and that retailers were expecting a big rush on the last weekend before Christmas. I don't know about the rest of the country, but it certainly didn't happen here. Perhaps the weather (cold and wet) kept people home. The exception was the grocery store, where yesterday Debra had to park in the very last row and wait in line for a shopping cart. There were actually empty shelves and signs apologizing for being out of turkeys and other holiday items. One of our friends went to to the same grocery store today and reported similar results. I just don't understand the last-minute attitude.
Saturday, 23 December, 2000
The Inquisite Solutions team got our new server today, an 800 MHz Compaq rack mount system with 18 gigs of hard drive space and 512 KB of memory. Since I'm the one who will be administering the system, I got to install it. Rack mount hardware is amazingly different from your standard desktop fare: dual power supplies, RAID drives, cable harnesses, and a generally more reliable system. This was my first real experience with this type of hardware.
Like everything else, installing a new server takes longer than you expect, especially if you've never done it before. Fortunately, Compaq's instructions for mounting the thing in the rack are reasonably well-written, and our systems guy was there to help me with running a cable to the router, connecting it to the proper port, and assigning the correct IP address. The software installation instructions were a bit fuzzy, but I appear to have Windows 2000 Server installed correctly, and IIS passed my (admittedly minimal) smoke test. I have to actually build the web site now, but that's another matter entirely. All in all, though, what I thought would be a 3-hour part-time job turned into a 6-hour chore, and I'm not even all done. For reasons that have to do with routers, tunnels, and other stuff that I don't understand, the server isn't yet visible from outside the firewall yet.
Oh well. It was a good low-stress way to spend the last working day before taking five days off.
Friday, 22 December, 2000
I got some more time today to mess with the Microsoft Access application we've been having trouble with (see Dec. 19). I installed Windows 95 OSR1 on a test box and confirmed that the application indeed fails. Then I installed the Office 97 Developer Edition Tools so I could debug and fix the problem. Of course, installing the ODE tools puts new versions of some DLLs on the system so that now the program works. Gads, what a mess. I need to go through the setup building process in order to build an installation package so that I can deploy the application to my users. Worse, installing my application may make other applications on the user's system unusable.
In the January 2000 issue of Dr. Dobb's Journal, Jeff Duntemann said:
The worst idea ever to arise in the history of computing is shared code libraries, which are absurd in a time of cheap 30-GB hard drives. Most of the instability of the Windows platforms is due to DLL conflicts. One app, one block of code.
I could hardly agree more.
The quote is from this article sidebar: The Most Significant Event in the Last 25 Years of Computing: Comments from DDJ Luminaries.
Wednesday, 20 December, 2000
Did anybody notice that we now have a President elect? After five weeks of court battles and interminable news reports, we finally know who the next President will be. Throughout the uncertainty, nothing happened. That would not have been the case in many countries, where even a certain outcome sometimes results in the losing party attempting to mobilize the military and taking control by force. For all of its flaws, our form of government works. Of course, this country's economic situation is partly (mostly?) the reason for the relative calm. Even our poorest people live much better than most of the world's population. Things might have been radically different if the majority of our citizens were barely surviving.
Tuesday, 19 December, 2000
A client contacted us about a custom application we'd written two years ago and modified sometime this year. Apparently, the client had finally decided to run the application (they paid us for the modifications months ago), and it failed. The developer who made the modifications is either on vacation or no longer with us (I haven't yet determined which developer made the changes), so it falls to me to discover and fix the problem.
It turns out that the program is a Microsoft Access application designed to run on the client's Windows 95 system. The developer who made the modifications was working on a Windows 2000 system. The modified program works fine under Windows NT and Windows 2000, but fails under Windows 95. Why? Because there are incompatibilities between the Windows 95 and Windows NT versions of some common controls, and the Access application retains information about the control set that was on the development machine. Granted, the developer should have tested the program on Windows 95 before shipping it to the client, but still—an application depending on information about the development system is a really bad idea.
To make matters worse, when the program is run on Windows 95, Access displays a very unhelpful error message: "There is no object in this control." It doesn't say which control. Worse, when I try to edit the application under Windows 95, I get the same error message and it still doesn't say which control has no object.
This (and similar problems) is why we no longer create applications with Microsoft Access.
Monday, 18 December, 2000
Maybe I'm just getting too old for this stuff. With Windows 2000 on my machine now, I figured I could start the SMTP service so that my applications that need to send mail could use it rather than the SMTP service on my Linux box. Not that I have anything against the service on the Linux box—it works fine—but that box is pretty volatile because I'm forever mucking with it. Plus, the apps that need the SMTP service are running on my Win2K box so it just seems easier to have the service running there too. That way I know that it'll be running when my apps need it.
Now I had no trouble setting up the SMTP service on my Win2K box at work, and I'm running the same version here. But I can't get the darned thing to send mail. My app can connect to the service, and the service accepts the mail. But then it just drops it into the queue. Strange. I'm beginning to think that the Microsoft SMTP service wants my computer to be connected to an honest-to-Pete domain before it'll try to send mail. Egads.
Until I figure that one out, I have the SMTP service on my Win2K box using the Linux box as a "smart host." Basically, all mail requests that go to the Win2K SMTP service get sent immediately to the Linux SMTP service. There's still some good here. Previously, if the Linux box wasn't running, my application would report an error (SMTP service unavailable) and the mail would never be sent. Now, the mail is delivered to the Win2K box, and forwarded when the Linux box is next available.
I think I'd be happiest, though, if I could get the equivalent of the Linux sendmail program running on my Win2K box. Guess I'll have to go searching for that one.
Sunday, 17 December, 2000
Yesterday was Shopping Day, and while I was at Best Buy I picked up a copy of Windows 2000 Professional Upgrade, and SuSE Linux 7.0. Today is Upgrade Day. I'm upgrading my Windows 98 box to Win2K, and my SuSE Linux 6.4 box to SuSE Linux 7.0.
I actually started the Win2K upgrade last night, but went to bed while it was examining my system to find incompatible hardware and software. When I got up this morning I found that I needed to obtain some new drivers and uninstall some software before continuing with the upgrade. So now I'm ready to give it another shot.
I usually don't do OS upgrades, preferring to reformat my system and install the OS from scratch. But the Win2K upgrade package was $100 less than the standard package, and people I trust have done the 98-to-2K upgrade successfully, so I'm going to give it a try. Wish me luck.
I'm not too concerned about the Linux machine, as at the moment it's mostly just a test box. There's nothing on the machine that I can't nuke. I'll probably try to upgrade just to see how it goes, but if things get nasty I'll just nuke the box and start over with SuSE 7.0.
The Win2K upgrade seems to have gone well, and all of the partitions are now NTFS. The only odd thing I've seen so far is that Win2K seems to have swapped the drive letters on my CD and DVD drives. Knowing how these things go, I suspect that won't be the only oddity I encounter.
The Linux update went well, too, although it decided to overwrite my sendmail.cf file, so I had to go figure that one out again. The system was also very slow once the update was done. It apparently never rebooted (a plus, I guess), but there appeared to be active processes after the update that really weren't necessary. I rebooted the system and it seems to be running better. No major problems to report...yet.
Saturday, 16 December, 2000
I was talking to a professional magician today. He was explaining that magic is really just misdirection and showmanship, and that actual "sleight of hand" is difficult and unnecessary. According to him, sleights are difficult and unnatural moves that magicians use to impress each other. The audience doesn't really care how difficult a trick is to perform—they just want to be entertained. Sleights are hard, and tricks that require them are no more impressive to an audience than those that are easier to perform. Consider that many professional magicians, including Sigfreid and Roy (the highest paid magicians in the world), Penn and Teller, and David Copperfield don't use sleights in their acts. One of the secrets to a successful magic trick is "keep it simple."
He went on about that for quite a while and then apologized for ranting. I actually enjoyed his rant and couldn't help but relate to him my experiences with programming, where I've found that simple designs and programs are usually much better (faster, smaller, and more robust) than complicated designs that use difficult tricks, which programmers use mostly just to impress other programmers. Albert Einstein once said: "Things should be made as simple as possible, but not any simpler." Programmers, in my experience, rarely make things as simple as they should be.
Thursday, 14 December, 2000
I started working on a custom web application for a client today, which takes me back to the world of ASP and VBScript. From a purist standpoint, I still dislike the language because of its weak (non-existent, really) typing and inconsistent syntax. But it's easy to get a web application up and running with VBScript. After getting IIS and the debugging support installed on my machine, debugging is almost as nice as with Delphi or VC++, and the Visual InterDev development environment actually isn't too bad. Sure, there are things I don't like, but I've been impressed at how quickly I've been able to create this application using a language and development environment with which I'm unfamiliar.
A lot of the criticism that I hear about Visual Basic (in all of its forms) is centered around its ease of use: because it's so easy to create programs, people create a lot of crap. True enough. But just because a tool can be misused is no reason not to use it. C, C++, and Perl are just as easy to misuse, and a lot of people use those languages to create crap, too. Just take a look at www.freshmeat.net if you don't believe me.
Visual Basic's appeal is that it lets developers quickly create solutions. Perhaps they're bloated, and maybe they're slower than they could be. But for most business applications they're good enough. And that's what businesses want: applications that solve their problems now. That's much to be preferred over a small and fast application that'll be ready when it's ready.
Wednesday, 13 December, 2000
Today's adventure actually started yesterday evening, when the temperature dropped to 20 degrees and it started raining. The power went off periodically starting at about 5:00 pm and went off permanently at about 2:00 this morning. When I woke up there was 1/4 inch of ice covering everything—trees, fence wire, the car outside, and blades of grass. Many tree limbs broke under the weight, and those that didn't break were drooping to the ground. When the sun came out, it was a dazzling sight. Debra took some pictures, which I will upload once we get the film developed. (Yes, I know, get a digital camera. We'll have one in about 12 days.) I stood outside for about 30 minutes watching and listening to the ice melt from the trees.
Oddly enough, most streets didn't ice over because the ground was still relatively warm. It only got cold yesterday. But bridges did ice over, and most schools and businesses were either closed or opened late, my dentist being a case in point. Between the painkillers and antibiotics, I was able to isolate the offending tooth, but had to wait until the dentist opened his office at 2:00 this afternoon before I could get any relief. A root canal isn't fun, but it's preferable to what I was going through.
Tuesday, 12 December, 2000
There's nothing quite like a sore tooth. Yesterday afternoon I started getting a toothache, and by the time I went to bed, it was quite painful. This morning it was so bad that it felt like the whole right side of my mouth was under attack. I got in to see the dentist, but x-rays didn't reveal anything, and we were unable to localize the pain. So he gave me some painkillers and antibiotics and told me to return tomorrow. I must say, afternoon TV isn't so bad when you're flying high on Tylenol 3. Not able to do much on the computer, though. My attention span is pretty short at the moment.
Monday, 11 December, 2000
I was talking with my older brother and sister a while back and the conversation turned to cartoons. All three of us remembered a cartoon in the late 1960's called Batfink. It was a spoof of the popular Batman series. The hero (Batfink) was a real bat who had steel wings, a "super sonic sonar radar," and super powers. He and his sidekick Karate fought all kinds of evil villains, especially the dastardly Hugo A Go Go. Batfink's most memorable line, which he uttered in almost every one of the 100 episodes was "Your bullets cannot harm me, my wings are like a shield of steel."
None of us had ever talked to anybody else who remembered the cartoon. Worse, my wife and my sister's husband always accused us of making the whole thing up. Today I had a similar conversation and decided to go search the web. I found quite a bit of information, most of it available at this web site, proving once again that you can find anything on the Internet.
If anybody knows where I can get videos of the episodes, please let me know. I've found one possible source, a comic book shop in California, but I'm not sure they're reputable. I'd prefer a reputable dealer selling "official" goods.
Batfink Copyright Hal Seeger Productions.
Sunday, 10 December, 2000
What with the weather and my being sick, I haven't been biking much—only a couple of rides in the last month or so. The weather was reasonably nice today, so I got on the bike about 1:00 for a 2- or 3-hour ride. It's amazing how quickly my fitness changes in just a few weeks. I knew that I would have to take it easy, but it took me 40 minutes to reach a point that I usually make in 30. Part of it was the headwind, but most of it was just being out of shape. Unfortunately, the weather for the coming week is expected to be seriously cold, and we're even expecting freezing rain sometime Tuesday or Wednesday. I'll have to spend more time on the magnetic trainer.
Saturday, 09 December, 2000
I think I mentioned that I'm writing a book about Linux programming using a new (yet to be released) programming tool. This weekend I'm working on a chapter about processes: how to create, destroy, and control them. I am seriously impressed by Linux's wide range of process manipulation functions, but equally distressed by the seeming lack of coordination among the different API families. And the available documentation, as I've come to expect, is thin and hard to find. Fortunately, the more I learn the easier it is to form intelligent search queries, and the man pages have been quite helpful.
Some of the commands and API calls are pretty obscure, though. For example, to launch a process with a lower priority, you use the nice command. The command renice lowers the priority of an existing process. Why the word "nice?" Because by lowering the priority of your process (normal users can't increase a process's priority), you're being nice to other users. Man, that's obscure.
Friday, 08 December, 2000
I've been stewing on this one for a while. I had let it go, but then somebody pushed my button.
I guess it started with this article on ZDNet about an option in Whistler (the new consumer-level OS from Microsoft) that will block any software that doesn't have a valid digital signature. The conspiracy theorists are all up in arms, and some "developers" are concerned that this is yet another way for Microsoft to control the desktop. What a crock! First off, most of the "developers" who are screaming are loudmouth idiots who, even without Microsoft's market dominance, couldn't capture any significant market share, yet they presume to speak for the developer community. And what's the big deal, anyway? So get a digital signature. You do it for your ActiveX controls. Why not for your shrink-wrap software, too?
And then there's Microsoft's plan, described in this press release, to offer "Office 10" (or whatever they end up calling it) on an annual subscription basis. Conspiracy theorists and stupid developers started screaming again about Microsoft taking over the world. What's the big deal? Let Microsoft price themselves out of the market. The anti-Microsoft faction should love this move, because it's obvious where the company is heading: it wants to be your one-stop software shop. IBM tried this in the 70's and 80's, as have other companies. Sure, some corporate IS managers will take the bait. Let 'em! This move leaves the home desktop market wide open. So stop bitching and figure out how to take advantage of Microsoft's move.
Thursday, 07 December, 2000
I had been going back and filling in entries for days that I'd miss. But that's cheating, and quite honestly it's hard to remember what I did yesterday, much less last week. So you'll probably see periodic gaps in the entry dates. Oh well.
Tuesday, 05 December, 2000
Still no President Elect. Yesterday's decisions by the US Supreme Court and the Leon County (FL) Court should have put an end to the legal maneuvering. Apparently not. The Gore team is now appealing the Leon County decision to the Florida Supreme Court, which was also instructed by the US Supreme Court to clarify its previous ruling. At least now everything's in one Court. The Gore team says that this is their final battle. I somehow don't believe that they'll give up that easily if the ruling goes against them. I could be wrong. Perhaps Vice President Gore will surprise everybody and for once actually do what he says he's going to do. He's lost all credibility. Perhaps he can salvage some small amount of dignity.
Monday, 04 December, 2000
This in today's junk email:
AlGoreithm, n. (al-gor-ith-m)
Any method of calculation performed endlessly until a predetermined desired result is produced.
At least this election fiasco has generated a lot of new jokes. I was getting tired of the repeats.
Sunday, 03 December, 2000
I flew to Newark, NJ so I could visit a client near Trenton on Monday. I never even got close to New York City, but I still thought there were way too many people crammed into too small a space. There are over 20 million people in the New York metropolitan area. Another 10 million or so live within 100 miles. That's 10 percent of the country's total population living in an area of about 31,500 square miles, or about .8 percent of the country's total area. The population density of the metropolitan area is about 2,000 people per square mile. Austin's population density is about 250 people per square mile, and I thought we were densely packed. I'm not surprised that there's so much violence in the city. That many people would really get on my nerves. I'm glad I leave tomorrow.
Saturday, 02 December, 2000
I had occasion recently to peek under the hood at some Internet communications protocols. I knew that SMTP, for example, was very simple—it had to be in order to work for so long (almost 30 years) on so many different types of hardware. Like many of the other protocols, SMTP is entirely text based, and the commands are simple enough that you could use a terminal-mode program to send mail directly through an SMTP server without using a mail client. Not that you'd necessarily want to, but you could. One benefit of using a simple text-based protocol is that it's easy to test by hand. Complicated binary protocols that support compression and encryption may be more efficient, but they require similarly complicated testing programs, and it's often difficult to determine where an error exists—in the server you're testing or in the test program itself.
I've run into similar problems with binary file formats. Text has its disadvantages: it's usually larger than the equivalent binary file, it's a pain to write parsing code, and being human-readable encourages some people to "try" things. But being human readable makes it easy for me to verify a program's I/O, text parsing code isn't all that hard to write, and the additional space required by text is easily offset by the ease of debugging and verification. If the text format becomes too much of a resource problem, it's very easy to convert to a binary format after the rest of the program is working. I use text for file formats and communication protocols whenever it makes sense, which is a lot more often than you might think.
Friday, 01 December, 2000
I came to Harlingen, Texas to visit the Marine Military Academy, where I went to school. I had agreed to address the students who are taking Computer Science classes. I related some of my experiences in the industry, showed some of the games I worked on, and mentioned how the values I was taught at the school helped to prepare me for college and later life. The cadets (students) seemed to be interested (especially in the games), and the teacher was pleased and asked me to come back next year.
No matter how often I visit the school, I can't help but be impressed with how the cadets carry themselves, how they address adults ("yes, sir," "thank you," "may I?", etc). Even in informal settings they are very respectful. They're sincere, too, unless they think you're being phony. I wonder why this kind of thing only happens at private (mostly military) schools. Couldn't teachers and administrators in public schools insist on such behavior?
Too many people insist on the "right" of public schooling for their children without considering the responsibilities that they and their children incur when they take advantage of that "right." Shouldn't teachers and administrators have rights, too? Kids who continually disrupt class, don't pay attention or do their homework, or physically assault others should simply be dismissed from school. School is a place to learn, not a day care center or detention camp. Kids who refuse to follow the rules shouldn't be allowed to ruin the experience for those who are actually interested in learning.