Working for Canonical doesn’t make you pro-Free Software?

Stuart Langridge works for Canonical. Canonical produces Ubuntu, a popular Linux distribution. Apparently, this means he favors proprietary software in some people’s minds.

Yes, this is the same Ubuntu Linux you can download freely. You can make copies of it and sell them, legally. You can modify it, if you have the ability and inclination. Just setting the record straight.

Canonical does what it has to do to get Linux working well on your computer. And it succeeds rather nicely. If a computer can run Windows XP or newer, it can run Ubuntu, and installing Ubuntu will be easier than installing Windows in many cases. The computer this website runs on was built on a variant of Ubuntu, and it literally took longer to burn the CD than it took to run the installation. It blew my mind.

This is a case of software being like religion.

I am Lutheran. Almost militantly so, to the annoyance of some people who know me. I break from the traditional Lutheran camp in two regards: favoring music in the service that was written during my lifetime, and not being uptight enough about doctrine. I take the concept of grace alone, faith alone very seriously, and to an outsider, that plus the Lutheran definition of grace–God’s riches at Christ’s expense–is enough to make you Lutheran. That’s good enough for me. Some vocal Lutherans expect you to be able to recite precisely what makes John Calvin a heretic. I neither know nor care about that. I read the Bible, in its entirety, and concluded that Calvin puts certain responsibilities on you, a human being, that Luther puts on God. Since I believe that God is more reliable than me, I concluded that the Lutheran view is safer. I believe that ought to be enough.

The big question is whether I care if I’m Lutheran enough for some people. And the answer is no, I do not. I just ignore the rants about heresy that I see on Facebook, or better yet, stay off Facebook for long stretches at a time, and go about my business.

I guess that’s easier said than done in the Free Software community. There are a lot more witch hunters in that group. I suppose the people who can’t write working code try to make up for it by concentrating on ideology, or something like that. I do know it’s a whole lot easier to crusade for ideology than to write code.

The silent majority of people just want a system that works. They don’t want to hunt down drivers and compile them, or spend hours editing configuration files. I can’t tell you how many e-mail messages I received over the years from people who tried the most popular Linux distribution of the time, ran into difficulty, and gave up. (It’s one reason my e-mail address isn’t on this site anywhere anymore.) Even if the problem was something I could answer relatively easily, they just gave up and installed Windows instead. In their minds, if Dave Farquhar knows how to make that work, then whoever made that particular Linux distribution ought to make it work automatically. And they have a point.

So if Ubuntu installs a driver or some other low-level code that isn’t completely Richard Stallman-approved, the majority of people really don’t care. They’re happy it works. If their freedoms are infringed upon, they don’t know it.

I’ve said before that I could re-train my mother to use Linux. In fact, she could probably get all of her work done in Linux and emacs, and I’m sure John the Baptist Richard Stallman would be absolutely thrilled. But it would take her several years to learn the nuances of emacs, and some of her job duties would take much longer. Perhaps she wouldn’t mind occasionally spending hours to do something that can be accomplished in minutes using a more specialized, albeit proprietary, tool. In the end, when she’s a master of emacs, I’ll be able to tell her that she’s free. And she’ll tell me, “It wasn’t worth it.” Or, if she’s feeling a little more reasonable, she’ll throw something at me.

It’s easier said than done. But perhaps when the witch hunters come knocking, it would help to ask them if they had anything better to do?

After all, he could be a total sell-out like me. In my job, I’ve recommended Linux-based solutions when appropriate, but I spend the overwhelming majority of my time supporting things that run on Windows. Perhaps they would prefer he do that.

But I wouldn’t. I really like the work Canonical is doing.

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.

FTE – a DOS-style editor for Linux

I don’t remember what I was looking for, but I found another DOS-style editor for Linux and Unix.

FTE is another editor that harkens back to the look of the typical DOS app of about 10 years ago, similar to SETEDIT. For casual editing, either program will do very nicely, and provide a look and feel comparable to the editor that came with DOS 5 and 6.

I’ve always liked SETEDIT, but it suffers from the same identity crisis as emacs. Is it an editor? An MP3 player? A desk calculator? All of the above? And while it’s workable over a remote terminal connection, it’s not as snappy as I’d like.

FTE is a little sluggish from afar but faster. I like how it gives me the ability to have multiple files open and deal with large blocks of text, and continue to use the same key sequences I’ve known and been using since early high school. Its syntax highlighting is definitely a nice feature. It takes that feature a bit further than SETEDIT. For example, it highlights the corresponding closing bracket when you move over the opening one.

FTE’s main advantage is that it’s already bundled with some distributions. There’s a Debian project page for it. And a Google search turns up anectotal evidence that it comes in recent versions of Suse, Red Hat and Mandrake as well. If you’re a DOS veteran who’s not enamored with vi or emacs, FTE’s probably worth a look.

