What can I say about Tuesday…?

Photography. Tom sent me links to the pictures he took on the roof of Gentry’s Landing a couple of weeks ago. He’s got a shot of downtown, the dome, and the warehouse district, flanked by I-70 on the west and the Mississippi River on the east.
I’m tired. I spent yesterday fighting Mac OS X for a couple of hours. It still feels like beta software. I installed it on a new dual-processor G4/533 with 384 MB RAM, and it took four installation attempts to get one that worked right. Two attempts just flat-out failed, and the installation said so. A third attempt appeared successful, but it felt like Windows 95 on a 16-MHz 386SX with 4 megs of RAM. We’re talking a boot time measured in minutes here. The final attempt was successful and it booted in a reasonable time frame–not as fast as Windows 2000 on similar hardware and nowhere near the 22 seconds I can make Win9x boot in, but faster, I think, than OS 9.1 would boot on the same hardware–and the software ran, but it was sluggish. All the eye candy certainly wasn’t helping. Scrolling around was really fast, but window-resizing was really clunky, and the zooming windows and the menus that literally did drop down from somewhere really got on my nerves.

All told, I’m pretty sure my dual Celeron-500 running Linux would feel faster. Well, I know it’d be faster because I’d put a minimalist GUI on it and I’d run a lot of text apps. But I suspect even if I used a hog of a user interface like Enlightenment, it would still fare reasonably well in comparison.

I will grant that the onscreen display is gorgeous. I’m not talking the eye candy and transparency effects, I’m talking the fonts. They’re all exceptionally crisp, like you’d expect on paper. Windows, even with font smoothing, can’t match it. I haven’t seen Linux with font smoothing. But Linux’s font handling up until recently was hideous.

It’s promising, but definitely not ready for prime time. There are few enough native apps for it that it probably doesn’t matter much anyway.

Admittedly, I had low expectations. About a year ago, someone said something to me about OS X, half in jest, and I muttered back, “If anyone can ruin Unix, it’s Apple.” Well, “ruin” is an awfully harsh word, because it does work, but I suspect a lot of people won’t have the patience to stick with it long enough to get it working, and they may not be willing to take the extreme measures I ultimately took, which was to completely reformat the drive to give it a totally clean slate to work from.

OS X may prove yet to be worth the wait, but anyone who thinks the long wait is over is smoking crack.

Frankly, I don’t know why they didn’t just compile NeXTStep on PowerPC, slap in a Mac OS classic emulation layer, leave the user interface alone (what they have now is an odd hybrid of the NeXT and Mac interfaces that just feels really weird, even to someone like me who’s spent a fair amount of time using both), and release it three years ago.

But there are a lot of things I don’t know.

I spent the rest of the day fighting Linux boot disks. I wanted the Linux equivalent of a DOS boot disk with Ghost on it. Creating one from scratch proved almost impossible for me, so I opted instead to modify an existing one. The disks provided at partimage.org were adequate except they lacked sfdisk for dumping and recreating partition tables. (See Friday if you don’t have the foggiest idea what I’m talking about right about now, funk soul brother.) I dumped the root filesystem to the HD by booting off the two-disk set, mounting the hard drive (mount -t ext2 /dev/hda1 /mnt) and copying each directory (cp -a [directory name] [destination]). Then I made modifications. But nothing would fit, until I discovered the -a switch. The vanilla cp command had been expanding out all the symlinks, bloating the filesystem to a wretched 10 megs. It should have been closer to 4 uncompressed, 1.4 megs compressed. Finally I got what I needed in there and copied it to a ramdisk in preparation for dumping it to a floppy. (You’ve gotta compress it first and make sure it’ll fit.) I think the command was dd if=/dev/ram0 bs=1k | gzip -v9 > [temporary file]. The size was 1.41 MB. Excellent. Dump it to floppy: dd if=[same temporary file from before] of=/dev/fd0 bs=1k

And that’s why my mind feels fried right now. Hours of keeping weird commands like that straight will do it to you. I understand the principles, but the important thing is getting the specifics right.

