Spam that infects your computer

This really isn’t anything new–I’ve long suspected spam was using ActiveX controls to infect computers with spyware and other unpleasantries, but now a spam message that infects your computer when you opt out is gaining publicity.The usual advice applies. Turn off the preview pane in Outlook/Outlook Express, if you must use a Microsoft program at all to read mail.

Install a spam filter. I used POPFile. Outclass allows POPFile to work with Outlook, even in Exchange Corporate Workgroup environments.

Consider getting a Yahoo mail account, or, if you ever happen to get an invitation, a Gmail account. They filter your spam for you and do a pretty good job, in my experience.

If spam gets through, don’t even open it. Tell me, why would any legitimate e-mail have a subject line like “Drugs online no prior prescription needed?” Or “Gen.eric Vioxx, Gen.eric Am.bien, Gen.eric Paxil, and more?”

And of course, get an antivirus program and keep the virus definitions up to date. Newer antivirus programs are even starting to detect and eliminate spyware, finally.

One person told me he reads and responds to all spam, because if he didn’t, he wouldn’t get any e-mail. If you or someone you know reads spam out of loneliness, that’s curable too. Install a spam filter and then fill the void by going to Yahoo Groups and look for an active group on something that interests you. I think every single time I’ve gotten interested in something or someone’s asked me a question, I’ve found a Yahoo group that pertains to it. The person is almost guaranteed to learn something, and chances of making some new friends are pretty high.

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.

Munich\’s unexpected migration costs prove nothing so far

I saw an article in the Toronto Star in which Steve Ballmer was, um, well, talking gleefully about the city of Munich’s highly publicized and controversial migration to Linux, server to desktop, costing more money than expected.

So I suppose Mr. Ballmer is prepared to reimburse one of my clients for its unexpected expenses in migrating from VMS to Windows then, eh?

Yeah, that’s what I thought.I wouldn’t call myself a migration specialist, per se, but it seems that during my career, just as often as not I’ve been involved in projects that are migrations to something or other, and more often than not, they’ve been migrations to Windows. I helped one of the first OS/2 networks outside of IBM itself migrate to Windows NT. I helped lots of smaller clients migrate from various versions of Mac OS to Windows NT. I’ve done a couple of small projects that migrated something Windows- or VMS-based to Linux. Last year I helped a client migrate from VMS to Windows 2003. Right now I’m working on a project that migrates another client from VMS to Windows 2000/2003.

I’m not trying to prove that I’m a migration expert, but I do think I’ve learned a few things along the way. And one of the first things I learned is that if you’re trying to migrate in order to save money right away, you’re migrating for the wrong reason and your project is probably going to fail very quickly. It’s very hard for a migration to save you that much money that quickly, and if it does, then that means its predecessor was so broken that somebody ought to be fired for not replacing it five years earlier.

The other thing I’ve learned is that a migration always always has unexpected costs, for a very simple reason. It’s impossible to know everything that’s going on on your network. I don’t know everything that’s going on on my home network, and most of the time, I’m the only one using it.

You might say I’m scatterbrained. I say you might be right. But let me give you an example from a network other than mine. In my first job, they decommissioned DOS-based WordPerfect years before I was born started working there. But since the system didn’t prevent people from installing software, people just smuggled in their copies of WordPerfect from home, installed it, and went right on using it, creating new data. Then I came along to migrate them to Windows NT, and they planned the same charade all over again. Only this time, they weren’t able to install their copy of WordPerfect. When told it was illegal to install and we weren’t going to do it, they said they needed that data in order to do their job.

That, my friend, is an unexpected expense.

The city of Munich undoubtedly has data in obsolete formats, being used every day by people, without anyone else knowing about it. I have a client still running something they rely on every day in dBASE II. Yes, TWO! Yes, when the account manager told me that, I made a joke about CP/M. For those of you who haven’t been around that long, dBASE II was obsoleted more than 20 years ago, although some people continued to use it after it was replaced by dBASE III. Some longer than others, it seems…

In this line of work, you find weird stuff. I know weird stuff is attracted to me, but I know I’m not the only one who finds this.

And weird stuff like that, my friend, can sometimes be an unexpected major expense.

The unexpected expenses my current client paid in its current migration paid for me to have a box full of my dad’s old Lionel trains fixed up better than new, and then to buy a bunch of new stuff. Trust me, it wasn’t cheap. And trust me, only a percentage of what my employer got trickled down to me.

