How to get mod_gzip working on your Linux/Apache server

My research yesterday found that Mandrake, in an effort to get an edge on performance, used a bunch of controversial Apache patches that originated at SGI. The enhancements didn’t work on very many Unixes (presumably they were tested on Linux and Irix) and were rejected by the Apache group. SGI has since axed the project, and it appears that only performance-oriented Mandrake is using them.
I don’t have any problem with that, of course, except that Mod_Gzip seems to be incompatible with these patches. And Mod_Gzip has a lot of appeal to people like me–what it does is intercept Apache requests, check for HTTP 1.1 compliance, then compress content for sending to browsers that can handle compressed data (which includes just about every browser made since 1999). Gzip generally compresses HTML data by about 80 percent, so suddenly a DSL line has a whole lot more bandwidth–three times as much.

Well, trying to make all of this work by recompiling Apache had no appeal to me (I didn’t install any compilers on my server), so I went looking through my pile-o’-CDs for something less exotic. But I couldn’t find a recent non-Mandrake distro, other than TurboLinux 6.0.2. So I dropped it in, and now I remember why I like Turbo. It’s a no-frills server-oriented distro. Want to make an old machine with a smallish drive into a firewall? The firewall installation goes in 98 megs. (Yes, there are single-floppy firewalls but TurboLinux will be more versatile if you’re up to its requirements.)

So I installed Apache and all the other webserver components, along with mtools and Samba for convenience (I’m behind a firewall so only Apache is exposed to the world). Total footprint: 300 megs. So I’ve got tons of room to grow on my $50 20-gig HD.

Even better, I tested Apache with the command lynx http://127.0.0.1 and I saw the Apache demo page, so I knew it was working. Very nice. Installation time: 10 minutes. Then I tarred up my site, transferred it over via HTTP, untarred it, made a couple of changes to the Apache configuration file, and was up and going, sort of.

I still like Mandrake for workstations, but I think Turbo is going to get the nod the next few times I need to make Linux servers. I can much more quickly and easily tailor Turbo to my precise requirements.

Now, speaking of Mod_Gzip… My biggest complaint about Linux is the “you figure it out” attitude of a lot of the documentation out there, and Mod_Gzip may be the worst I’ve ever seen. The program includes no documentation. If you dig on the Web site, you find this.

Sounds easy, right? Well, except that’s not all you have to do. Dig around some more, and you find the directives to turn on Mod_Gzip:

# [ mod_gzip sample configuration ]

mod_gzip_on Yes

mod_gzip_item_include file .htm$
mod_gzip_item_include file .html$
mod_gzip_item_include mime text/.*
mod_gzip_item_include mime httpd/unix-directory

mod_gzip_dechunk yes

mod_gzip_temp_dir /tmp

mod_gzip_keep_workfiles No

# [End of mod_gzip sample config]

Then, according to the documentation, you restart Apache. When you do, Apache bombs out with a nice, pleasant error message–“What’s this mod_gzip_on business? I don’t know what that means!” Now your server’s down for the count.

After a few hours of messing around, I figured out you’ve gotta add another line, at the end of the AddModule section of httpd.conf:

AddModule mod_gzip.c

After adding that line, I restarted Apache, and it didn’t complain. But I still didn’t know if Mod_Gzip was actually doing anything because the status URLs didn’t work. Finally I added the directive mod_gzip_keep_workfiles yes to httpd.conf and watched the contents of /tmp while I accessed the page. Well, now something was dumping files there. The timestamps matched entries in /var/log/httpd/access_log, so I at least had circumstantial evidence that Mod_Gzip was running.

More Like This: “/cgi-bin/search.cgi?terms=linux&case=insensitive&boolean=and”>Linux

Building up a new Linux server

I built a simple PC yesterday. The server that hosts this site is just too overloaded, and I was getting ready to order some parts when I spied a Celeron-366 board and CPU sitting in a case under my desk. I had trouble getting it working reliably, but I figured I’d give it one more shot. I’d used Hyundai memory in it previously; I slipped in a stick of Crucial, and it fired right up. Interesting.
I watched the temperature monitor in the BIOS and wasn’t too happy to see the Celeron-366 running at a nearly constant 60 degrees Centigrade. Modern CPUs typically run about 40-50, and each 10 degrees halves life expectancy. So I put a beefier CPU cooler on it, but the chip continued to run at around 60. So I looked up the Celeron at Intel’s site, and found the maximum temperature for Celerons is 85 degrees. So I was running a good 25 degrees below max, and it looked like I wouldn’t get below 60 degrees without active cooling, so I put the cheaper CPU cooler back on. Out of curiosity I overclocked the chip to 550 MHz for a while to see what would happen. The temperature rose to 65 degrees within seconds but stayed fairly constant. So it would appear that running at 550 would be safe, but I stepped back down to 366. I don’t want to overclock a system that I’m depending on for anything. For a few minutes I stepped it down to 330 MHz (using a 60 MHz bus) but it didn’t cool down any more after doing that, and running on a 60 MHz bus would give me a serious performance hit, so I stepped it back up to 366.

I scrounged around looking for parts and found enough to assemble a computer, but not a very good one. Being this close, I didn’t really want to do mail order and wait for parts to come in. So I checked CompUSA’s web site to see if they had anything competitive. Indeed they did–a 50X Delta-brand CD-ROM drive for $20 after rebate. Seeing as CompUSA always has some hard drive for $99-$109, I figured I’d make a trip over there. Sure, I could order a hard drive for $82 online, but a CD-ROM drive would cost me $40, so I’d make up the difference and have something that day.