For what it’s worth, I typically use nano, but FTE is definitely a whole lot more powerful.

DietLinux — a Linux that boots in under 10 seconds

The tinkerer in me just couldn’t stay away. I saw a reference on Linux Weekly News to DietLinux and had to look at it.
DietLinux is an example of a Linux distribution that can’t properly be called GNU/Linux, because the majority of its userspace didn’t come from the GNU project. GNU’s libc–the main API for Unixish systems, and I’ll call Linux a Unix just to hack off SCO–is replaced with an alternative, trimmed-down libc called dietlibc. It’s not feature-complete but it’s tiny. Those of you who programmed casually in the 1980s and 1990s probably remember a day when you could write a fairly sophisticated program in a few kilobytes. Under modern operating systems, a simple program that simply emits “Hello, world!” can take up 32K or more. Using dietlibc instead of GNU’s libc shrinks that program back down to a couple of kilobytes.

The majority of DietLinux’s userspace comes from Felix von Leitner, the author of dietlibc. Von Leitner reimplemented init–the program that bootstraps a Unix system once the kernel is loaded–and getty, which is the program that handles text-based logins. These unglamorous programs can eat up a fair chunk of memory, and since Unix systems typically go for long periods of time without being rebooted, it’s a bit of a waste unless you need certain features provided by the more traditional init and getty programs. He also wrote replacements for several standard utilities.

Obviously, not every program in the world designed for glibc will compile and run under dietlibc, so DietLinux won’t ever be a complete general-purpose distribution. But for network infrastructure glue-type servers providing services like firewalling, DNS and DHCP (all of which already function), it would be perfect.

I don’t know what the future plans for DietLinux are. The asmutils provide an impressive number of userspace and server utilities, written in assembly language with very low overhead, and would appear to be a nice complement to DietLinux’s infrastructure. Their use would limit DietLinux to x86, however. And the text editor e3 is tiny, full-featured, and emulates keybindings for vi, emacs, WordStar, and Pico, so it’s friendly to pretty much any command-line jockey regardless of heritage and takes little space.

It’s also not a newbie distribution. Installation requires a fair bit of skill and pretty much requires an existing Linux system to bootstrap it.

But it’s definitely something I want to keep an eye on. I’m highly tempted to put it on one of my 486s. I just wish I had more time to mess around with it.

What needs to happen for Linux to make it on the desktop

I saw an editorial at Freshmeat that argued that there’s actually too much software for Linux. And you know what? It has a point.
I’m sure some people will be taken aback by that. The number of titles that run under Windows must number into six digits, and it’s hard to walk into a computer store and buy Linux software.

But I agree with his argument, or at least most of it. Back in my Amiga days, the first thing people used to ask me was, “What, do you not like software?” Then I asked why they felt the need to have their choice of 10 different word processors, especially when they’d just buy pirate Microsoft Word or WordPerfect anyway. (Let’s face it: Large numbers of people chose PCs in the early 90s over superior architectures was because they could pirate software from work. Not everyone. Maybe not even the majority. But a lot.) I argued that one competent software title in each category I needed was all I wanted or needed. And for the most part, the Amiga had that, and the software was usually cheaper than the Mac or PC equivalent.

Linux is the new Amiga. Mozilla is a far better Web browser than IE, and OpenOffice provides most of the functionality of Microsoft Office XP–it provides more functionality than most people use, and while it doesn’t always load the most complex MS Office documents correctly, it does a much better job of opening slightly corrupt documents and most people don’t create very complex documents anyway. But let’s face it: Its biggest problem is it takes an eternity to load no matter how fast your computer is. If it would load faster, people would be very happy with it.

But there is nothing that provides an equivalent to a simple database like Access or Filemaker. I know, they’re toys, and MySQL is far more powerful. But end users like dumb, brain-dead databases with clicky GUI interfaces on them that they can migrate to once they realize a spreadsheet isn’t intended to do what they’re trying to do with it. Everyone’s first spreadsheet is Excel. Then someday they realize Excel wasn’t intended to do what they’re using it for. But you don’t instantly dive into Oracle. You need something in between, and Linux doesn’t really have anything for that niche.

People are constantly asking me about a WYSIWYG HTML editor for Linux as well. I stumbled across one. Its name is GINF. Yes, another stupid recursive-acronym name. GINF stands for “GINF is not Frontpage.” How helpful. What’s wrong with a descriptive name like Webpage-edit?

More importantly, what was the first non-game application that caught your fancy? For most people I know, it was Print Shop, or one of the many knockoffs of Print Shop. People love to give and receive greeting cards, and when they can pick their own fonts and graphics and write their own messages, they love it even more. Not having to drive to the store and fork over $3.95 is just a bonus. Most IT professionals have no use for Print Shop, but Linux’s lack of alternatives in that department is hurting it.