I’m sure the city of Munich went into this knowing some or all of this. I’m also sure this wasn’t about money, even though Microsoft is gloating about money now.

What Steve Ballmer wants everyone to forget is that Microsoft came in with the lowest bid. Maybe not initially, but in the end they did. And Munich went with a Linux-based solution anyway.

Why? I’ll tell you why. New Microsoft Office releases every two years. New versions of operating systems every three to four years. New bloatware service packs that guarantee you’ll have to replace your hardware every three years, released every year. Annual antivirus subscription rates. Lost productivity when a virus slips through the cracks anyway. Lost productivity when spyware breaks some required business app.

MCSEs work cheap, and the software is inexpensive at first. But you get nickled and dimed to death.

Linux is more costly than expected this year. But the next four years will be less expensive than anticipated.

And Munich may be betting on that.

When will we take security seriously?

Overheard today at work:
“Hackers don’t usually work during the day, or on weekends…”

I guess by that same logic, I could say that I ran file servers with all ports exposed on the public Internet for years and never got hacked (just don’t mention that those years started in 1996 and ended in 1998).

It’s sad that there are people who still don’t take security seriously. The attitude I heard 10 years ago–“What? Do they want to look at the GIFs and JPEGs on my hard drive? If they can get in, they can have ’em!”–pervades today. Nobody’s interested in your GIFs and JPEGs because you don’t have anything that hasn’t been posted on Usenet’s alt.binaries groups a dozen times, but they want your high-speed connection. It doesn’t matter anymore how insignificant you are. If your computer is online, they want it.

I’m quickly reaching the point where I believe it’s socially irresponsible to have anything faster than a 56K dialup connection and not have a hardware-based firewall sitting between you and the Internet. I bought a couple of the low-end Network Everywhere-brand (made by Linksys) 4-port cable/DSL routers a year ago. I paid $50 apiece for them. That’s what you’ll pay for a shrink-wrapped “Internet Security” software package, but it’s more effective and it doesn’t slow your computer down. Even a one-computer household should have one.

As far as antivirus software goes, Grisoft offers antivirus software free for home use. Yes, it slows your computer down. If you don’t like that, run Linux. Grisoft’s AVG is free, effective, and easy to use. And it stamps outgoing e-mail, assuring your friends that your mail has been scanned. That’s comforting in these days.

Hopefully the typical computer user will soon outgrow the teenage it-can’t-happen-to-me mindset.

But I won’t hold my breath. Since hackers only work on weekdays, problems can only happen when I’m at work and my home PC is off, right?

Finally–GPL antivirus for Linux

Clamav is a free (GPL) virus scanner for Linux and other Unix systems. It seems to work well. The price is right.
There are very few viruses for Linux, so few that most people don’t waste their time with virus scanning. But if the machine is acting as a server for clients that are vulnerable to viruses–cough–Windows–cough–it’s a good idea to have antivirus software on your server, just so you know your clients are safe.

Debian packages are in Sarge and Sid. Source can be downloaded and built from the link above. Once it becomes better known, it should appear in RPM distributions such as Red Hat in time.

It’s just a scanner, but if it finds an infected file, you can clean it manually with free tools you download elsewhere. Clamav will take care of alerting you, the price is right, and the platform’s right. It’s always been hard to find antivirus software for Linux of any sort, so Clamav is a welcome addition to the family.

We’ll talk a lot more about servers in the coming days.

Help! I do tech support for everyone I know!

Here’s an interesting dilemma: How do you avoid becoming the primary technical support contact for all of your friends and family?
Richard “Rich Job” Jobity asked a really good question, didn’t he? I had to think about it for a while. That label fit me for a very long time. In the past year, 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. 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.

So if you get into a situation like I got into a year ago, when 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, I think it’s perfectly understandable for any reasonable person to be a bit upset. 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 I was fixing her dinner or watching a movie with her. The key is to remember your other obligations and don’t compromise on them.

I remember a week or two ago, I was sitting on my futon with my girlfriend, watching a movie, arms entangled in the weird way the way they tend to do when you want to be close to someone. The phone rang. I didn’t move. “You’re not going to answer that?” she asked. “No,” I said. Since when is it rude not to answer your phone? They didn’t know I was home. If I don’t want to talk at that instant, I’m not obligated to. Besides, both of us would have had to move for me to pick up the phone. So I ignored it. She looked at me like I’d paid her some kind of compliment, that I’d rather stay there with her than yak on the phone. Call me old-fashioned, but that used to go without saying.