When I got there I found another special–a 20-gig CompUSA by Maxtor hard drive for $99 with a $50 mail-in rebate. A lady was there examining the drive’s packaging. I picked one up. “4500 rpm, 128K buffer,” I read. “Where’s the speed?” she asked me. I pointed to a sticker on the side. “Wow. And I thought 5400 was slow enough.” She set the drive down and went looking at the drives on the shelf.

I was impressed. That was the first time I’ve ever met someone in person who was concerned about hard drive speed.

Now, about that speed… Yeah, it’s slow (I suspected the package actually contained a Quantum Fireball lct–Maxtor and Quantum have completed their merger) but it’s a cheap way to store a mountain of data and in an emergency it can boot an OS. At $2.50/gig, why not? So I grabbed one. I also grabbed the cheap 50X CD-ROM. I poked around the store a while, didn’t find anything else that caught my fancy, so I checked out. The cashier offered a replacement plan on the two parts. I declined–on stuff this cheap, I’ll just bank that money and take my chances.

The Fireball lct is indeed a poor performer. It would have been a middling performer in 1997, but this isn’t 1997 anymore. But I can live with it. It has one distinct advantage: It’s whisper-quiet. This PC makes very little noise. A fanless microATX box with a VIA C3 processor and a Fireball lct would be nearly silent and still fast enough to be useful. My other PCs sound like wind tunnel fans in comparison to this. And this drive will do for a testbed, if not as a production server–it’ll still be far faster than the P120 I’m using. I’d say there’s a 75 percent chance that system will end up hosting this site. The hard drive isn’t the bottleneck here–my DSL connection and CPU power are. The Celeron will solve the CPU problem, and hopefully with enough power to spare to run Mod_Gzip so that Apache can send compressed data to recent Web browsers, and thus solve the bandwidth issues too.

Anyway, I went ahead and put the 50X CD and Fireball lct in an old AT case, along with the Celeron-366 motherboard and 128 MB of RAM, a Cirrus Logic-based AGP card only a server could love, and a D-Link PCI 10/100 NIC to give myself a very basic meat-and-potatoes system. I noted the CD-ROM drive doesn’t fit as snugly as a Toshiba or an NEC and it definitely looks cheaper (but I’ve seen cheaper-looking drives still), and for 20 bucks I won’t complain. Mandrake 7.2 installed in about 15 minutes, but I found I was too aggressive–Mandrake’s hard disk optimizations and this motherboard’s chipset don’t get along. So I reinstalled with less aggressive settings. I made the mistake of doing a kitchen-sink install so it doesn’t run as well as it should. Basically at this point I need to tear it down and install, I dunno, BIND, Apache, Samba, and the kernel. That’s enough for what I want this machine to be able to do. I should probably look into building a kickstart script to do the job so I don’t have to answer any questions.

But that’s a project for another day.

More Like This: Hardware Linux

Craig Mundie’s infamous speech

I haven’t said anything about Microsoft Executive Craig Mundie’s speech yet. Everyone’s heard of it, of course, and the typical response has been something along the lines of “Now we know Microsoft’s stance on Open Source.”

No, we’ve always known Microsoft’s stance on that. They’re scared of it. Remember the stereotype of open-source programmers: college students and college dropouts writing software in their basements that a lot of people are using, with the goal of toppling an industry giant. Seem far-fetched? Friends, that’s the story of Microsoft itself. Microsoft became an underground sensation in the late 1970s with Microsoft Basic, a programming language for the Altair and other kit computers and later for CP/M. And while we’ll probably never know the entire story of how and why this happened, when IBM decided to outsource the operating system for the IBM PC, they went to Microsoft and got both an OS and the must-have Microsoft Basic. Ten years later, IBM was just another hardware maker–really big, but getting squeezed. Today, 20 years later, IBM’s still a huge force in the computing industry, but in the PC industry, aside from selling ThinkPads, IBM’s a nobody. There may be hardware enthusiasts out there who’d be surprised to hear IBM makes and sells more than just hard drives.

Ironically, Microsoft’s response to this new threat is to act more and more like the giant it toppled. Shared Source isn’t a new idea. IBM was doing that in the 1960s. If you were big enough, you could see the source code. DEC did it too. At work, we have the source code to most of the big VMS applications we depend on day-to-day. Most big operations insist on having that kind of access, so their programmers can add features and fix bugs quickly. If Windows 2000 is ever going to get beyond the small server space, they really have no choice. But they do it with strings attached and without going far enough. An operation the size of the one I work for can’t get the source and fix bugs or optimize the code for a particular application. You’re only permitted to use the source code to help you develop drivers or applications. Meet the new Microsoft: same as the old Microsoft.

Some people have read this speech and concluded that Microsoft believes open-source software killed the dot-com boom. That’s ludicrous, and I don’t see that in the text. OSS was very good for the dot-com boom. OSS lowered the cost of entry: Operating systems such as FreeBSD and Linux ran on cheap PCs, rather than proprietary hardware. The OSs themselves were free, and there was lots of great free software available, such as the Apache Web server, and scripting languages like Python and Perl. You could do all this cool stuff, the same cool stuff you could do with a Sun or SGI server, for the price of a PC. And not only was it cheaper than everybody else, it was also really reliable.

The way I read it, Microsoft didn’t blame OSS for the dot-com bust. Microsoft blamed the advertising model, valuing market share over revenue, and giving stuff away now and then trying to get people to pay later.

