Help! I do tech support for everyone I know! (Version 1.1)

Here’s an interesting dilemma: How do you avoid becoming the primary technical support contact for all of your friends and family?

(If this sounds vaguely familiar, yes, this is a revised version of something I wrote a year and a half ago.)This was a question Richard “Rich Job” Jobity asked two Christmases ago. I thought it was an unbelievably good question. I had to think about the answer for a while. That label fit me for a very long time. Sometime within the last couple of years it stopped, but I never knew exactly why. He made me think about it, and I found I’d done some interesting things on a subconscious level.

There was a time when I didn’t mind. I was 16 and still learning, I had some disposable time on my hands, and, frankly, I enjoyed the attention. You can learn a lot by fixing other people’s computers. It can also be a good way to meet lots of interesting people. And I used at least one of those friends as a reference to get my first three computer-related jobs. But over time, my desire changed.

I think a good first step is to identify exactly why it is you don’t want to be the primary technical support contact for all your friends and family.

In my case, I spend 40 hours a week setting up and fixing computers. And while I definitely spend some time off the clock thinking about computers, I also definitely want to spend some time off the clock thinking about something other than computers.

I have a life. I have a house to take care of, I have meetings to go to, and I have a social life. Not only that, I have bills to pay and errands to run, and physical needs to tend to as well, like cooking dinner and sleeping. And people get really annoyed with me for some reason if I don’t ever wash my clothes.

I’ve been in that situation. Once I had a friend calling me literally every night for a week with some new computer problem and keeping me on the phone for several hours a night while we tried to sort them out. A couple of years before that, someone in Washington was running a computer company and using me as his primary (unpaid) technical support, often taking an hour or two of my day, and getting upset if more than about 12 hours passed without me responding.

I think it’s perfectly understandable for any reasonable person to not like situations like this. So here are my tips for someone who wants to head off that kind of a problem.

Have realistic expectations on all sides. So the first step is to make sure your friends and your family understand that you have responsibilities in life other than making sure their computers work. You’ll do your best to help them, but it’s unrealistic to expect you to drop everything for a computer problem the same way you would drop everything for a death in the family.

Limit your availability. Don’t help someone with a computer problem while you’re in the middle of dinner. You’ll be able to concentrate better without your stomach growling and you won’t harbor resentment about your dinner getting cold. Have him or her step away from the computer and go for a walk and call back in half an hour. The time away from the computer will clear his or her mind and help him or her better answer your questions. Don’t waver on this; five-minute problems have ways of becoming hour-long problems.

Here’s a variant of that. I had a friend having problems with a Dell. She called Dell. She got tired of waiting on hold. “I know, I’ll call Dave,” she said. “Dave’s easier to get ahold of than this.”

She may have tried to call me, but last week I was everywhere but home, it seemed. She didn’t leave a message, so I didn’t know she’d called. The moral of the story: Don’t be easier to get ahold of than Dell. Or whoever it was that built the computer or wrote the software.

What if I’d been home? It depends. If I’d been home and playing Railroad Tycoon, I’d be under more obligation to help a friend in need than I would be if I were home but my girlfriend was over and we were in the middle of dinner or a movie. The key is to remember your other obligations and don’t compromise on them.

Sometimes that means not answering the phone. In this day and age when 50% of the population will answer their cellphone even if they’re sitting on the toilet, this is heresy. I usually make a reasonable effort to answer the phone. But if I’m in the middle of something, I won’t. At least one time when I made no effort to answer the phone when my girlfriend was over, she took it as one of the biggest compliments she ever got. (That relationship didn’t last, so maybe I should have answered the phone, but hey, at the time I didn’t feel like it.)

Whoever it was didn’t leave a message. If it’d been important, either they would have left a message or they would have called me back. (Maybe it was the friend who’d thought of using me as a substitute for Dell tech support. Who knows.)