Take a computer with a CPU on the brink of obsolesence, a so-so video chipset, 128 megs of RAM and the smallest hard drive on the market, preload Linux on it along with a fast word processor that works (AbiWord, or OpenOffice Writer, except it’s not fast), a nice e-mail client/PIM (Evolution), a nice Web browser (Mozilla), and a Print Shop equivalent (bzzzt!), and a couple of card games (check Freshmeat) and you’d have a computer for the masses.

The masses do not need 385 text editors. Sysadmin types will war over vi and emacs until the end of time; one or two simple text-mode editors as alternatives will suffice, and one or two equivalents of Notepad for X will suffice.

Linux’s day will eventually arrive regardless, if only because Microsoft is learning what every monopolist eventually learns: Predatory pricing stops working once you corner the market. Then you have to raise prices or find new markets. Eventually you run out of worthwhile markets. So in order to sustain growth, you have to raise prices. Microsoft is running out of markets, so it’s going to have to raise prices. Then it will be vulnerable again, just like Apple and CP/M were vulnerable to Microsoft because their offerings cost more than Microsoft was willing to charge. And, as Microsoft showed Netscape, you can’t undercut free.

But that day will arrive sooner if it doesn’t take a week to figure out the name of the Linux equivalent of Notepad because there are 385 icons that vaguely resemble a notepad and most of them have meaningless names.

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.

A DOS-style editor for Linux

I keep seeing “someday someone will write a DOS edit clone for Linux”-type longings in Linux publications. These are pointless, because someone already did, years ago.

And no, its name isn’t vi or emacs. It’s a true blue (it really is blue) DOS-like editor that uses a lot of the same keystrokes as the Microsoft tool we all learned to tolerate, if not love, in the early ’90s. Hey, it wasn’t very powerful or fast, I know, but it was easy to learn and a whole lot better than edlin.

This one’s called SETedit, it’s from Argentina, and it’s just as easy to use but a whole lot more powerful. It’s also been ported to Win32, if you want to run it in more than just Linux.
Read more

More Linux tricks

OK, I gotta tell this joke.
Osama bin Laden gets taken out by a daisy cutter. He’s standing up there at the pearly gates, where he’s met by George Washington. “You tried to harm the country I birthed!” he said. And he sucker-punched him.

“You tried to take Americans’ liberty, so they gave you death!” screamed Patrick Henry, who popped out of nowhere. Then he threw an anvil at him.

Thomas Jefferson and James Madison came out and started tag-teaming him, followed by 68 more freedom-loving Americans wielding assorted large and heavy objects.

Finally, John Randolph decided he’d had enough, so he picked up this bloody pulp that used to be bin Laden, and threw him over to the gate for his fiery judgment.

Bin Laden looks up at an angel standing there. “This isn’t the least bit like what I was promised!” he cried.

“I told you there’d be 72 Virginians waiting for you when you got here!” the angel said. “What’d you think I said, genius?”

Let’s talk about some Unix/Linux tricks. Since yesterday’s mention of top drew some positive response, I might as well talk briefly about a few more tricks.

First, the shell itself. If you can’t remember a command, type the first letter or two and hit the tab key twice. You’ll see all the possible combinations. Tab completion also saves you keystrokes and works on filenames too. Let’s say I’m editing /etc/apache/httpd.conf, here’s the key sequence I’ll probably end up using:

na[tab]/e[tab]apa[tab]h[tab]

It saves me more than half the keystrokes. It also lets me be lazy–as long as I remember roughly where the file is and what letter it starts with, I’ll find it quickly.

Steve DeLassus asked me once a couple of years ago why I didn’t use that trick. I said because I’d get addicted to it and hate not having it in Windows. Out of necessity I started using it. I hate Windows command prompts now.

If you want to see your disk usage, or how much space you have free, use the du and df commands. (I never have problems remembering that last one for some reason.)

If you need to see what’s inside your computer, remember the /proc subdirectory. This is Linux-specific, because each Unix variant has its own nuances about /proc. By viewing the file /proc/pci, you’ll get detailed information on the PCI devices in your computer. By viewing /proc/interrupts, you’ll find out what IRQs are in use and what’s sharing what. The /proc/scsi and /proc/ide trees will give you information on the disk subsystems. By poking around inside /proc, you can find out more about a PC than the old standby Norton Diagnostics for DOS used to tell you. Your Linux installation CD can be a valuable diagnostic tool–just boot a troublesome PC with it and hit ALT-F2 (or CTRL-ALT-F2 if it’s a distribution that uses a GUI-based installer) to switch to a console. Or use a single-floppy Linux distribution.