Odds and ends to start the week

Let’s talk about this site. So far, the forums are pretty much a flop. There’s a little activity over there, but not much, and the forums didn’t cut down on the amount of mail I receive by much. I’m not going to take them down because I like them, and a few other people like them, but since they’re not solving the problem they were designed to solve, I have to look at other methods.
So I’m going to put mail on a separate page. I’m using MHonArc to generate the pages. Mail messages end up on their own pages, which is a disadvantage to the traditional Daynotes method of handling mail, but they’re threaded, which is a big advantage. Discussions can continue indefinitely, you can follow them easily, and if the subject matter isn’t something that interests you, if you don’t click the link it won’t bother you. And I don’t spend long amounts of time reformatting mail–sometimes it takes longer to reformat mail than it does to write the day’s content–which is a huge advantage that I think outweighs not having all the mail on a single page. I used to solve that problem by forwarding all my mail to my sister for her to format and post, but she has less free time than I have these days.

I haven’t figured out how I’ll handle archiving just yet, but I know that’s a problem many have faced and many have conquered. (MHonArc’s been around since 1994.) I’m just happy to have it live and looking good.

One option in MHonArc totally mangles the e-mail addresses in headers, but not in message replies. I wised up to this and started nuking the addresses there manually. Some people want the privacy; nobody wants spam, so I figure this is the best way to handle it. I know spambots are harvesting addresses from this site so I don’t want to give them another bonanza.

Please continue using the discussion facilities here though. If you’re posting a response to a day’s entry, it makes a whole lot more sense to have them here than over in Mail.

My Royals make a smart move… And a dumb one! Smart move: My Royals re-acquired the catcher they never should have traded away. Brent Mayne was never going to be the next Johnny Bench; he looked more like he’d be the next John Wathan. But seeing as the Royals haven’t had a better catcher than John Wathan for the past, oh, six years since they gave Mayne away to the Mets… Mayne’s .251 average in 1995 didn’t tear up the league, but he handled pitchers decently, didn’t ground into a lot of double plays, in an emergency he could play a couple of different positions, and he could even steal a base. And he played cheap. That’s hard to find in a catcher. And in the years since the Royals dealt him away, he learned how to hit better.

He was batting .331 in hitter-friendly Coors Park when the Royals re-acquired him. I doubt he hits better than .270 in Royals Stadium, but when your catching platoon is the legendary A.J. Hinch, who’s batting about a hundred points below that, and future Hall of Famer Hector Ortiz, who’s batting about 50 points below that, Mayne looks awfully good.

Dumb move: To get Mayne, the Royals traded away Mac Suzuki. Last year, Suzuki was the Royals’ best pitcher. This year he’s struggled, but when you have no job security and no niche, it’s hard to do your best. It seems Tony Muser will banish his starters to the bullpen if he doesn’t like the way they tied their shoes that morning. Sometimes young pitchers have problems with that.

And not only that, Suzuki was a revenue pot. Suzuki was born in Japan. All of Suzuki’s starts were televised in Japan, because the Japanese are crazy about Japanese players playing in the States. (It was small-time compared to Mariners mania, who sport outfielder Ichiro Suzuki and closer Kachiro Sasaki, both bona-fide superstars, but when you’re the small-budget Kansas City Royals, you take what you can get.) With Suzuki on the mound, the Royals got television royalties in Japan. In all likelihood, more people watched those games in Japan than in Kansas City. Suzuki in all likelihood brought in more money than the Royals had to pay him, due to television and merchandising revenue, and the Royals are constantly moaning about how they have no money.

The Japanese couldn’t care less about Brent Mayne. Or any other player on the Royals’ roster, for that matter.

So now my Royals have a decent catcher, but at the expense of a pitcher who’s about 9 years younger and has a tremendous upside. But no one ever said Royals management had any common sense.

E-scape from the Hotel California…