Don’t do a company’s work for them. If someone’s having a problem with a Dell, or having a problem dialing in to the Internet, I stay away from the problem. If a Dell is having hardware problems, the user will have to call Dell eventually anyway, and the tech will have procedures to follow, and there’s no room in those procedures for a third-party diagnosis. Even if that third party is a friend’s cousin’s neighbor who supposedly wrote a computer book for O’Reilly three years ago. (For all the technician knows, it was a book about Emacs, and you can know Emacs yet know a whole lot of nothing about computer hardware, especially Dell hardware. But more likely he’ll just think the person’s lying.) For the record, when I call Dell or Gateway or HP, I jump through all the same stupid hoops. Even though I’ve written a computer book and I’ve been building and fixing computers my entire adult life.

And if someone can’t dial into an ISP, well, I may very well know more about computers than the guy at the ISP who’s going to pick up the phone. I may or may not be more intelligent and and more pleasant and more articulate than he is. But the fact is, I can only speculate about whatever problems the ISP may be having. And seeing as I don’t use modems anymore and haven’t for years, I’m not exactly in a good position to troubleshoot the things. Someone who does tech support for an ISP does it every day. He’s going to do a better job than me, even if he’s not as smart as I am.

Know your limits. A year ago, a friend was having problems with OS X. She asked if I’d look at it. I politely turned her down. There are ideal circumstances under which to try to solve a problem, but the moment you’re seeing the OS for the first time isn’t it. She called Apple and eventually they got it worked out. It’s a year later now. Her computer works fine, we’re still on speaking terms, and I still haven’t ever seen OS X.

Around the same time, another friend toasted her hard drive. I took on that challenge, because it was PC hardware and she was running an operating system I’d written a book about. It took me a while to solve the problem, but I solved it. It was a growth opportunity for me, and she’s happy.

And this is related to the next point: If you’re not certain about something, say so. It’s much better to say, “This is what I would do, but I’m really not sure it’s the best thing to do” than it is to give some bad advice and pretend that it’s gospel. Get your ego out of the way. There’s no need to try to look good all the time. No matter what you do, you’ll be wrong sometime. And one of the easiest ways to be wrong is to run your mouth when you don’t know what you’re talking about.

Limit your responsibility. If your uncle has a six-year-old PC running Windows 95 and ran out and bought a USB-only printer because it was on sale at Kmart and now he’s having problems getting it running and he never asked you about any of this, how much responsibility should you be willing to shoulder to get that printer running?

I’m inclined to say very little. It’s one thing to give some bad advice. It’s another to be dragged into a bad decision. If the only good way to get the peripheral running is to buy Windows XP and wipe the hard drive and install it clean, don’t let that be your problem.

Don’t allow yourself to be dragged into giving support for free software downloaded off the ‘Net, supercheap peripherals bought from who-knows-where, or anything else you can’t control.

You can take this to an extreme if you want: Partition the hard drive, move My Documents over to the second partition, and then create an image of the operating system and applications (installed on the first partition, of course). Any time you install something new, create a new image. When your friend or relative runs into trouble, have him or her re-image the computer. He or she can reinstall Kazaa or whatever notorious app probably caused the problem if desired, but you can disclaim responsibility for it.

Which brings me to:

Disclaim all responsibility for poor computer habits. Gatermann and I have a friend whose brother repeatedly does everything I’d do if I wanted to set out to mess up someone’s computer. He downloads and installs every gimmicky piece of free-with-strings-attached software he can find, turning his computer into a bevy of spyware. He runs around on Kazaa and other file-sharing networks, acquiring a busload of who-knows-what. He opens every e-mail attachment anybody sends to him, amassing a large collection of viruses. He probably does things I’ve never thought of.

Gatermann installed antivirus software on the computer, and we’ve both run Ad-Aware on it (if I recall, one time I ran it I found 284 instances of spyware). Both of us have rebuilt the system from scratch numerous times. The kid never learns. Why should he? Whatever he does, one of Tim’s friends will come over and fix it. (I guarantee it won’t be me though. I got sick of doing it.)