I agree. The dot-com boom died because companies couldn’t find ways to make money. But I’m not convinced the dot-com boom was a big mistake. It put the Internet on the map. Before 1995, when the first banner ad ran, there wasn’t much to the Internet. I remember those early days. As a college student in 1993, the Internet was a bonanza to me, even though I wasn’t using it to the extent a lot of my peers were. For me, the Internet was FTP and Gopher and e-mail. I mostly ignored Usenet and IRC. That was pretty much the extent of the Internet. You had to be really determined or really bored or really geeky to get much of anything out of it. The World Wide Web existed, but that was a great mystery to most of us. The SGI workstations on campus had Web browsers. We knew that Mosaic had been ported to Windows, but no one in the crowd I ran in knew how to get it working. When we finally got it running on some of our PCs in 1994, what we found was mostly personal homepages. “Hi, my name is Darren and this is my homepage. Here are some pictures of my cat. Here’s a listing of all the CDs I own. Here are links to all my friends who have homepages.” The running joke then was that there were only 12 pages on the Web, and the main attraction of the 12 was links to the other 11.

By 1995, we had the first signs of business. Banner ads appeared, and graduating students (or dropouts) started trying to build companies around their ideas. The big attraction of the Web was that there was all this information out there, and it was mostly free. Online newspapers and magazines sprung up. Then vendors sprung up, offering huge selections and low prices. You could go to Amazon.com and find any book in print, and you’d pay less for it than you would at Barnes & Noble. CDNow.com did the same thing for music. And their ads supported places that were giving information away. So people started buying computers so they could be part of the show. People flocked from closed services like CompuServe and Prodigy to plain-old Internet, which offered so much more and was cheaper.

Now the party’s ending as dot-coms close up shop, often with their content gone forever. To me, that’s a loss only slightly greater than the loss of the Great Library. There’s some comfort for me: Five years from now, most of that information would be obsolete anyway. But its historical value would remain. But setting sentiment aside, that bonanza of freebies was absolutely necessary. When I was selling computers in 1994, people frequently asked me what a computer was good for. In 1995, it was an easier sell. Some still asked that question, but a lot of people came in wanting “whatever I need to get to be able to get on the Internet.” Our best-selling software package, besides Myst, was Internet In A Box, which bundled dialup software, a Web browser, and access to some nationwide provider. I imagine sales were easier still in 1996 and beyond, but I was out of retail by then. Suddenly, you could buy this $2,000 computer and get all this stuff for free. A lot of companies made a lot of money off that business model. Microsoft made a killing. Dell and Gateway became behemoths. Compaq made enough to buy DEC. AOL made enough to buy Time Warner. Companies like Oracle and Cisco, who sold infrastructure, had licenses to print money. Now the party’s mostly over and these companies have massive hangovers, but what’s the answer to the Ronald Reagan question? Hangover or no hangover, yes, they’re a whole heck of a lot better off than they were four years ago.

I’m shocked that Microsoft thinks the dot-com phenomenon was a bad thing.

If, in 1995, the Web came into its own but every site had been subscription-based, this stuff wouldn’t have happened. It was hard enough to swallow $2,000 for a new PC, plus 20 bucks a month for Internet. Now I have to pay $9.95 a month to read a magazine? I could just subscribe to the paper edition and save $2,500!

The new Internet would have been the same as the old Internet, only you’d have to be more than just bored, determined, and geeky to make it happen. You’d also have to have a pretty big pile of cash.

The dot-com boom put the Internet on the map, made it the hot ticket. The dot-com bust hurt. Now that sites are dropping out of the sky or at least scaling operations way back, more than half of the Web sites I read regularly are Weblogs–today’s new and improved personal home page. People just like me. The biggest difference between 1994 and 2001? The personal home pages are better. Yeah, the pictures of the cat are still there sometimes, but at least there’s wit and wisdom and insight added. When I click on those links to the left, I usually learn something.

But there is another difference. Now we know why it would make sense to pay for a magazine on the Internet instead of paper. Information that takes a month to make it into print goes online in minutes. It’s much easier and faster to type a word into a search engine than to leaf through a magazine. We can hear any baseball game we want, whether a local radio station carries our favorite team or not. The world’s a lot smaller and faster now, and we’ve found we like it.

The pump is primed. Now we have to figure out how to make this profitable. The free ride is pretty much over. But now that we’ve seen what’s possible, we’re willing to start thinking about whipping out the credit cards again and signing up, provided the cost isn’t outrageous.

The only thing in Mundie’s speech that I can see that Linus Torvalds and Alan Cox and Dan Gillmor should take offense to is Microsoft’s suspicion of anyone giving something away for free. Sure, Microsoft gives lots of stuff away, but always with ulterior motives. Internet Explorer is free because Microsoft was afraid of Netscape. Outlook 98 was free for a while to hurt Lotus Notes. Microsoft Money was free for a while so Microsoft could get some share from Quicken. It stopped being free when Microsoft signed a deal with Intuit to bundle Internet Explorer with Quicken instead of Netscape. And there are other examples.

Microsoft knows that you can give stuff away with strings attached and make money off the residuals. What Microsoft hasn’t learned is that you can give stuff away without the strings attached and still make money off the residuals. The dot-com bust only proves that you can’t necessarily make as much as you may have thought, and that you’d better spend what you do make very wisely.

The Internet needs to be remade, yes, and it needs to find some sustainable business models (one size doesn’t fit all). But if Mundie thinks the world is chomping at the bit to have Microsoft remake the Internet their way, he’s in for a rude awakening.