Escaping Microsoft’s Hotel California. For lack of any other available alternative, I started using Outlook Express for mail about 18 months ago. It’s a decent mail client, does most of what I want–I don’t want much–and doesn’t do too terribly many things I don’t want it to. But it’s Microsoft. It runs on Windows. Its file formats are proprietary. It forces me to read my mail with the same workstation all the time. Migration makes me leave the mail behind. Most of it I want to leave behind, but do I want to sort it? NO! OK then. What to do?
Make an IMAP-enabled mail server out of a deprecated old PC and move all that mail over to it, that’s what. I tried to do this with TurboLinux but none of my mail clients wanted to talk to it. Since all of the books I have talk about Red Hat, I went with it, and it worked.

Here’s what I did. Install basic Red Hat. Include sendmail, procmail, fetchmail, imap. I pulled out all the XFree86 stuff. GUIs are for workstations. Command lines are for servers (and for workstations where you expect to get any work done quickly). Actually, I also pulled out just about everything else it would allow. A secure installation is a minimalist installation. After installation, edit /etc/inetd.conf. Uncomment imap line, save and exit. (I like pico, but you can do it with vi if that’s all you’ve got–find the line, delete the comment character, then save by hitting ZZ.) Bounce inetd with /etc/rc.d/rc3.d/inet stop ; /etc/rc.d/rc3.d/inet start. Create a user account with adduser [name] ; passwd [password].

Connect to your new IMAP server. For now, just use your ISP’s existing mail server for outgoing mail; use your IMAP server for incoming. Your username and password are the name/password you just created. After a brief delay, you should see your empty inbox, and you can start dragging stuff to it.

It went great for me. I created a new IMAP folder, opened one of OE’s folders, dragged all the contents over to the IMAP folder, and bingo! They moved. Read status and date were preserved too. (I’ve seen IMAP servers that wouldn’t do that.) I switched to another PC that had OE loaded and connected to my new mail server via IMAP and read some messages. Fantabulous.

Theoretically, I can go to my DSL router and forward port 143 to my mail server and read my mail from the outside.

Now, if you want to actually use your mail server to send mail, that gets trickier–you’ve gotta configure sendmail for that. The out-of-box setup is too secure to just use. Open /etc/mail/access and add your LAN to it, like so:

172.16.5 RELAY

Of greater interest is the fetchmail/procmail combo. You can use fetchmail to automatically go grab mail from the 47 mail accounts you have, then use procmail to sort it and filter out some spam.

To configure fetchmail, create the file /root/.fetchmailrc and chmod it to 0600. Here’s a very basic configuration:

#.fetchmailrc
poll mailserver.myisp.com
with protocol pop3
username myname password mypassword is my_name_on_my_linux_box

And finally, what’s the point of running your own mail server if you don’t spam filter it? There are lots of ways to go about it. I’m experimenting with this method. It uses procmail, which is called by sendmail, which is called by fetchmail. See how all this works?

If you want to get really smooth, you can even block mail before you download it with a program called Mailfilter. You probably don’t want to get as fancy with Mailfilter as people do with procmail, but you can use Mailfilter to search for certain key words or phrases like (checking my spam folder) viagra, mortgage, “fire your boss,” “lose weight” and delete them before you waste time and bandwidth downloading them. I’ve read estimates that spam traffic costs ISPs an average of $3 per month per user. Mailfilter won’t save your ISP very much, since the mail’s already been routed through its network and is just on its very last leg of the trip, but it’ll save them a little, and it’ll save you some bandwidth and time, so it’s probably worth it.

So if you’re looking to leave Outlook and/or Outlook Express all behind, or at least give yourself the option to use a different client, here’s the way out. It’s not too terribly difficult. And you gain an awful lot in the process: mail in a standardized, open format; redundancy; ease and versatility of backup (just schedule a cron job that tars it up and does stuff with it); the ability to very, very quickly search all of your mail with the Unix grep command (just log in, type grep -r [search string] * | more, and find what you’re looking for instantly) and far, far better mail filtering options.

And it’s infinitely cheaper (and more secure) than Exchange.

Finding an open-source alternative to Ghost