Whoever it was didn’t leave a message. If it’d been important, either they would have 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.)

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 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 (you won’t).

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 cocktail of spyware. He runs around on Kazaa and other file-sharing networks, acquiring a cocktail of who-knows-what. He opens every e-mail attachment anybody sends to him, acquiring a cocktail 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. Half.com is your friend.
3. Never open an unexpected e-mail attachment. Even from your best 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.

And? This doesn’t mean I never get computer-related phone calls. A family member called me just this past Sunday with a noisy fan in a power supply. I found him a cheap replacement. I went over to my girlfriend’s family’s house Sunday afternoon and fixed their computer. (It made me wonder if the “4” in Pentium 4 stood for “486.” Its biggest problem turned out to be 255 instances of spyware. Yum.)

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.

Klez is nasty!

If you haven’t ever actually seen Klez in person, count yourself lucky.
I had my first run-in with it last night. I was working on a friend of a friend’s computer and everything about it was goofy.
Read more

Guidance in re-installing Windows 98SE

Mail from Frank Gross. I don’t know if I’ve ever outlined a process for installing Windows 98 cleanly, at least not here. There’s little need to do a clean install if the system works right, but if a system just won’t play nice, it’s not something one should be afraid of.
Read more

Upgrading a P2-300

Case study: Revitalizing a PII-300
It took me three and a half hours one night to squeeze another year or two of useful life out of a PII-300.

A fellow member of the Board of Directors at my church approached me one night. “Would you reinstall the OS on my computer?” he asked. He had a PII-300, not a barn burner by any modern measure, but not a slouch of a computer either. But as a performer it had been very much an underachiever of late. I had walked him through reinstalling the operating system over the phone back around Christmas and it had solved some problems, but not everything. It appeared his computer needed a clean start.

When I looked at it, I agreed. It wasn’t particularly stable and it definitely wasn’t fast. He had a Castlewood Orb drive to facilitate quick backups, so I had him copy his data directories (named Documents and My Documents), along with his AOL directory, over to the Orb. I also spotted a directory called Drv. As an afterthought, I grabbed that one too.

I proceeded to boot off a CD-ROM-enabled boot floppy. Tepidly, I typed the magic words format c: at the command prompt. Quickly I noticed a problem: the words “Saving current bad sector map” on the screen. As the drive formatted, Rick asked the magic question. “What do you think of partitioning?”

Dirty secret #1: Any time you see bad sectors, you should absolutely FDISK the drive. Bad clusters can be caused by physical problems on the disk, but they can also be caused by corruption of the FAT. No disk utility that I’ve ever seen (not Scandisk, not Disk Doctor, not even SpinRite) fixes that. The only way to fix that (verified by a technicians I talked to at Gibson Research, the makers of SpinRite) is to fdisk and format the drive.

Dirty secret #2: FAT16 is much faster than FAT32. Since Rick wasn’t opposed to partitioning the drive, I created a 2GB FAT16 partition. You do this by answering No when fdisk asks if you want to enable large disk support. This partition holds the operating system.

I exited FDISK, ran it again, and this time answered Y when it asked the cryptic large-disk question. I created a partition that spanned the rest of the drive. Then I rebooted, typed format c: then format d:, and watched for bad clusters. There were none. Excellent.

End result: I had a 2-gig FAT16 C drive and a 6-gig FAT32 D drive.

Dirty secret #3: Never, ever, ever, ever, ever (unless someone’s holding a gun to your head) install Windows as an upgrade. You have a Windows 95 CD and a Windows 98 upgrade CD? So what. Install Windows 98 on the bare drive. Setup will find no Windows installation present and ask for your Windows 95 CD. You insert your Win95 CD, it investigates it to make sure it’s not a blank CD with win.com on it somewhere, then asks for your Win98 CD back. End result: a clean install. Even if you install Win95 immediately followed by Win98, you get extra garbage you don’t need. And it takes twice as long.

Windows took about 30 minutes to install. I tackled his applications. When I installed MS Office, I did a complete install with one exception. I drilled down into Office Tools, found Find Fast, and unchecked it. Find Fast is a resource hog and doesn’t do anything useful.

I installed Office to drive D.