Some good rules to make people follow if they expect help from you:
1. Run antivirus software and keep it current. This is a non-negotiable if you’re running Windows.
2. Stay off P2P networks entirely. Their clients install spyware, and you know about the MP3 buffer overflow vulnerability in WinXP, don’t you? Buy the record and make your own MP3s. Can’t afford $17 CDs? Buy them used on Half.com then.
3. Never open an unexpected e-mail attachment. Even from your best friend. It’s trivially easy to make e-mail look like it came from someone else. If someone who knows both of you got a virus, you can get virus-infected e-mail that looks like it’s from that friend.
4. If you don’t need it, don’t install it. Most free Windows software comes with strings attached in the form of spyware, these days. If you don’t want to pay for software, run Linux.
5. If you must violate rule 4, run Ad-Aware religiously.

Don’t take responsibility when someone asks your advice and then refuses to follow it. That unpaid gig doing tech support for a computer company in Washington ended when he had a computer that wouldn’t boot. He sent me the relevant files. I told him how to fix the problem. The next day he complained it didn’t help, and sent me the files again. It was obvious from looking at the files that he didn’t do what I told him to do. I called him on it. He got defensive. He caught me on a bad day and I really didn’t want to hear it. The next day he sent me a long list of questions. I answered the first two or three, then said, “Sorry, I’m out of time.”

I never heard from him again. But at that point it was just as well. Why help someone who doesn’t respect you enough to follow your advice?

A less extreme example was when an ex-girlfriend’s younger brother refused to give up Kazaa. Every time I fixed the computer, he reinstalled Kazaa and one problem or another came back. Finally I told him, her, and their parents that I’d fixed the problems, but they were going to keep coming back as long as he used Kazaa. Ultimately they decided that free music was more important than a stable computer and staying within the law, but that was their decision.

Have other interests besides computers. My former high school computer science teacher took me aside a few years ago and asked me if it wouldn’t be great if someday people asked me as many questions about God as they were asking me then about computers.

I have relatives who know I’m into Genealogy, and they know that I’ve traced one branch of my family through William the Conqueror and all the way back to before the time of Christ. But some of them don’t know I fix computers for a living.

Some nights when I come home from work, I don’t even turn a computer on. I go straight to the basement, plug in my transformers, and watch a Lionel train run around in circles. I might stay down there all night except for when the phone rings (there are no phone outlets in my basement) or for dinner. Ronald Reagan used to do that. He said it helped him relax and take his mind off things. My dad did too. It works. And no, there’s no computer hooked up to it and there won’t be. This is where I go to escape from computers.

So I don’t find I have the problem anymore where people only want to talk to me about computers. Balance is important. Don’t let your computer knowledge keep you from pursuing your other interests.

Charge money. I don’t charge my family members, but with very few exceptions, I don’t do free technical support. I do make sure I give friends, acquaintances, and neighbors a good deal for their money. But if helping them is going to keep me from mowing my lawn, or if it’s going to force me to cancel plans with my girlfriend, then I need to be compensated enough to be able to pay someone else to mow my lawn, or to take my girlfriend out for a nice dinner that more than makes up for the cancellation.

It’s all about balance. So what if your entire block has the most stable computers in the world, if your grass is three feet tall and you have no friends and no significant other because you can’t make time to meet anyone for dinner?

I’ve had employers bill me out at anywhere from $50 to $75 per hour. Under ideal conditions, where they drop the computer off with the expectation of getting it back within 2 weeks, I bill myself out at significantly less than that. But for on-site service at odd hours, I believe it’s perfectly appropriate for a computer professional to bill at those kinds of rates.

Even if you’re a hobbyist, you need to be fair to yourself. Computer repair is a skill that takes longer to learn than mowing lawns, and the tools required are every bit as specialized and every bit as expensive. In St. Louis, many people charge what amounts to $25 an hour to mow a lawn.

And? This doesn’t mean I never get computer-related phone calls. One Sunday when a family member called me with a noisy fan in a power supply, I found him a cheap replacement. I’ve fixed girlfriends’ computers before. The last computer I built was a birthday present for my current girlfriend.