Finding an open-source alternative to Ghost. Have I mentioned lately just how pathetic a software company Symantec is? Norton Utilities is adequate, don’t get me wrong. But I don’t think I’d put Norton AntiVirus on any computer that I wanted to work right. I’d give you my opinion of McAfee’s product, but that’s a violation of the license agreement, so I’ll give you my opinion of the company instead. They’d rather spend their time and money and energy keeping you from talking about their products than they would making them worth buying.
So, anyway. Since Symantec is making my life difficult, why do we keep rewarding them by buying Ghost licenses over and over again?

Knowing that the Unix command dd if=/dev/hda of=[filename] makes a bit-for-bit copy of a hard drive, I sought to utilize the Linux kernel and dd as an alternative. Pipe it through bzip2 and it’d be great, right?

Uh, no. I imaged a 1.6-gig HD that had about 400 MB in use. About an hour later, I had a 900 MB disk image. This is bad. Very bad. Ghost would have given me a 250-300 MB image in 15 minutes.

But then I stumbled across PartImage, which does an intelligent, files-only disk image like Ghost does. It’s fast, it’s small, it works. NTFS support is experimental, but as long as you defragment your drive before you try to make an image, it seems to do fine.

However, it doesn’t do a full disk clone like Ghost does. Not yet, at least. Not on its own, at least. But this is Unix. Where there’s a will, there are 47 ways.

First, dump your partition table: sfdisk -d /dev/hda > table

Next, get your MBR: dd if=/dev/hda of=mbr bs=512 count=1

Yes, Eagle Eye, dd does grab your partition table. But restoring the table with DD will only get your primary partition(s). It won’t get your extended partitions, so that’s why sfdisk is necessary.

Now that we’ve got that detail out of the way, you can use PartImage to create images of all your disk partitions. It’s menu driven like Ghost. It’s text mode and not graphics-mode, so it’s not as pretty, but it’s also a fraction of the size.

Got your files made? Great. Now, to make the clone, you reverse it.

Write out the MBR: dd if=mbr of=/dev/hda bs=512 count=1

Re-create your partition layout: sfdisk /dev/hda

Then restore your partitions, one at a time, using PartImage either in interactive mode or with command-line switches.

It's a lot to remember, so the best bet would be to dump the images plus these two small files to a CD, make a Linux boot floppy containing dd, sfdisk, and partimage, and write a shell script that does it all. Then you can think about getting fancy and making a bootable CD that holds all of it and restores a system lickety-split.

A lot of trouble? Ugh. Yeah. Worth it? Probably. Ghost licenses aren't cheap, and PartImage has the potential to be a whole lot quicker, since it's built on a better foundation. Today's PCs are extremely powerful, and DOS has been underutilizing PCs' power since the introduction of the PC/AT in 1985. Linux will very happily scale up to whatever amount of memory and CPU power your PC has under the hood, making compression and decompression go faster. And if you do a little tweaking with hdparam before creating and before restoring (again, a good job for a shell script), you'll get far better disk throughput than DOS could ever give you. On these P3-866s, I found PartImage was a good 20-60 MB/minute faster than Ghost.

So this is not only faster, it also frees you from the difficulty of keeping track of Ghost licenses, which is a hidden administrative expense. With Linux and PartImage and the associated tools, you're free to use them as you like. The only questions anyone will ask is, "How'd you do that?"

That's not to say I have any objection to paying for a good product, but when you can't even buy a site license to escape the paperwork, it gets ridiculous. I suspect some companies just count their PCs and buy that many Ghost licenses once a year in order to be rid of the administrative overhead.

So I think it's more than worth it to figure out how to effectively do this job with open-source tools.

Of course I've left some questions. How do you make Linux boot floppies? How do you make Linux CDs? The PartImage site has images of bootdisks and boot CDs, but they don't have everything you need. Notably, sfdisk is missing from those images. And obviously you'd have to write your shell scripts and add those yourself.

I'll let you know when I figure it out. I'm pretty darn close.

Minesweeper is murder.

Minesweeper is murder.