More Like This: Microsoft Linux Weblogs Internet Commentary

How I set up Greymatter for Weblogging

How I set up Greymatter for Weblogging. First things first: I’m sure everyone’s asking how much hardware you need. I’m using a Pentium-120 with 64 megs of RAM, and it’s plenty fast most of the time. It takes a little while to regenerate all the templates, but other than that it’s mostly sitting idle. Any Pentium-class machine should be plenty. I’d be hesitant about using a 486 because the templates will take an awfully long time to rebuild. Remember, Greymatter’s written in Perl, and Perl’s an interpreted language. Interpreters are slow for the same reason emulators are slow–the translation is real-time.
But Greymatter offers advantages. You can control your destiny. You have total control over your site–it’s running on your Linux box. And you’re free from FrontPage’s tyrrany. Did I hear cheers? Most importantly for me, I set the clock. I can set the clock ahead a couple of hours, make my post at 10 p.m., and it’ll be dated the next day. That can only mean… The return of the infamous Farquhar Time Machine. I can start sleeping in again! Or go to work earlier… Hey, I can start sleeping in again!

Anyway, I had the Pentium-120 already configured with Mandrake 7.2, but I discovered Mandrake 7.2 in high security mode doesn’t seem to allow Web traffic from the outside world. So I installed Mandrake 7.2 again in low-security mode. I used a server installation. The only things I really cared about were Apache and Perl, but I didn’t feel like de-selecting everything. Both will be in there by default. I think Perl’s part of the Development group during installation. I’m not sure what group Apache is in. I don’t recommend running XFree86 on your server. Those memory resources are better used for server purposes. Oh, and one last thing: Don’t use DHCP. Give your Web server a local, static IP address.

Once I was up and running, Apache wasn’t running by default, so I dinked around with a cp /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S45httpd so that Apache would start on boot. Then I started Apache by executing /etc/rc.d/rc3.d/S45httpd start. Of course there are plenty of other ways to accomplish the same thing. It was close to midnight and I just wanted the thing open to the world at that point.

Then I pointed my Web browser at the server’s address, and my embryonic Weblog came up.

It won’t happen that way for you, because I already had Greymatter installed and configured before I did all that. In other words, I did things bass-ackwards. You should do it differently. Get Apache working right first. It’s less frustrating that way.

With Apache installed and running, point a Web browser at it. You should see some kind of Apache welcome screen–it’ll vary based on your Linux distro, but it’ll basically be some kind of show-off screen. You see it? Great. You don’t? Get Apache working. How? I dunno. Make sure it’s running, first of all. Type the command pidof httpd. You should get a couple of numbers. Maybe a lot of numbers. If all you get is a blank line, then Apache’s not running. If it’s running but not responding, you’ve probably got a problem with the configuration file. The default configuration file for Apache, unlike the default configuration of a lot of programs, does work reasonably well. The defaults will certainly do for a Weblog. Start with the default config, get it working, then get fancy later.

Working? Great. Open up port 80 on your DSL router and point it to your server’s address. Don’t expose any other ports. This improves security immensely. Now go to www.grc.com and run Shields Up!, then Probe My Ports. Port 80 should be open. If it’s not, either your Linux box is too secure (I wish I could offer some advice there but I don’t know much about un-securing a Linux box) or your router’s not forwarding the port right.

By default, in Mandrake at least, Apache puts its HTML files in /var/www. So, first, clear out /var/www/html. Next, I put all of the Greymatter files in /var/www/cgi-bin. Then I created directories named Archives in both /var/www/cgi-bin and in /var/www/html. The documentation is pretty good about what files need permissions of 755 and what needs 777 (yuck!) and what needs more restrictive settings, like 644 or 666.

As an aside, the archives directory being chmodded to 777 makes me nervous. That means that if I install Greymatter to a server that shares space with someone else, the entire world can see that directory. They can’t manipulate anything inside there as long as the files inside have more restrictive permissions, but I always cringe every time I see anything with 777 permissions. I knew people in college who’d just chmod everything to 777 because then it meant everything just worked all the time. Unfortunately, anyone who had telnet access to the machine could then go into that directory and change anything. I’m not as concerned about that, since I don’t share this PC with anyone. But 777 still doesn’t give me warm fuzzies. Unix ain’t Christianity. In Unix, 666 is ok (but 644 is much better), and 777 is a hacker’s delight, and therefore, pure evil.

After you chmod all your files, assuming your server is at 192.168.1.2, go to http://192.168.1.2/cgi-bin/gm.cgi. Greymatter should pop up. Go to the configuration screen and run down the line:

Local log: /var/www/html
Local entries: /var/www/html/archives
Local CGI: /var/www/cgi-bin
Website log path: /
Website entries path: /archives
Website CGI path: /cgi-bin

Set the other stuff the way you want it. Now hit Save Configuration. Now, immediately run Diagnostics and Repair. This will ensure that all files are where they need to be and permissions set correctly. If it can’t find something, do what you have to to satisfy it.

Now you’re ready to start editing templates and adding entries. You’ll need to exercise your HTML skills for that, or rip off someone’s templates. I didn’t look too hard, but I’m sure there are people out there offering Greymatter templates. If you have to, use an HTML generator to draw what you want, then take the code and put it in the template. I know HTML, so I coded mine by hand. That’s why they’re still sparse. The basic layout is there; I need to flesh it out. And I haven’t entered every template yet myself.