He’d bought Norton Systemworks on sale one weekend, hoping it would help his performance. It didn’t. I showed him a trick. Rather than install Systemworks directly, I explored the CD, drilled into the Norton Utilities directory, and ran Setup from there. I intentionally left out almost everything. Speed Disk and Disk Doctor are the two superstars. I also kept the Optimization Wizard. I left out most of the rest, because the other stuff doesn’t do anything useful but it sure slows down your system. When it asked about running Disk Doctor at startup, I said no. It just slows down startup and doesn’t do anything useful. I did let it replace Scandisk with Disk Doctor. That way if you get an improper shutdown, Disk Doctor can clean up the mess before Windows starts and makes a bigger mess. But Disk Doctor should run when you need it. Not all the time.

Then I drilled down into the Norton Antivirus directory and installed it. Then I did the same for Ghost. I needn’t have done that. Just copying the Ghostpe.exe file out of that directory onto a boot floppy suffices. More on Ghost later.

I installed this stuff to drive D.

Next, I installed his scanner software, Lotus SmartSuite, and his DVD decoder.

I copied the data back over from his Orb disk, noticed his modem wasn’t working, and installed the device driver I found in the Drv directory I’d copied over to the Orb as an afterthought. (I’d much rather back up too much stuff than not enough.) Then I copied his AOL directory over to drive D and installed AOL 5.0 over the top of it. It picked up all his settings.

I cleaned up c:msdos.sys and rebooted, watching the time. It booted in about 45 seconds, including POST. I was happy. Rick was very happy.

I did the other standard Windows optimizations outlined in chapter 2 of Optimizing Windows. I cleared out his root directory on C. Then I ran Norton Speed Disk. I had it do the full file reordering and directory sorting bit (also described in Optimizing Windows). Clearing out the root directory makes disk access much more efficient, but only after Speed Disk discards the now-empty directory entries. Directory sorting makes disk access more efficient by putting the important files early in the list so Windows finds them faster. The results are marvelous.

Finally, I ran Ghost. I copied the Ghost executable to a boot floppy that contained the Castlewood device driver internal.sys, then booted from it and Ghosted his drive to the Orb drive. Fifteen minutes later, he had an image of his system, so he can return back to this state any time he wants.

End result: Rick’s P2-300 with an 8-gig Quantum Bigfoot drive (a notoriously slow hard drive) and 288 MB RAM received a new lease on life. Despite its slow processor and hard drive, it performs better than a lot of consumer-level PCs available today.

That was a good investment of 3 1/2 hours.

Ghosts from the past…

Wednesday night, 6:35 PM: I was in my South St. Louis County apartment, getting ready for church, when my phone rang. I’d had at least one telemarketing call that night already, but I picked up the phone anyway.
“Hello?” I said, maybe slightly agitated.

“Dave?” a female voice asked. So much for a telemarketer. I recognized the voice but didn’t place it immediately. And obviously she knew me.

“Yes?”

“It’s Wendy.” Ah, Wendy from church. OK.

“What’s up?” I asked. She doesn’t routinely call me–she doesn’t routinely call anyone, I don’t think–so I figured she probably needed something. That’s OK. I take care of my friends.

“What’s it mean when your computer says, ‘Bad or missing command interpreter. Enter path of a valid command interpreter, e.g. c:windowscommand.com’?”

“Oh. That means one of the files your computer needs to get started is blitzed,” I said. “What happens if you type it?”

“You’re gonna hate me,” she said as she typed the filename. “You deal with this stuff all day and now I call you wanting computer advice.”

I could never hate her. She’s too nice. Besides, guys like fixing things, especially for people they like. I probably should have told her that.

“It just repeats the same thing again,” she said.

“I see.” I had her try a couple of other locations–Microsoft OSs have always installed command.com in too many places. But no go.

“Are my other files OK?”

“Hopefully,” I said. “My computer used to do this to me once a year.”

“My whole life is on this computer, Dave,” she said, sounding a little distressed. My heart melted. I hate it when bad things happen to good people. I especially hate it when bad things happen to good people and one of Bill Gates’ or Steve Jobs’ toy operating systems is involved. But sometimes it’s just a minor inconvenience. I hoped this was one of those instances.

“I just need to boot your computer off a floppy, type a command or two, and it’ll probably come right back to life,” I said.

“Do you have time to do this? I mean, really have time to do this?” She didn’t want to inconvenience me.

“Yeah, I’m on my way to church, and you’re on the way, and it should only take me a couple of minutes,” I said as I formatted a disk and copied sys.com to it.