Minesweeper is murder. An activist group is asserting that the Windows game Minesweeper is disrespectful of victims of land mines and should be removed and replaced with a game about flowers. I have no idea if these guys are serious or not. I never liked the game anyway and just always wanted an excuse to say “Minesweeper is murder.” So now I’ve said it three times. I’m happy.

Read more

End of a long day

Have you ever gone on a date only because you feel like you have to in order to carry on a relationship that you think is over, but you’re not quite ready to drop it yet? That’s what writing yesterday’s entry felt like. And that’s what today’s feels like. I just re-read yesterday’s post, realized I didn’t complete a number of thoughts in it and only said about half of what I intended to say, and found myself not caring in the least.
Moodiness is a big part of who I am, and right now it’s showing big-time.

I probably spent a total of three hours on the phone yesterday, troubleshooting an ACT! problem over the phone. ACT!’s an extremely finicky program, caring about things it shouldn’t care about (for instance, you can sabotoge ACT! by putting it on a LAN with a PC that has an apostrophe in its computer name–ACT! isn’t even supposed to use Microsoft Networking for anything!), and an ACT! database can become corrupt as Warren G. Harding’s cabinet just from simple use. Sometimes the built-in tools can recover, and sometimes they can’t. Corrupt a database, and you start a vicious downward cycle. ACT! crashes because the database is corrupt, further corrupting the database in many cases, making future crashes all the more common and all the more destructive. Making matters worse, ACT! seems to affect other apps as well. When ACT!’s unhappy, the whole computer’s unhappy.

Career advice: If you want job security, learn ACT! It’s extraordinarily popular, and maybe it’s extraordinarily good for the things people use it for–I have no idea, since I’m not in any of the businesses that seem to be addicted to ACT!–but it’s also extraordinarily finicky and easy to break, and therefore extraordinarily profitable for anyone who sets out to learn how to fix it. I’d be willing to bet SalesLogix makes more money off recovering corrupt databases than they do off new ACT! sales. I know a lot of consultants charge upwards $400 just to run ACTDIAG.EXE (included with the program) on mildly corrupted databases and get them back in business.

Anyway… That was my day.

Gatermann sent me some of the pictures he took last week when we were up on the roof of Gentry’s Landing and elsewhere. They’re pretty spectacular. His site’s acting up so he can’t post them right now, but presumably he’ll send me a link once they’re up. They’ll definitely be worth a look.

And I’m wondering what would happen if we ever teamed up his camera with my words. Would we work well together? Could we find a project that brought out both our best?

I’m back.

Very interesting. Just as everyone’s proclaiming Linux dead, Red Hat goes and turns a profit for the first time. Yes, there are too many Linux companies. Yes, there’ll be consolidation. No, I’m not convinced that selling it at retail is necessarily the best way to proliferate the system.
I also find it humorous that people like ZDNet’s David Coursey can struggle all weekend setting up a Windows server, yet state that Linux is no threat to Microsoft, even as a server. The implication is that Linux is too difficult. Give me a weekend–actually, more like 5 minutes, if you’ll spot me TurboLinux and a 50X CD-ROM drive–and I can have DNS going on Linux, easy. Give me a day, and I can have a lovely mail server going too. (I intended to do that just this past weekend, actually, but I couldn’t come up with a working ISA SCSI controller to pair up with my army of SCSI CD-ROMs to make it happen.)

Needless to say, this past week I lost most of what little respect I had for Coursey. VMWare runs Windows under Linux better than VirtualPC runs Windows on the Mac, and Coursey’s obviously never heard of it (see that second link).

Don’t get me wrong, Linux setups drive me up the wall sometimes. But I’ve had instances where Windows flat out wouldn’t install on perfectly good hardware, for no good reason, too. And since Linux servers are unencumbered by a GUI, multimedia, Pinball, Internet Exploiter, and other desktop stupidity that has no business on servers, they’re a whole lot easier to troubleshoot. You’ve got a kernel, a daemon or two, and a plaintext configuration file. That’s not much to break. Actually it’s good engineering–a machine should have no unnecessary parts.