But I’m not afraid to answer the phone, I don’t find myself giving people longshot answers just to get them off the phone long enough for me to go somewhere or start screening my phone calls. And I find myself getting annoyed with people less. Those are all good things.

Dude, that Dell\’s, like, totally bent!

I fought with everything I had to get something else. So did one of my coworkers and my boss. But it was for naught. Late on Thursday afternoon, a pile of Dell servers showed up outside my office.

I did the only sensible thing to do: I ignored them until Friday morning.

I didn’t like how the box was taped. That shouldn’t make much difference. But what I really didn’t like was what happened after I pulled the PowerEdge 1750 out of the box.

It bent.OK, maybe “flex” is a more appropriate word. I’m used to working with HP servers. They have a one-piece chassis. Although their 1U offerings weigh about the same amount as these Dells, when you pick them up, they remain straight.

I think that’s a useful feature for something you want to shove into a rack.

Why, of course I suggested drugs as a possible explanation. I can’t let the obvious joke slip by.

I was happy to see that these servers, unlike the last Dell I worked on, actually use a ServerWorks chipset rather than a cheap Intel desktop chipset. The Intel stuff is cheaper, but then all you’ve really gotten is a Dell Dimension in a rackmount case. In all honesty, I’ve run Linux on Intel and Sis and Via chipsets and turned those systems loose as servers, but when you’re spending money rather than repurposing systems, you should spend the money to do the job right.

I was less happy when I went to install Linux on it. The standard Debian 3.0 wouldn’t see it. It was the first time I’d found a system that Debian 3.0 wouldn’t boot.

A Google search quickly turned up a custom Debian boot CD for Dells, which I used to do the installation. Once installed, we compiled a custom kernel so the system would work right. I used to routinely recommend that. That was before I had 125 servers to stay on top of. These days I’m more inclined to use the standard kernel whenever I can–that way, when a vulnerability shows up, I can just apt-get update and reboot, rather than having to compile a kernel and then reboot.

I’m not in love with HP’s service–that’s a story in and of itself, but the short version is that the last time I used their 4-hour-response-time service, it took a day longer than regular warranty service would have taken–but HP’s servers sure make my life less complicated than Dell’s do.

Umax scanner drivers

In the past I have recommended Umax scanners because Umax has a better history than HP of providing drivers for newer operating systems.I’ve heard from various sources (including the forums on driver sites) that Umax US isn’t providing drivers for free anymore. I guess the trick is knowing where to look. If Umax US isn’t providing the driver you need, Umax UK’s driver page probably does have it. (Remember, Windows 2000 drivers often work in Windows XP.)

I guess I’ve never noticed this because I’ve always tended to download the drivers from the UK.

Buy, don\’t build, enterprise servers

Steve sent me some questionable advice he found online–basically, someone advocating that you build your high-end servers rather than buying them, but admitting that it’s difficult for someone to build a $20,000 server and still be able to afford to maintain the thing.

There’s a solution: Buy it.This is the opposite of the best advice for desktops (although I increasingly tell people to just buy their computers because you don’t really save any money by building), but there are lots of very good reasons for it.

First and foremost is maintainability. The last time something went wrong with one of the HP servers at work, an LED on the front case came on before the problem became critical. Pop open the case, and an internal LED next to the failing component is lit up. Does your off-the-shelf motherboard have that feature? It may or it may not.

How does hot-spare memory sound? It’s kind of like RAID. You buy identical DIMMs to put in the system, but you buy one extra one, which goes into a specially designated slot. When a DIMM starts to fail, the system switches over to the hot spare. In the case of the mid-range HP servers, you can even open the case up, remove the failing module, and replace it, without powering down.

Of course you want your server to have RAID, and use hot-pluggable drives, so a failed disk doesn’t mean downtime. All but the very cheapest commercially-built servers have that feature from the factory.

