Thursday, 31 January, 2002
More Cluster Nodes

All of the machines currently in the cluster are old Dells that we had gathering dust in a closet. The eighth machine, which isn't running because I haven't put a hard drive in it, is a generic clone box. The fastest machine is the Pentium 333, and the slowest is a Pentium 75. Two of the machines have 166 MHz Pentiums with MMX. They outperform the 200 MHz Pentium on the ray trace.
The cluster is a tinkerer's dream. It's hard not to get distracted running benchmarks with every possible combination, and trying different compilation options to optimize performance. That's not the point of my exercise, though. Now that I have the cluster running, it's time to learn a little about writing programs to take advantage of the multiple processors. The PVM distribution has some sample programs, which I'm currently studying. I'm also working on my Beowulf page, on which I'll post more detailed results. There are only so many hours in a day, though, so it may be a while before the page is ready.
Wednesday, 30 January, 2002
Refinancing Woes
The Texas homestead law which until recently (1998 or so) prevented Texans from obtaining home equity loans, still prevents us from doing a cash out refinance using a normal mortgage loan. Although it's not required that you file a homestead, everybody recommends it when you buy a house because it protects your house from most liens and judgments. What they didn't tell me in 1995 was that filing a homestead also locks up my equity.
There's a way around the problem, but it's less than ideal. A bank here will write me a home equity loan that covers the mortgage plus whatever cash I want to take out, but the interest rate is less than ideal; ranging from 7.25% to slightly above 7.5%. Mortgage loan rates are 6.5% for fixed rate loans, and as low as 5.25% for adjustable rate loans. I could refinance the balance as a regular mortgage and then take out a home equity loan for the improvements. But that would entail two sets of closing costs (!), and the idea of paying $3,000 in closing costs for a loan of less than $50,000 just rubs me the wrong way.
What a mess.
Tuesday, 29 January, 2002
More Linux Frustration
The Linux man pages would be a lot more helpful if the people writing them would include some examples. Sheesh.
Monday, 28 January, 2002
Remodeling
Been very busy with the remodel project. Debra and I finally set a schedule and I'm doing whatever I can to maintain it. All last week I'd come home from work and build cabinets. This weekend a friend and I installed the wall cabinets and did a few other things. This evening I started on the base cabinets. I haven't had a lot of time to write in the diary recently. I'll be back at it soon.
Tuesday, 22 January, 2002
You're Fat, Who Can You Sue?
Suing the food industry to recoup the costs associated with obesity? Extort money from McDonald's because you eat too many Big Macs even though you know you shouldn't? Steal Kellogg's blind because parents don't have the backbone to stand up to their kids and say "No" to the Frosted Flakes? Why the heck not? We did it to the tobacco companies.
This article and the whole idea of holding the food industry responsible for our obesity epidemic bother me in so many ways that I don't know where to start. Can't people take responsibility for their own actions instead of trying to find somebody else to blame? It's not like anybody at McDonald's is shoving that Big Mac and fries down anybody's throat.
I feel a major rant coming on.
Sunday, 20 January, 2002
Unix find Command Difficult to Use
find . -name filename -print
Egads. Sorry, folks, but that's just wrong. Heck, even DOS is easier:
dir filename /s
Yes, I know that find can do much more than dir. It can execute programs, format the output, brush your teeth, and comb your hair if you have any left after trying to decipher the man page:
NAME
find - search for files in a directory hierarchySYNOPSIS
find [path...] [expression]DESCRIPTION
This manual page documents the GNU version of find. find searches the directory tree rooted at each given file name by evaluating the given expression from left to right, according to the rules of precedence (see section OPERATORS) until the outcome is known (the left hand side is false for and operations, true for or), at which point find moves on to the next file name.
(Remainder of 700 lines removed)
What? I don't care about expressions, operator precedence and all that rot, I just want to find a freakin' file! I read that first paragraph and decided I'd go look for a simpler program. I really didn't want to spend 30 minutes learning the tool just to find a file that I knew was in one of a half dozen places. Kind of like flying a 747 down to the convenience store.
I'm all for powerful tools for advanced users, but not at the expense of simple tools for the most common uses. Keep your find. I'm going to write something usable.
Sunday, 20 January, 2002
More Super Computing
Right now, I only have two machines on the cluster. onefish is a 333 MHz Pentium 2 with 128 MB of RAM. twofish is a 200 MHz Pentium with 64 MB of RAM. Both are running SuSE Linux 7.0 with pretty much identical configurations (SuSE minimum system to which I've added a few networking services and some development tools). Below are the results from some benchmark tests I ran last night. All times are to render the skyvase.pov using this command line:
./pvmpov +iskyvase.pov +h480 +w640 +FT +v1 -x -d +a0.300 -q9 -mv2.0 -b1000 -nw32 -nh32 -nt4 -L/home/research/pvmpov3_1g_2/povray31/include
Computer Time onefish 1:53 twofish 4:52 cluster (onefish host) 1:24 cluster (twofish host) 1:24
So the addition of twofish to the cluster drops the time from 1:53 to 1:24, a difference of 29 seconds, or about 25 percent. Not bad. It'll be interesting to see what happens as I add the four 166 machines.
Saturday, 19 January, 2002
Indexing Web Diaries
Jeff has also begun an index of his personal web diary, something I've considered doing as well, but haven't wanted badly enough to actually go through the work of creating the darned thing. But perhaps it's time. As Jeff points out, it becomes increasingly difficult to remember what you've written about and when. He uses Google to search his online diary. I drop into a command prompt and run grep on the source HTML pages. Both methods are silly. Time to create an index.
Jeff also points out that making the index entries actually link to the diary pages is problematic because a diary entry's link changes a few months after it's written. Having to update an index entry after it's created is unacceptable—too much opportunity for error. I find it difficult enough moving a month's worth of entries onto a new page every month. There's no way I'd try to update an index. Time for some experimenting...
Friday, 18 January, 2002
My Own Super Computer

I couldn't have done things this quickly without the information found on thePondermatic page. The step-by-step instructions, although somewhat dated and not perfect, saved me a lot of time getting and installing PVM and Pov-ray. I'm in the process of putting together a single archive that contains everything required to build the raytracer. Not only will this make it easier for me to install on my six remaining machines, but perhaps it'll help somebody else get things up and running quickly. When I have it all together I'll post it on my downloads page. Or perhaps I'll create a Beowulf page of my own.
Thursday, 17 January, 2002
An Embarrassing Mistake
I made three mistakes:
- I used cut-and-paste to duplicate some code.
- I used negative logic in an if-then-else statement.
- It was "just a little change," so I didn't test the program thoroughly after making the change.
Of the three, the last is the dumbest and most embarrassing. When my client first told me of the error I couldn't believe it. How could I have made such an amateurish mistake? Cut-and-paste in itself isn't a sin, but all too often you end up duplicating code and creating a maintenance nightmare because some time down the road you'll end up having to make almost identical changes to multiple pieces of almost identical code. And the last...negative logic? Almost always a bad idea. For example, you can write:
if some condition is true then
do this
else
do that
Simple, yes? It's also perfectly valid to write this:
if not (some condition is true) then
do that
else
do this
Don't do it! When you come back to that code in maintenance mode six months later, you'll likely overlook the "not" and end up coding some of "this" where "that" is supposed to go. Simple rule: if there's an else, use positive logic in the conditional.
As I said, I learned all of these lessons a long time ago. I guess it just shows that no matter how long you've been doing something, you've got to pay attention or you get sloppy. Sheesh.
Wednesday, 16 January, 2002
Beowulf Cluster
I mentioned the idea to the company president last week. His eyes lit up and two days later I had two working Dell Dimension Pentium 166 MHz machines. We have a bunch of decommissioned hardware at the office, mostly old Dell 166 machines. Since last week I've scrounged a 333, a 200, two more 166s, a 133, and a 75. All but the 133 are Dells. This evening I installed Linux on the 333 and the 200, and got them talking to each other. It's a start. They're not doing any cooperative processing yet—maybe tomorrow or Friday.
So what am I going to do with a "super computer?" Mostly I'm just interested in learning a bit about distributed processing. That means tinkering it together, running other people's programs to verify that it's working, and then coming up with a project of my own so I can learn how to write code for parallel processing. I have a few vague project ideas, but nothing I'd like to discuss yet in public. You'll be hearing more about the project as time goes by.
Tuesday, 15 January, 2002
Aluminum Foil Deflector Beanie
I ran across the Aluminum Foil Deflector Beanie site some time ago but forgot to mention it here. I don't have time to give it a thorough review, so just go check it out. I like to busted a gut when I first saw it, and when I ran across it again today I still got a few chuckles. If it's good enough for Liz Hurley, it's good enough for me.
As I said, the Internet is endlessly entertaining.
Wednesday, 09 January, 2002
Airport Security Revisited
It’s surprising how cavalier security people are, less than 4 months after the WTC attacks. While I was standing in line at the security checkpoint in Columbus this evening, an airport employee drove up in an electric cart. He stopped, got out, and went through the metal detector. The security person by the drive-through entrance (where everybody else walks out of the concourse) began searching his vehicle. I watched carefully as she made a cursory inspection of the cubbyholes under the dash, and got out a rolling mirror to check underneath, all the while chatting casually with the driver and periodically glancing up at him. She did not check under the seat, in the battery compartment, or in many of the nooks and crannies on the cart. It would have been trivial to smuggle a small weapon or bomb through that checkpoint.
I’m convinced that all this “heightened” security is more for the FAA, airlines, airports, and Congress to cover their own butts and reassure the public that “something is being done” rather that to actually improve security. It’s simply impossible to perform thorough security checks on all passengers and employees given the number of people traveling and the services we’ve come to expect, no matter how many additional inspectors we hire.
Tuesday, 08 January, 2002
Black Hawk Down
I couldn't put it down. I started the book at the airport on Monday, and had completed well over half of it before I went to bed. I stayed up late tonight to finish it. I was totally blown away.
The author, Mark Bowden, did an excellent job of organizing the material he gathered from hundreds of interviews, hours of video footage and radio traffic transcripts, and uncounted documents. He put it all together in chronological order and leads the reader through the entire sequence: the initial assault, the shooting down of the first helicopter when things started going wrong, the rush trying to rescue the crew, the siege, and the final rescue. This is all done in a very matter-of-fact manner and yet I was completely mesmerized. Somehow, by presenting factual matter in a straightforward manner, the author was able to convey some of the terror that those men must have felt. It's one thing to read a novelist's description of "our hero" dodging bullets, killing bad guys, and shrugging off a bullet or two to the leg. It's something else entirely to read what really happens when a 7.62 mm round from an AK-47 hits the bone below the knee and exits through the heel.
Not that the book is all blood and gore. Far from it. Sure, people get shot and killed, but he doesn't really dwell on that. I gained from the book a better understanding of just how confusing things get when the lead starts flying and the shit hits the fan.
Highly recommended.
Monday, 07 January, 2002
A Bad Joke
A former girlfriend of mine named Stacie had this albino cat that she named Faux Pas. Everybody called the cat "Paws" for short. Stacie lived in a first floor apartment facing the parking lot. Every day almost without fail, Paws would sit in the window waiting for Stacie to come home, and when he saw her drive up and get out of the car he'd let go with a loud and happy "meow". I, of course, didn't know about this when I first started dating her. One day I came by and Stacie's roommate Cindy let me in saying that Stacie had run down to the store for something or another. We sat on the couch by the window, the cat between us, talking and waiting for Stacie to return. When her car drove up, Cindy said "Meow, Paws, for Stacie identification."
Sunday, 06 January, 2002
Monopoly Tycoon
Another thing I like about the game is that its scenarios are well balanced and presented in order of increasing difficulty. After the first half dozen or so (which you can complete in a matter of minutes), each of the scenarios (at least the 15 or so that I've played so far) is short enough that it can be completed in about an hour. Contrast that with Railroad Tycoon and other similar games that require hours to complete.
My only complaint with the game is that it's a bit sluggish on my computer. I have a 700 MHz Pentium 3 with 512 MB of RAM. The thing should run like a scalded cat, but it doesn't. Mouse response is terrible at times, and I just don't understand why. There just isn't that much going on in the game.
Sluggish performance aside, I'm delighted with the game. I can spend an hour or two enjoying a scenario and then put the game aside for next time. At this rate, I'll be able to play it for years. Go to the web site and take a look. Download the free demo and check it out. It's a very good game.
Saturday, 05 January, 2002
Compression Confusion
While we're on the subject of compression, I thought I'd do a little experiment. I ran a program executable through a filter that turns it into a .HEX file. That is, every byte of the file is represented as a 2-digit hexadecimal number in the output file. The resulting file is exactly twice the size of the original executable, but is really just a different representation of the same information. I then compressed both files into a single archive using WinZip's maximum compression. Here are the results:
File | Original size | Compressed size |
executable | 8,588 bytes | 4,441 bytes |
hex file | 17,176 bytes | 4,951 bytes |
I'll admit my ignorance and say that I'm slightly puzzled by these results. Whereas I didn't expect a general purpose compressor to figure out that the files are essentially the same thing and perform the hex-to-binary translation before compressing the .hex file, I certainly didn't expect a difference of 11.5% in the sizes of the compressed files. I guess this just shows that there's still room for general purpose compressors to improve.
Friday, 04 January, 2002
Saving Bandwidth by Compressing HTML
As it turns out, I'm not the first one to come up with the idea. The HTTP 1.1 specification includes compression (either gzip or Unix compress format), and most browsers have supported the compressed formats since 1998. So what's the problem? Servers. Neither Apache nor Microsoft's IIS support on-the-fly compression of content. According to Peter Cranstone's article HTTP Compression speeds up the Web, the potential bandwidth savings by using HTTP compression is 30%! (That's typical when you factor in graphics and other formats. Pure text performance would be more like 50 to 75% savings). It's criminal that servers don't currently support this compression.
Things may be changing. The article mentions an Apache mod (mod_gzip) that performs the compression. IIS 5.0 also supports some compression, as discussed inthis article from Microsoft TechNet.
In some ways it's unfortunate that browsers already support HTTP 1.1 compression. There are much better and more efficient compression methods than gzip, but we're pretty much stuck with that unless we come up with a new standard. Either that, or come up with a thin client of some kind that can decompress any new format before it gets to the browser. That would be browser specific, though, with all the associated problems. But even gzip compression is better than no compression. If the server that hosts my web site did compression, then this web page would take 20 rather than 60 seconds to download on a 28.8 K bps modem.
Yes, I know many of you have fat pipes and couldn't care less about people with modems. But before you scoff at the idea of using compression, realize three things.
- You are in the minority. Broadband just hasn't taken off like I and many other people thought it would. (Ask me sometime what my @Home stock is worth.)
- A connection is only as fast as its weakest link. All those people trying to download big pages with slow modems are hurting web server performance. If the servers supported compression, those people would get their pages faster and response would improve for all users.
- You may not notice the difference if text gets there 30% faster, but large web site operators and small companies would certainly notice if their bandwidth requirements were cut by a third.
Thursday, 03 January, 2002
Outlook Spam Filter
I've had to turn the junk filter off at work because the first two messages (the only two so far) that it flagged as suspected junk were legitimate messages—one from a client and one from a co-worker. I thought I'd take a look at Outlook's filtering rules, but can't seem to do that. What I really want is an option like Outlook Express's "Block Messages from Sender". If the option is there in Outlook, it's hidden somewhere in that bewildering Options dialog. Somebody at Microsoft needs to take a very close look at that program's user interface.
Actually, the UI isn't my only complaint with Outlook, and I'm looking to replace it on my home system. Eudora looks like it might be worth another look—I used it briefly in 1997 but didn't like having to swap out the MAPI DLL every time I wanted to receive a fax. I don't receive faxes anymore, so MAPI isn't an issue, and my understanding is that Eudora has fixed many of the other problems I had with it.
Wednesday, 02 January, 2002
faqs.org and Amazon Honor System
I'll make a contribution, simply because faqs.org is one of the most useful free sites around. Although the information contained there is available in other places, faqs.org is the most comprehensive and best organized that I've found. I sure hope they make it.
What threw me for a loop, though, was that when I went to the site there was a banner that said "Hi Jim, support FAQS.org today!". It's an amazon.com "honor system" banner, complete with alink that describes how my personal information got displayed on that web page, and assuring me that no personal information was transmitted to the people at faqs.org. Yes, you caught me. I order enough books from Amazon that I'm set up for one-click ordering.
This is the first time I've noticed web tracking software in operation, even though I've known about it for quite some time. I'm not worried about Amazon keeping tabs on me and reporting my Web surfing habits to others, but I sometimes wonder if there are others out there keeping track and not telling me about it. And if there are, what's it mean to me? Food for thought. Maybe it's time to turn off the cookies.
Tuesday, 01 January, 2002
Godwin's Law
In plain English: sooner or later somebody's going to compare somebody else with Hitler or Nazis. When that happens, the discussion is over and the person who brought it up has lost the argument.
The law was developed some years ago (for history and more detail, see this entry atfaqs.org) from observations of Internet newsgroup (usenet) threads. It's an interesting observation that appears to apply equally to message boards of all kinds. Recently, comparisons to the Taliban have become all the rage, and there are some people lobbying for a corollary that includes the Taliban and Osama bin Laden.
The Internet is an endless source of amusement.