So long, Cal Ripken. Cal Ripken announced he’s hanging it up yesterday morning. I had the pleasure of seeing Ripken play shortstop a couple of times in the early 1990s when the Orioles were in Kansas City. Today, in this era of A-Rod and Nomar and Jeter, Ripken’s offensive stats don’t seem so hot. But in the 1980s (and before), if your shortstop could hit .270 and steal the occasional base, you counted yourself very, very lucky. In those days, Ripken not only hit .270, he was consistently one of the best defensive shortstops in the American League. He was never as flashy as Ozzie Smith, but how many shortstops ever fielded .996? You’re happy to get that kind of a fielding percentage out of your first baseman, and first base is the easiest position to play. Not only that, Ripken was also good for 20-25 homers and 80+ RBIs. These days that doesn’t sound too impressive either, but remember that Ripken played the bulk of his career in an era when people rarely hit 40 homers–someone who could pop 30 was considered a real power threat.

And besides all that, Ripken played 2,632 consecutive games, shattering Lou Gehrig’s record of 2,130. Ripken played the majority of those games at shortstop (he also played some third base at the beginning and at the end). Gehrig played his games at first base and in left field, both much less demanding positions. And while Gehrig played every inning of every game just once, Ripken did it four times, in consecutive years (1983-1986).

Ripken’s really slowed down the past three years, but he did end his streak on his own terms before being cut down by injuries his final three seasons. He’s nowhere near the player he used to be. Then again, at the end of his career, Ernie Banks couldn’t hit or field, and he was playing first base. Ripken refuses to move from third to a less demanding position–partly out of pride, but partly because he’s still capable of playing third.

And we can’t forget his loyalty. Ripken’s played his entire career, from 1981 up until now, with Baltimore. You don’t see that much anymore.

I’m taking a couple of days off.

I’m taking a couple of days off. I’m overwhelmed. I very nearly forgot my sister’s birthday. I’ve made about $130 worth of mistakes in the past week. Due mostly to neglect, my apartment resembles the inside of the Cotton Belt Route freight depot, which has been a bonanza for vagrants for the past 20 years so you can imagine what that’s like.
I can’t afford to go on like this. Not financially. Not emotionally.

So I’m going to catch up. I’ll be back Tuesday. Maybe Wednesday.

If you’ve e-mailed me and I don’t respond, don’t take it personally. There are only 129 unread messages in my inbox. Buried in that mess, I know there are dozens of others I should respond to but haven’t.

Odds and ends

True tech support story. We’ve got a deployed user who’s having problems with his PC. I’ve been convinced for about the past three months that the problem is user-inflicted. I still don’t have any hard evidence of that, but man, did I get some circumstantial evidence this week. He’s always talking about how computer proficient he is, and how great his Gateway and Winbook PCs are (never mind how awful the Winbooks fare up in every reliability rating I’ve seen, and Gateway… don’t get me started).
Well, we had to help him get CompuServe set up. So we asked him for his CompuServe user ID and password, among other things. He typed it all up and faxed it to us. Right under his username was this:

Password: * (thirteen of these)

This self-styled computer genius thinks his CompuServe password is 13 asterisks!

Now, don’t get me wrong, there’s nothing wrong with dedicating your life to knowing something else, like accounting, or music, or something like that. But don’t talk about how computer-savvy you are and question my computer competence if you think your CompuServe password is 13 asterisks!

Current events. I occasionally get e-mail about this or that. I think the most recent one I got was about public schools. I work hard to keep up on computers, of course, since that’s my career, and on issues directly related to Christianity, since that’s probably my biggest interest, and of course I’m comfortable talking music and baseball. But when it comes to things like gun control, or public education, or the death penalty… Yes, I have an opinion. No, it’s usually not strong enough that I’m going to make a big deal of it. No, I probably haven’t researched it enough to have anything compelling to say about it.