But if you really have a budget of $20,000 per server, you shouldn’t even mess around with local storage. Buy some kind of a Storage Area Network instead. Basically, it’s a large bank of disks that connects to any number of servers. Some use a Fibre Channel connection, while others just use an Ethernet connection. Then you buy disks, slap them in the SAN, and configure the SAN to split the storage up between the servers. Ever run into a situation where you need 40 gigs of storage, and one server has 10 gigs free and one has 30 gigs free, but there isn’t much of anything you can move around to consolidate that free space? The SAN eliminates that. You can add one monster 300-gig disk to an array and split that storage up however you want. And one hot spare protects the entire array–no more need to buy one hot spare for every server on your network. On a big network (40 servers), that alone can pay for the SAN.

Finally, as far as spare parts go, a company ought to keep a couple of spare hard drives around for the times when a disk in a RAID array or SAN fails. But you put the servers on a maintenance agreement with someone like HP, IBM, or EDS, so that when anything else fails, that company comes out and replaces parts with its inventory. Outsource your server organ donor bank. You’ll save money, not just on the parts themselves, but also on physical storage space.

When I can get all of these features (except for the SAN) in an HP Proliant server that costs about $3,000, there’s no point in my employer wasting time building its own servers.

Advice on troubleshooting and buying printers

I gave some out-of-character advice this week when someone came calling looking for help troubleshooting an inkjet printer.

Essentially, I told him that unless the problem turned out to be a problem with his cabling (it was–his USB hub had gone bad), he’d be best off just buying a new printer.

Read more

Beware the “flat screen” scam

I was just pricing out some parts for the pending Compaq Presario upgrade when I remembered the latest scam–well, it’s not technically a scam, but it’s definitely deceptive advertising. Many stores offer a bundle with a low-end PC and a 17-inch “flat screen” for an unbelievable deal, like $499. Chances are, if you read this site, some relative of yours is going to be asking about that, if they haven’t started asking already. And I’m pretty sure you know that right now $399 is a pretty good deal for a 17-inch LCD flat panel alone.
Needless to say, that 17-inch “flat screen” isn’t an LCD. It’s a CRT. Sometimes they even use camera tricks in the picture to try to make the CRT look like an LCD.

In all truthfulness, that 17-inch monitor being advertised as a bargain flat screen probably does have a flatter screen than whatever your relative is using right now. And CRTs continue to improve steadily. But it’s still a CRT, and it’s probably not what your relative is looking for.

Tell your relatives to read the fine print and look for an LCD. And tell them to keep in mind nobody’s giving away LCDs right now, because LCDs are one of the very few things in the computer field that have held steady demand for the past couple of years. At least one consumer electronics chain used a 14-inch Mag Innovision LCD as a Black Friday special, pricing it at $99 after rebates the day after Thanksgiving. I expect that deal will reappear once or twice in the coming year, but a 14-inch LCD gives the same screen real estate as a 15-inch CRT. It’d be great for a second computer–I’ll eventually buy one to keep in my study, where a small and quiet computer is ideal–but it’s probably not what LCD bargain hunters are looking for either.

Oh, and speaking of the Presario, if you’re looking for a replacement power supply for it on the cheap either for a motherboard upgrade or because one has failed, the product you want is the Foxconn Allied ATX200SFX, priced at $19 at Newegg.com. It’ll also fit an eMachine and the small-form Gateway and HP PCs. The trick to recognizing an SFX power supply is to look at how it’s bolted into the chasis. If it’s held in by three screws, with two on one side and a third on the other side towards the middle, it’s probably an SFX form factor. A lot of smaller ATX power supplies use four screws. So ask your vendor lots of questions, and buy as much wattage as you can get in whatever size you’re stuck with.

Thinking on Compaq Presario upgrades

I’m going to be upgrading a Compaq Presario 7360 here pretty soon. It should be fun to shatter some of the myths surrounding recent Compaqs. It’s a standard microATX PC, nothing more, nothing less. With a $20 replacement power supply (Newegg.com calls the form factor used by low-end eMachines, Compaq, HP, and Gateway PCs “mini ATX”), it’ll handle any modern microATX motherboard.

Read more

More tips for playing with toy trains