Now, for backups and stats… Backups are easy. I use the command tar -c /var/www >/home/dave/backup.tar. It only takes a second. You can compress the tar file and throw it on a floppy with the mcopy command. Or if Samba’s also configured and running, backup to a network-accessible directory and pull the file over to another machine.

For stats, I use LiveWebStats, but I don’t like it. Any Apache log analyzer will work.

There’s one other issue with Greymatter. It sends passwords plaintext, and thus, they’ll show up in your logs. So don’t make your stats public, at least not your referrers. If you’ll have remote editors, you need to consider that vulnerability–an editor’s password can potentially be intercepted.

Setting up Greymatter is a lot of work, but it’s a one-shot deal. You make your design, then it’s content-driven. Change your design, and it applies to the whole site. Nice. And when you publish, you only publish your new stuff.

But overall, I like Greymatter an awful lot.

Time to come clean

And now the torch
And shadows lead
Were it not so black and not so hard to see
How can it help you when you don’t know what you need
How can anybody set you free?
Would he walk upon the water
If he couldn’t walk away?
And would you
Would you carry the torch
For me?

And what if I gave you the key
To the doors of your design…
Lit the corridors of desire?
Where if not so black
And not so hard to see
What use to you then any fire?

–The Sisters of Mercy, “Torch” (Floodland, 1987)

I don’t bare my soul on my web page too often. Not that I’m unwilling to do that; I made a brief career of baring my soul in a newspaper column a few years ago. This weekend, as I visited weblog after weblog, looking for elements to steal and possibly improve upon, I realized that that’s mostly what people read weblogs for. At least the cool thing about Greymatter is I can make my postings in such a way as to serve whatever audience comes this direction. But I’ve become sidetracked. That happens a lot lately.

Very obviously, something’s bothering me, and I’m trying to figure out what. I see the symptoms. I sat down Friday night to write a manifesto. What I ended up with was a shotgun blast followed by a couple of quotable paragraphs. I get irritated easily. I flew off the handle last week about rankings on the Daynotes.com/org/net portals. I get irritated when editthispage.com crashes. I know what service delays do to readership. I know it far too well.

One of my very best friends is moving to Colorado in a couple of months. He’s talked to me, his boss has talked to me, and I kinda sorta understand where each is coming from but not really. Not that my opinion matters. I think the guy walks on water, but it looks like I’m the only one. Both of them want me to understand, and now he and the members of his Gen X ministry are looking to me to pick up his torch and lead. Given six months, I might be ready to do that. I don’t have six months. Meanwhile, I feel for him. He doesn’t feel like his contributions are valued. All of the communication he’s received indicates–to him at least–that it isn’t. I totally understand the desire to be valued. Maybe that’s a Gen X thing.

Another one of my very best friends is moving to Kansas City as soon as he finds a job there. Then he’s marrying my sister. Not that there’s anything wrong with that. It’s just really weird.

Another friend isn’t making plans to leave town–yet. She’s alienated. She’s just like my other friend I mentioned before–she feels like no one values her or the things she does, and I see her point. Will she leave? It probably comes down to how good the offers are and how mad she is the day they come in. I want to help her but I know there’s nothing I can do.

I probably shouldn’t be writing any of this because yesterday at the grocery store, I struggled to keep a proper grip on my grocery bags. It wasn’t that they were heavy–it was that my hand just wouldn’t do what my mind told it to do. The startled cashier asked if I needed help.

At work, my department’s getting cutback after cutback. I know I’ll be the last one cut. I’m not popular because I’m not a Microsoft lackey and I’m not a yes man. But I solve the problems no one else can solve, and I solve the normal problems much faster than anyone else in my group. I don’t want to be the last one cut, because the number of problems and the expectations of your clients don’t fall just because your staff numbers fell.

So I guess I know where my recent tendency to always assume the worst came from. None of this is insurmountable. Frankly most of it’s similar to things I’ve dealt with before.

At my worst, I fall into overdominant overanalysis, and I caught myself in there today. Then I realized I’ve been doing it all week. Then the question that song raises hit. “How can it help you when you don’t know what you need?” What’s “it?” Who cares? How can anything help you when you don’t know what you need?

Well, now that I see the problems, I know what I need. I can lapse into poor-me, or I can do what needs to be done and learn what I can from it.

Please be patient with me. This isn’t quite like setting up a two-computer TCP/IP network. Or like setting up Linux, Apache, and Greymatter and forwarding port 80 on my router to it, for that matter. Those things are a lot easier.

04/29/2001

Please bookmark http://208.190.221.250 . There’s no guarantee the site will stay there, but Southwestern Bell’s DHCP servers tend to give systems that stay on 24/7 the same IP address over and over. It seems like editthispage has at least one outage a day now. Frankly, I’d rather trust Southwestern Bell’s DHCP servers, scary thought as that may be.

I’ll be making arrangements soon for an address with words in it. New content will be going up over there. I don’t want to give myself even more stuff over here to migrate. That would be kinda like buying new furniture the week before moving day.

For those of you who are curious, I forwarded port 80 on my router to a Pentium-120 running Mandrake Linux 7.2. I’m running the Apache Web server, and Greymatter on top of that. It’s fast. I’ve got a DSL connection, which isn’t the fastest upstream connection, but it’s reasonably quick. Greymatter’s demands aren’t all that high.

Anyway. Time to finish writing up some content, then run some errands.

04/28/2001