After assuring her again that I was sure, I told her I’d be there in about 10 minutes. I hopped in my car, disk in hand, ready to go be a hero and still make it to church on time. I rang her bell, heard her dog scream bloody murder, and she opened the door. As soon as she let me in, her Labrador warmed up to me. She led me to the computer room, where I sat down and popped in a disk. She yanked on her Lab’s leash, trying to keep her away from me. She wasn’t having much luck.

“That’s OK,” I said to Wendy. “I like dogs.” Then I turned to the dog and started scratching behind her ears. “I’ll bet the most dangerous part of you is your tail. You just like people so much you thump ’em to death, don’t you?” I turned to the computer and booted off the floppy. It didn’t work. So I restarted, and when it asked for a command interpreter, I typed “a:command.com” and got a command prompt. Meanwhile, her dog grabbed onto my hand with her paw so I wouldn’t go anywhere. Shadow, the Cocker Spaniel/Irish Setter mix I had growing up, used to do that.

I ran sys.com and rebooted, expecting to be a hero. Instead, I got the dreaded invalid media type reading drive C error.

I told Wendy I’d need the heavy artillery to fix this problem. I kicked myself for not bringing any more sophisticated tools like MBRWORK. It looked like a blitzed partition table to me.

I rebooted a couple more times to try to get symptoms. The Windows logo splashed up ever so briefly. The drive didn’t make any weird noises. That was good. That meant the boot record was intact, and that some data was intact–obviously, because it was reading the Windows logo. It looked just like the time my Pentium-75 crashed and forced me to cycle power, then didn’t come back up. I didn’t know how to fix a blitzed partition table then. But that was a long time ago.

By now, it was 7:20. “I can go get some more tools,” I offered.

“Go to church,” she said. “I’d feel really bad if you miss church. Tell Pastor John it’s my fault.”

I did my best to reassure her that I could get her data back. I told her the odds looked like about 50/50. In reality I was more confident than that, but unless I’m about 99% certain, I won’t say the chances are any better than 50/50. There’s nothing I hate more than disappointing people.

I went to church mad at myself that I hadn’t gotten her data back. I came home from church, got ready to gather up my tools, and checked my messages. It was Wendy. She said she’d gone to school to work on a paper, that we’d worry about the computer tomorrow but it wasn’t a big deal.

Maybe it wasn’t to her. But it was to me. I hate losing, especially to a computer. I have since I was in first grade and played Atari at my neighbors’ house. True, back then I got mad when I lost at Donkey Kong, but in my mind there’s no difference. Even though it’s a different game today and I lost a lot then and I rarely lose now, it doesn’t make me hate losing any less. Especially when I’m playing with other people’s stuff. Her words echoed in my mind: “My whole life is on this computer, Dave.”

I wasn’t going to let her down. I wasn’t going to let myself down by letting her down. I was going to get that data back, and I didn’t care what I had to do to get it.

I called her back, expecting her not to be there. Her mom, Debby, answered the phone. She gave me a few more clues, told me she didn’t expect Wendy home until late, said one or the other of them would be home about 3:30 the next day. I’d been at work until close to six on Wednesday and saw the possibility of having to stay that late on Thursday. I didn’t make any hard and fast promises about when I’d be there, but I started plotting how I would escape work by 4:15.

On Thursday, I loaded up floppies containing all the standard Microsoft disk tools, plus Norton Disk Doctor, plus Spinrite, plus MBRWORK and a few other partition recovery tools, along with a Windows 98 CD, and took the whole wodge of stuff to work. At 4:20, I called. Debby answered. I told her I was leaving work and I’d probably get there in about 20 minutes.

Along the way, I listened to a bunch of punk rock, really loud, and got myself pumped up. Whether it’s stepping up to the plate in the bottom of the seventh with runners on second and third and two out, or just a tricky computer problem, I get myself into the same mental place. The world fades away and I see nothing but the challenge. By the time I got to their house, I was in the zone. I was so in the zone that I walked up to the front door of the wrong house. Wendy’s Lab was in the front yard giving me the “I know you! What are you doing over there? Get over here and pet me!” look. I didn’t notice. The neighbor pointed next door. Feeling stupid, I walked over. The dog congratulated me on getting smart, Debby greeted me, and I went another round with her computer, running MBRWORK. It recovered the partition successfully, it said. I got excited. I rebooted and the computer asked me for a command interpreter again.