As you can probably guess from the length of time between postings, the Lionel has proven to be quite the distraction. A welcome one, but definitely a distraction.
I’ve picked up a few tricks along the way.

Clean old plastic buildings quickly. My buildings had accumulated a decade or so of dust and grime sitting in a box, and they probably weren’t clean when they were boxed either. The solution? Put a dab of hand soap and a small amount of laundry detergent in a bucket, then fill it with warm water. Just put in enough soap and detergent to make some suds. Disassemble the buildings and drop them in. Let them soak for a few minutes, then scrub with a toothbrush. They’ll look almost new. Note: Don’t do this if they have decals, or if you deliberately weathered the buildings. If you don’t know what weathering means, then go get your bucket.

Cleaning severely rusted track. To clean severely rusted track, give it a thrice-over with a drill’s metal brush attachment. It’ll mark the track up badly, but it’ll clean it up fairly nicely and may allow a dysfunctional train to run again. Don’t worry about ruining a prized collectible; used Lionel track sells for 25-50 cents a section at a hobby shop. This also means you shouldn’t put a lot of time and effort into salvaging rusty track–especially considering the new stuff sells for a dollar.

Lubricate your cars’ wheels for smoother operation. Unlike the engine, WD-40 is fine for this. Put a small quantity of oil into a bottlecap, then use a toothpick to apply it anywhere that the axles come in contact with other parts of the car. After doing this, your train will run more quietly and smoother, and your locomotives will be able to pull approximately 30% more weight, so you can feel free to add another car or two.

Buildings on the cheap for the nether regions of your layout. If you have some kind of structured drawing program (Adobe Illustrator, KDE Kontour, Macromedia Freehand, or even something like Visio) you can draw the basic shapes of buildings, print them out on heavy card stock, and cut them up and glue them together. Get started by taking measurements from an existing building and use that as a guide to help you learn the height of a door, window, and floor. Export the file to some kind of raster format (JPG or PNG) prior to printing and use GIMP or Photoshop to add textures if your drawing program doesn’t support it. For added realism, cut out the windows and glue in pieces of transparent plastic (kitchen plastic wrap is fine but cutouts from clear plastic bags are nicer). It doesn’t take any longer than assembling and painting a plastic model, the results are surprisingly convincing–the only advantage plastic offers is more realistic texture–and you’ll never beat the price. And if something happens to the building, you can always print out and reassemble another one.

Polystyrene sheets for scratchbuilding plastic models on the cheap. Once you’ve built some paper models and want to move up to building plastic buildings from scratch, you can pay $7 for a small sheet of polystyrene at a hobby shop, or you can buy 88-cent Beware of Dog signs from the nearest hardware or discount store. It’s the same stuff, only bigger and printed on one side. Put the printed side on the inside of the model and cover it with paper if you want to keep your secret safe. If you live near a big city, I’ve heard that plastic distributors sell big 4’x8′ sheets of polystyrene for about $7. A square foot of material makes for a good-sized building, so a 4×8 sheet will probably yield more than 30 buildings.

Easy and secure remote Linux/Unix file transfers with SCP

Sometimes you need to transfer files between Linux boxes, or between a Linux box and some other box, and setting up Samba or some other form of network file system may not be practical (maybe you only need to transfer a couple of files, or maybe it’s just a one-time thing) or possible (maybe there’s a firewall involved).
Well, you should already have SSH installed on your Linux boxes so you can remotely log in and administer them. On Debian, apt-get install ssh sshd. If you’re running distro based on Red Hat or UnitedLinux, you may have a little investigative work to do. (I’d help you, but I haven’t run anything but Debian for 2 or 3 years.)

The cool thing about SSH is that it not only does remote login, but it will also do remote file transfer. And unlike FTP, you don’t have to stumble around with a clumsy interface.

If you want to transfer files from a Windows box, just install PuTTY. I just downloaded the 240K PSCP.EXE file and copied it into my Windows directory. That way I don’t have to mess with paths, and it’s always available. Make sure you’re downloading the right version for your CPU. The Windows NT Alpha version won’t run on your Intel/AMD/VIA CPU. Incidentally, Putty.exe is a very good Telnet/SSH client and a must-have if you’re ever connecting remotely to Unix/Linux machines from Windows.