Site update: Speaking of miracles, I got Apache and Greymatter working right on my ancient Pentium-120. I haven’t registered yet with any of the dynamic Web address providers, so right now I’m at the mercy of the DHCP server. At the moment, you can get to my experimental site at 208.190.221.250. I tried to make it look a lot like this site. I have successfully connected to it from the outside world (finally).

I’m still playing around with it a lot, but I like the results I’m getting so far.

Miracles. Fair warning: strong religious content ahead. If you already know you don’t want to read something like that, click over to Discussions and read some of that stuff. We’ve been talking about Weblogging software and who knows what else over there. I’ve got smart readers. Their contributions are worth a looksee.

I do still believe in miracles. I want to tell a story here about a minor miracle, but it has no impact without knowing the parties involved. And I’m not going to embarrass them by trying to tell it. I’ll get too many details wrong.

So instead, I’ll repeat something I said in Bible study last night. Yeah, last night. I get together with a bunch of other twentysomethings two Fridays a night for Bible study. Most people assume people my age have no interest in that sort of thing. Remember, the root word of “assume” is “ass.” Those who assume we never had any interest never asked. Yes, we’re the ones who typically wander into the 10:45 service on Sunday morning at 10:50 or 10:55. Frequently we burned out on church when we were younger, and we run so hard all week due to work and other growing responsibilities that Sunday is the only day we can sleep in a little. And it’s hard for us to get our acts together. Plus, the churches worth going to are frequently in neighborhoods we can’t afford to live in yet. So we have to drive a few miles to get there. All these factors combine to make it hard for us to make it on time. But we’ll gladly give God an evening, even if that’s a Friday evening.

Hey, that’s another miracle, isn’t it? Or maybe it’s just plain weird. I don’t care. I like weird. Remember, I listen to the Velvet Underground and The Pixies and The Cure and Joy Division.

Back to what I said. We were praying last night too. Yes, we’re the same people who grew up fidgeting a lot during prayer. Those of us who don’t pray much generally don’t for a couple of reasons. One, in most cases no one ever taught us how. And for another, we frequently haven’t seen enough results of prayer yet to have enough confidence. We’ll do things when we know it works. The subsection of Generation X that comprises our group has seen some results, so we pray. So as we were taking requests last night, I mentioned Kaycee. I’ve never met Kaycee and probably never will. I called her “a friend of a friend,” which I believe is accurate. I talked about the remarkable aspects of her story. I was totally wrong on her age–I said mid-twenties, because her writings display a maturity and a quality that’s rare even in a 29-year-old. She’s 19, which makes her all the more remarkable. She’s been dead twice. Only briefly, but yes, clinically dead, twice, from medical accidents. And she beat cancer, coming back from outlooks that for a while looked very grim indeed. Now she’s dying of liver failure.

At that point, I paused, and then I said something that I’ve halfway thought but never said and I’ve never heard anyone else say. God gave her three major miracles. Well, major in that she got to live longer than it looked. A miracle by definition can’t be explained by science, and I don’t know if her comebacks can be explained by science. I’m not close enough to the situation to be able to talk to the people who’d really know. But to me, three long shots happening to one person is a good indication of Someone Upstairs keeping an eye out for her.

So then I asked the big question. Why doesn’t it seem like anyone is praying for a miracle for her now? God did it three times. To bring her back from certain death again is nothing to God. It requires less effort from Him than picking up a piece of paper laying on the floor takes from us.

And the great guy who was leading the study last night along with his wife said, “Yeah. We don’t ask for miracles enough, even though we know they can happen.”

We asked God’s will, of course. Life, no matter how great, is nothing compared to heaven, so when God calls someone home, it’s cause for celebration for them. When a believer dies, the true victims are those who are left behind, not the believer who’s died. But sometimes God’s not finished yet.

When you love someone, you’ll do things for that person without them asking. Parents generally don’t wait until their kids ask for something to eat before they start fixing dinner. Loving parents give their kids healthy food for dinner instead of ice cream, because they know it’s better for them, even though vegetables sometimes don’t seem like something a loving parent would inflict on anyone.

But think about it. Don’t you like to be asked, sometimes? Don’t you like it when your son or daughter asks you to read a story? Or when your significant other asks a small favor? I’m not talking about nagging or manipulative asking. I’m talking about asking in a sincere, loving fashion. Isn’t that one of the coolest things you’ve ever felt?

I think it’s that way for God. God doesn’t like it when people try to manipulate Him, of course. But when someone asks for something sincerely and lovingly, I think He derives pleasure from that. He still doesn’t always say yes (just like you’re not going to hand your car keys over to your six-year-old, no matter how sincere and loving the request), but frequently He does.

Frequently enough that yes, I believe in miracles.

04/27/2001

Well, I just wasted 45 minutes stumbling into and through a brawl on a mailing list. I’m really sick of people arguing over petty technicalities. I should have written something worth your time to read, or booted up one of my Linux boxes to see if by some chance I forgot to disable Apache on one of them and tried testing Greymatter, or better yet, answered some of my growing pile of mail.

I think I’d see fewer flames if I walked into an Apple users’ group meeting wearing a Windows t-shirt. Now I remember why I usually write about computers. At least being controversial and outspoken in that field is usually funny. (Where’s my copy of OS/2?)

Yesterday I complained about not having any time anymore. I think it’s because I waste too much of the time I do have on things like mailing lists.

On a more pleasant note, thanks to those of you who’ve written in with encouragement and suggestions on Weblogging software. At least that’s not a waste of time.

04/14/2001

Mailbag:

IE Synchronize; ASPI Error