And as for learning this stuff, the only thing I can recommend is total immersion. I asked Charlie, our Unix sysadmin at work, how he learned Emacs. “I just set my edit variables to emacs and lived with it,” he said. “And after about a month I liked it.”

I think I’ll stick with nano or pico or joe or ee, personally. I know enough vi to be able to use it in an emergency. But his approach works for all things Unix. Either dual-boot the PC you have or pick up a cheap second PC. It’s not difficult to find an old Pentium, complete, for under $100 and a price pressure from cheap LCDs has had the nice side-effect of pushing the price of conventional CRT monitors way down. There’s enough good free Linux software out there now that you can live in Linux for long periods of time and still get the same things done in Linux that you would in Windows while you gain valuable and marketable skills.

While you’re at it, eat lots of salmon and blueberries (not necessarily together). They’re supposed to be good brain food, and that can’t hurt.

Once you’re starting to feel like you know something, pay IBM developerWorks a visit. They’ve got a certification prep series up there. You may not wish to spend the time and money to get certification, but by reading the series, you’ll get a good idea of what you know and don’t know, and you’ll learn some more good stuff in the process.

02/11/2001

Mailbag:

Innovation

Steve DeLassus asked me for some ideas of where I see innovation, since I said Microsoft isn’t it. That’s a tough question. On the end-user side, it’s definitely not Microsoft. They’ve refined some old ideas, but most of their idea of Innovation is taking utilities that were once separate products from companies Microsoft wants to drive out of business, then grafting them onto the OS in such a way as to make them appear integrated. What purpose does making the Explorer interface look like a Web browser serve? Doesn’t everyone who’s used a real file manager (e.g. Norton Commander or Directory Opus) agree that the consumer would have been better served by replicating something along those lines? Not that that’s particularly innovative either, but at least it’s improving. The only innovation Microsoft does outside of the software development arena (and that makes sense; Microsoft is first and foremost a languages company and always has been) seems to be to try to find ways to drive other companies out of business or to extract more money out of their customers.

Richard Stallman’s GNU movement has very rarely been innovative; it’s been all about cloning software they like and making their versions free all along. It’s probably fair to call Emacs innovative; it was a text editor with a built-in programming environment long before MS Word had that capability. But I don’t see a whole lot of innovation coming out of the Open Source arena–they’re just trying to do the same thing cheaper, and in some cases, shorter and faster, than everyone else.

So, where is there innovation? I was thinking there was more innovation on the hardware side of things, but then I realized that a lot of those “innovations” are just refinements that most people think should have been there in the first place–drives capable of writing to both DVD-R and CD-R media, for instance. Hardware acceleration of sound and network cards is another. Amiga had hardware acceleration of its sound in 1985, so it’s hard to call that innovation. It’s an obvious idea.

A lot of people think Apple and Microsoft are being really innovative with their optical mice, but optical mice were around for years and years before either of those companies “invented” them. The optical mice of 2000 are much better than the optical mice of 1991–no longer requiring a gridded mouse pad and providing smoother movement–but remember, in 1991, the mainstream CPUs were the Intel 80286 and the 80386sx. That’s a far, far cry from the Thunderbird-core AMD Athlon. You would expect a certain degree of improvement.

I’d say the PalmPilot is innovative, but all they really did was take a failed product, Apple’s Newton, and figure out what went wrong and make it better. So I guess you could say Apple innovated there, but that was a long time ago.

So I guess the only big innovation I’ve seen recently from the end-user side of things has been in the software arena after all. I’m still not sold on Ray Ozzie’s Groove, but have to admit it’s much more forward-thinking than most of the things I’ve seen. Sure, it looks like he’s aping Napster, but he started working on Groove in 1997, long before Napster. Napster’s just file sharing, which has been going on since the 1960s at least, but in a new way. There again, I’m not sure that it’s quite right to call it true innovation, but I think it’s more innovative than most of the things I’ve seen come out of Microsoft and Apple, who are mostly content to just copy each other and SGI and Amiga and Xerox. If they’re going to steal, they should at least steal the best ideas SGI and Amiga had. Amiga hid its menu bars to save screen space. Maybe that shouldn’t be the default behavior, but it would be nice to make that an option. SGI went one further, making the pull-down menus accessible anywhere onscreen by right-clicking. This isn’t the same as the context menu–the program’s main menu came up this way. This saved real estate and mouse movements.

I’m sure I could think of some others but I’m out of time this morning. I’d like to hear what some other people think is innovative. And yes, I’m going to try to catch up on e-mail, either this afternoon or this evening. I’ve got a pretty big backlog now.

Mailbag:

Innovation

WordPress Appliance - Powered by TurnKey Linux