SSH includes a command called SCP. SCP works almost like the standard Unix CP command. All you to do access a remote file is append a username, followed by the @ sign, and the IP address of the remote server. SCP will then prompt you for a password.

Let’s say I want to move a file from my Linux workstation to my webserver:

scp logo.jpg root@192.168.1.2:/var/www/images

SCP will prompt me for my password. After I enter it, it’ll copy the file, including a nice progress bar and an ETA.

On a Windows machine with PuTTY installed, simply substitute the command pscp for scp.

I can copy the other way too:

scp root@192.168.1.2:/var/www/index.php .

This command will grab a file from my webserver and drop it in the current working directory.

To speed up the transfers, add the -C switch, which turns on compression.

SCP is more secure than any other means of file transfer, it’s probably easier (since you already need SSH anyway), and since it’ll do data compression, it’s probably faster too.

Using your logs to help track down spammers and trolls

It seems like lately we’ve been talking more on this site about trolls and spam and other troublemakers than about anything else. I might as well document how I went about tracking down two recent incidents to see if they were related.
WordPress and b2 store the IP address the comment came from, as well as the comment and other information. The fastest way to get the IP address, assuming you haven’t already deleted the offensive comment(s), is to go straight to your SQL database.

mysql -p
[enter the root password] use b2database;
select * from b2comments where comment_post_id = 819;

Substitute the number of your post for 819, of course. The poster’s IP address is the sixth field.

If your blogging software records little other than the date and time of the message, you’ll have to rely on your Apache logs. On my server, the logs are at /var/log/apache, stored in files with names like access.log, access.log.1, and access.log.2.gz. They are archived weekly, with anything older than two weeks compressed using gzip.

All of b2’s comments are posted using a file called b2comments.post.php. So one command can turn up all the comments posted on my blog in the past week:

cat /var/log/apache/access.log | grep b2comments.post.php

You can narrow it down by piping it through grep a bit more. For instance, I knew the offending comment was posted on 10 November at 7:38 pm.

cat /var/log/apache/access.log | grep b2comments.post.php | grep 10/Nov/2003

Here’s one of my recent troublemakers:

24.26.166.154 – – [10/Nov/2003:19:38:28 -0600] “POST /b2comments.post.php HTTP/1.1” 302 5 “https://dfarq.homeip.net/index.php?p=819&c=1” “Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007 Firebird/0.7”

This line reveals quite a bit: Besides his IP address, it also tells his operating system and web browser.

Armed with his IP address, you can hunt around and see what else your troublemaker’s been up to.

cat /var/log/apache/access.log | grep 24.26.166.154
zcat /var/log/apache.access.log.2.gz | grep 24.26.166.154

The earliest entry you can find for a particular IP address will tell where the person came from. In one recent case, the person started off with an MSN search looking for information about an exotic airplane. In another, it was a Google search looking for the words “Microsoft Works low memory.”

You can infer a few things from where a user originally came from and the operating system and web browser the person is using. Someone running the most recent Mozilla Firebird on Linux and searching with Google is likely a more sophisticated computer user than someone running a common version of Windows and the version of IE that was supplied with it and searching with MSN.

You can find out other things about individual IP addresses, aside from the clues in your logs. Visit ARIN to find out who owns the IP address. Most ARIN records include contact information, if you need to file a complaint.

Visit Geobytes.com IP Locator to map the IP address to a geographic region. I used the IP locator to determine that the guy looking for the airplane was in Brooklyn, and the Microsoft guy was in Minneapolis.

Also according to my Apache logs, the guy in Brooklyn was running IE 6 on Windows XP. The guy in Minneapolis was running Mozilla Firebird 0.7 on Linux. (Ironic, considering he was looking for Microsoft information.) It won’t hold up in a court of law, but the geographic distance and differing usage habits give at least some indication it’s two different people.