One night last week, I had a beer with a good friend. He invited me to join him for dinner; I always learn a lot from him (I hope it’s mutual) and it seemed like he needed to talk, so while I’d already eaten, I joined him for a beer.

Hopefully I can say this without betraying any confidences. There are two people who mean a great deal to him; I know both of these people, so I understand why. In their minds, he let each of them down. In his mind, there wasn’t much he could have done differently; there certainly wasn’t much of anything he could have done better. He did his best, and in these instances, his best wasn’t good enough. In the time since, they’ve let him down. The question is, did he get their best? He doesn’t know. And it hurts.

It always hurts when a friend or someone else you really care about lets you down. When someone you don’t like does something stupid to you, it hurts, but let’s face it. You don’t expect anything else from those kinds of people. What more can they do to you? They continually try to show you what more they can do, but usually it’s not much. It’s lost its impact.

But like Nick Carraway in The Great Gatsby, who, at the end of a day whose events particularly repulsed him, realized it was his 30th birthday, these last couple of days are significant. Thursday was the holiday known as Maundy Thursday. Some 1,972 years or so ago (no one’s ever precisely pinned down the day) on Thursday night, the most infamous letdown by a friend in history took place. A young Jewish rabbi was praying on a hilltop with his three closest friends trying to keep watch despite total exhaustion. An armed mob of his political enemies ascended that hill, led by another one of the rabbi’s closest friends. Judas Iscariat walked up to the man he’d followed and dedicated his life to for the better part of the past three years and forever tainted a sign of love and respect. With a kiss, he pointed the target out to the mob. The result of that betrayal, of course, was the arrest, trial and execution of Jesus Christ.

But I’m convinced that Judas’ kiss hurt more than the crucifixion. The Pharisees and the Sadducees were nothing more than self-righteous scum who couldn’t stand seeing someone understand the things they didn’t. This was to be expected. And the Romans? Well, what else do you expect from a spineless governor under the thumb of a totalitarian dictator? He didn’t get his office by doing the right thing, after all. But Judas… Judas was capable of so much better. Jesus knew it, and the 11 knew it. They’d all seen him do great things. Those religious leaders were no loss. They were lowlives, doing what lowlives do. Judas showed flashes of brilliance, then he flamed out. The other 11, who were just like him, went on to change the world. Judas could have been one of them. But he chose another path, even though he knew better.

Or maybe the significance of last week means nothing, because to me it seems a sacrilege to compare 11 people who changed the world to a ragtag band of people who keep online journals. Or maybe the awkwardness is perfect, because some of us have been attaching too much importance to it. Maybe that puts it in perspective a little.

At any rate, we’ll never change the world, but for whatever reason, there are people who have high expectations of the crowd known collectively as Daynoters. Maybe it’s because of the difficulty of doing what a Daynoter does–getting up each day and having something to say. It’s hard to write something new every day. And a lot of the Daynoters not only write something every day, but they write something consistently thought-provoking, or entertaining, or informative, or useful, nearly every day. And occasionally, someone writes something that manages to be all five.

It’s hard to do. We all know it’s hard to do. Usually we just settle for writing something, anything, each day. We write our stuff, then we go wander around and see what some of the others have to say. Invariably, there’s a jewel out there somewhere. Someone exceeds expectations. And maybe what they write is something we can relate to, so we feel close to them, even though in most cases it’s someone we’ve never met in person and in many cases it’s someone we’ve never even spoken with on the telephone. Even still, expectations rise.

Most of us are computer professionals or hobbyists, and in this field, wild and hairy problems breed. They’re everywhere. When one of us gets surrounded, we post something to the backchannel mailing list. Invariably, someone’s been there before, seen it, conquered it, and has guidance to offer. Again, expectations rise.

I would argue that in some cases, we may expect more of a fellow daynoter than we would a close friend. I know my friends’ faults. I spend enough time with them that it’s impossible not to know them. I don’t know any of the Daynoters that well. I know Dan Bowman better than any of them, but I don’t know his faults, let alone those of the other 29-some people on the Daynotes mailing list. From where I can see, his biggest fault is drinking too much Pepsi. But he’s the exception. At least I know he has to drink Pepsi. I’ve got some indication the guy’s human. What do I have of these other guys? All I know is they know more than I know, write books that sell more copies than mine do, write for bigger-circulation magazines than I do, get more Web traffic than I do… It’s easy to start thinking of them as larger than life.

And then the talk strays from computers… I like talking about computers, because there’s almost always a right answer, and it can be proven conclusively. If you want to boot off an IDE hard drive, you plug it into IDE0 and set it as master. Period. End of argument. Anyone who disagrees with it goes off and quickly makes a fool of himself. Sure, there are holy wars, like AMD vs. Intel, or Apple vs. 98% of the market. But you can do something even with those arguments. No sane person would use a non-Intel CPU in a mission-critical system? I can respond to that. My Cyrix-based PC was only up to producing a 292-page book. In the end, it turned out that Cyrix CPU was a whole lot more reliable than my wrists were.

When the talk turns to political or social issues, there are few slam dunks. Is the American way of doing things demonstrably better than the European way? The majority of Americans think so. The majority of Europeans do not. And professional politicians, having no answers, frequently fall into logic traps, or, worse, finger-pointing and name-calling and other things no human being over the age of 15 should fall into. We turn away in disgust when politicians do it. And when the world’s problems show up on the Daynotes backchannel, and the great minds can’t slam-dunk them?