Cantankerous computer 2, Dave 0.

I went home, fixed myself a little something to eat, pondered the situation, and wrote my Bible study for Friday night on my company laptop. That calmed me down enough to let me think rationally again. I packed up everything I could possibly need: Norton AntiVirus, Ghost, an extra hard drive, two laptops, a couple of Linux CDs, both versions of Windows 98, utilities disks…

I booted off my disks and tried a few things. Nothing. I booted my company laptop up with the disks–that laptop doesn’t have DOS installed–and added a couple more toys. They didn’t help. Wendy got home and asked if it was a bad sign I was there. I muttered something and probably came off as rude. I was in the zone, after all. I asked her if she had any floppies she wanted me to scan for viruses. She handed me one, and I tried to boot my laptop into Windows. It showed the very same symptoms as her computer.

I’ve said it before and I’ll say it again. Virus writers, PLEASE get a life. Get interested in girls or something. Anything!

Wendy didn’t like the look on my face. I told her what happened. She said a phrase I won’t repeat here, then apologized. There was no need. I felt like saying it too. Or something worse.

For grins, I tried booting the laptop into Linux. It booted up like it was cool. Hmm. Boot sector viruses that kill Windows dead don’t even make Linux flinch. I owe Linus Torvalds a beer.

I tried mounting my main Windows partition. Linux reported NTFS errors. Visions of virus writers getting beaten to a bloody pulp danced in my mind.

Since I was now convinced we were dealing with a boot sector virus, I replaced the MBR. No joy. I booted off a Linux CD, switched over to a console, ran cfdisk, and viewed the partition table. One 4-gig partition, FAT32. No problems. Odd.

Wendy started fretting. “You’ve spent all this time and you’ve lost your laptop. I’m about to start to cry.”

I stopped what I was doing, turned to her, and looked her straight in the eye. “I take care of my friends.”

She looked back at me like she thought that was kind of cool.

“I don’t care about the laptop. I can fix that later. I can rewrite the Bible study that was on it. It took me 20 minutes to write, so it’ll take me 15 minutes to rewrite. I’m going to get your data back.”

The Bible study I lost indeed took me about 15 minutes to rewrite, and the second version was a lot better. But I didn’t get her data back that night. Eventually I gave up, pulled her drive, installed a new drive, and installed Windows and Office on it so they’d have a computer that was useful for something. Debby walked in as I was switching drives, noticed the dust inside the case, and gave it a disgusted look. She came back with a rag and Wendy started laughing at her.

“She can’t stand dust anywhere. I guess not even inside electronics,” Wendy said.

Debby lit up when she walked in the room and saw the Windows 98 screen on her computer. Later when Wendy walked back in, she let out a whoop and told her mom she was missing beautiful things in the computer room. I was pretty happy about it too. Windows 98 didn’t install easily–the intial reboot failed and installation didn’t continue until I booted it in safe mode, then rebooted. I gave the computer a lecture as I booted it, reminding it that I have enough spare parts at home to build a computer like it and would have no qualms about destroying it and replacing it with something else. I know it didn’t hear or understand a word I said, but I felt better afterward.

I felt bad about not getting the data back that night. Wendy and I talked for about 45 minutes about other things. I felt better afterward. I forgot to thank her. Around midnight, I packed up the stuff and drove home.

Wendy and I talked the next day over e-mail. I’d taken my disks to work and scanned them on a non-networked PC nobody cared about and found the Form virus. Wendy had taken some disks to school and had them scanned. They contained both Form and antiCMOS. Since antiCMOS resides in the MBR and Form resides on the primary partition, the two viruses can coexist. Form was relatively harmless on FAT16 drives, and although antiCMOS was potentially destructive in 1991, it’s much less so now that PCs autodetect hard drives at boot rather than relying on parameters stored in CMOS. My work the night before would have eliminated antiCMOS, which explained why it wasn’t present on my disks. I did a Dejanews search on Form and FAT32, to see if that would explain the apparent partition corruption. I found that the symptoms were exactly what Wendy was showing. And I found recovery methods that had a high success rate.

I haven’t put Wendy’s drive in one of my PCs yet to recover it. But I’m pretty confident I’ll get her data back. That’s a good thing. I’ve met nicer people than Wendy and Debby. But only once or twice. People like them don’t come around very often, so I’d like to do something nice for them.

Bringing their data back from oblivion would do.