Do people want me to talk about this stuff? One of the things that annoys me the most is when I go to someone’s Weblog and all I find is links to a bunch of news stories and the author’s opinion of it, usually with lots of circular arguments. I’m quickly off looking for someone who’s a good storyteller or has content that interests me, preferably original stuff. So that’s where I naturally try to focus.

I’ve mulled over the idea of opening up a message board dedicated to issues, but I’m torn. The gun control debate that popped up here earlier this year really alienated some of my regulars. One quit talking to me altogether, I suspect because I wouldn’t agree with him. I hacked off one or two others when I wouldn’t continue it, but honestly, if the debate had been raging on someone else’s site, I wouldn’t have been reading it. So why participate in something I’m not interested in reading? And I’ve seen mailing lists totally degenerate over debates regarding questions that no one has any clear-cut answers to. People want everyone else on the list to agree with them, and when they don’t, it turns into a flame war, and the list dies.

Then again, if I were to open up such a board, there’s nothing saying I even have to read it. I can open it and people can talk if they want, and can leave when they want.

Any thoughts?

Why am I afraid of heights?

Well, our last photo shoot in the warehouse district didn’t go so well. Gatermann got some great shots, but the negatives ended up really hot and the processing lab didn’t know what to do with them, so the result was a bunch of washed-out pictures. The dark areas like the building and my black t-shirt ended up fine, but lighter areas, like, oh, my face, totally washed out.
So Tom Gatermann and I headed back out yesterday afternoon, with our buddy Tim Coleman tagging along. Tim provided comic relief; mostly at our expense. They found me a summer home–what looked like an abandoned ticket booth that was missing a door–and a couple of cars. One was an early eighties-something Oldsmobile with no tires. There was also a later-eighties GM car of some sort, smaller and front wheel-drive, also without tires. And there was an old Dodge van that had to have dated back to the late 70s. It had–honest–a Reagan ’84 bumper sticker on the back. On the other side it had a Bush ’88 bumper sticker. Tim noticed it first. I had to take a picture.

The warehouse district just seems to be the place to ditch a car that doesn’t run anymore and you don’t want to pay to tow away. Trust me–when you do, it doesn’t take long for people to start pillaging parts from it. You ditch your car, then the vultures swoop in and take anything usable from them. Strange system.

We ended up back at the old Cotton Belt Route Freight Depot. We explored that until about 8, then went off to get some dinner. Tim had told us about the place he was house-sitting. It’s an apartment on the 29th floor of The Gentry’s Landing, a high-rise downtown. It’s a corner apartment, with a great view of downtown and the Mississippi River. Open up the windows, and you can see it all. So after dinner we headed back there to check out how awful it is to be Tim these days. The view was every bit as spectacular as he said, and the windows were huge. I felt my fear of heights kick in when I stepped too close.

Out of curiosity, I looked the place up when I got home. Their apartment probably costs right around double what mine runs. Then again, it’s a whole lot bigger too.

Tom and I marveled at the view (Tom from right up against the window, me from the middle of the room), and then Tim said we ought to see it from the roof. So we headed up to the 29th floor, then took a flight of steps up onto the open roof. I proceeded–slowly–behind them. At one point Tim turned around. “We lost Dave. Oh,” then he looked my direction. I had trouble keeping up with them, and it wasn’t the soreness from the softball games. I hate heights. It’s weird, because I love airplanes, but get me high up in a building, or, worse yet, on the roof, and I go nuts.

Don’t get me wrong. It was nice. The breeze was fabulous up there, and the almost unobstructed view of St. Louis was great. From that distance, the Mississippi River is gorgeous. Turn your head and you see the Arch, I-70, the Trans World Dome… And it’s beautiful. Even I-70 is beautiful from that distance. I never knew an Interstate highway could be beautiful. I admired it all from the steps up to the main rail-enclosed platform. I looked around, all the while gripping the railing on the staircase, my hands dripping wet with cold sweat, my heart racing, and my legs tingling weirdly.

When Tom and Tim said, “Let’s go,” I didn’t argue. And somehow I moved a lot faster getting off the roof than I did getting on.