Well, it turns out they’re human too. And soon, the same traps come up, and we’re disgusted. But it’s worse than seeing Dick Gephardt roll around on the floor and throw a temper tantrum. We expect that of Dick Gephardt, because we already know he’s a finger-to-the-wind, unintelligent, uncreative individual who can’t think for himself who’s in politics because he’d be a total failure in the real world. He’s not worthy of respect. But then we see people we know, people who’ve earned our respect, reduced to that…?

Sometimes when that happens, we join in. If we agree with them, we try to help them out. If they’re attacking someone we agree with, we lob a grenade.

Or we can get disgusted and ignore it. All of our keyboards do have Delete keys, and a lot of our delete keys are starting to wear out from excessive use these past few days.

Or we can get disgusted and try to stop it. Or we can get disgusted and leave the community.

On Tuesday, the Daynotes.com mailing list shut down to mixed reactions. In some cases, our disgust with one another turned into disgust with the one who would try to exercise authority over us. Personally, I thought it was the only sane thing to do–close things down, let things cool down for a time. That turned out to be the right decision. Reality hit. People started realizing that name-calling wouldn’t solve all the world’s problems, and that a valuable resource was suddenly gone.

I don’t know how many people know this, but I had a run-in with a fellow Daynoter back in January, 2000. You can ask my sister about it, because she was visiting when it happened. She and I lived in the same house for about 18 years, so she’s seen me mad, but never madder than I was that night. I was ready to chuck it all and leave the community then. It was bad enough that I had gender in common with this guy, let alone had my name on the same Web page as his. I didn’t want people to associate him with me. But my sister advised me to sleep on it, say as little as possible, do as little as possible, and sort it out after I’d had time to cool down. I called a friend who knew both of us and got his counsel. With their help, I determined that leaving wouldn’t solve anything. So I didn’t. He and I haven’t spoken since. And that’s fine. We couldn’t resolve our differences, but at least we didn’t let it become a war.

Late on Thursday, the Daynotes.com portal was also shuttered. I didn’t see any point in that measure. It was more a symbolic gesture than anything else, and as far as I can tell, the only thing it accomplished was making a lot of people as mad as I was that night in January 2000. I was mad too. Chris Ward-Johnson and I both published that address as a resource for people to reach us and others like us. Now we look like just another fly-by-night dotcom.

And as soon as the thought had occurred to me that Daynotes.com’s absence might be intentional, rather than just a flipped bit in Tom Syroid’s Apache configuration file, the coup occurred. I had notification in my inbox that I’d been subscribed to the Daynotes mailing list at Bobwalder.com. I had messages in my Daynotes folder–mail from the new backchannel, all thanking Bob for his efforts. Then I had notification that Bob had registered the domain name daynotes.org and he expected it to be active come Monday. In the meantime he offered an alternative portal for people to use…

And the talk on the backchannel? It was mostly like old times. Lots of well-deserved thanks and congratulations headed Bob’s direction. A little patching up. And some traffic was exactly like old times. Jonathan Hassell wrote in asking for recommendations for a hotel in New York. Then I made a rare appearance, asking my cohorts across the Atlantic whether Murphy’s Law meant the same thing there as it does here, because I didn’t know and I wanted to invoke it in the Shopper UK article I was writing yesterday. The result? Jon got hotel advice, and I got a brief, “Well, over here it means ‘anything that can go wrong will go wrong…'” from the Good Dr. K.
This has dragged on far too long, so I’ll conclude with this. Three years ago this past week, I had a life-changing experience. I spent a week in a big room 120 miles from home with about 50 people I didn’t know from Adam. And I learned something in that room. Friends aren’t people who like you because of the superhuman qualities they see in you. Our group spent close to 90 hours together that week, and trust me, we didn’t see much in the way of superhuman qualities in one another. Indeed, mostly we saw the very worst that 50 people can offer the world. We could have held it against one another. But those 50 people continued to stand by and admire one another. I never did figure out if that was in spite of what we knew about one another, or precisely because of what we knew about one another.

I’ll never, ever forget that life lesson. True friends learn how to work around their weaknesses and disagreements. It’s hard sometimes, but even at its worst, it’s a whole lot easier than living in isolation.

Mailbag:

IE Synchronize; ASPI Error

04/13/2001

Dave’s utility. I spent some time yesterday writing a short utility to assist in creating multiboot systems. It’s not ready yet, but I’ll let the world know when it is. The source code is about 6K in length so it won’t be a monster, but I expect the executable to bloat up to 50-60K. It’s written in QuickBasic, since the Microsoft Basics of old were my best language for a long time, and still the language I remember best. But I seem to be missing some pieces of QuickBasic, so I may have to rewrite it.

It’s simple enough that I probably could even write the thing in assembler, but I’m not that much of a glutton for self punishment. 🙂

I used to really enjoy writing short, useful utilities. These days I’m in that mood maybe once a year.

Daynotes.com. I don’t know what’s going on there, if it’s technical difficulties or something else. I am going to assume it’s either technical difficulties or an oversight. What I do know is that the Apache welcome page that shows up when you go there isn’t what most people are expecting. Bob Walder has set up a portal at www.bobwalder.com/daynotes that you can use in the interim.

Outta here. Today’s Good Friday, so I have the day off. I need to work on an article for Computer Shopper UK.

Partition table recovery. I thought I’d posted this stuff here before, but I can’t find it. So here goes. If you blitz your partition table, here’s what you want to get it back.

MBRWORK: http://www.webdev.net/orca/mbrwork.htm (easier to use)

TestDisk: http://www.esiea.fr/public_html/Christophe.GRENIER/ (more complete)