An easy way to get Debian 3.0 before you can buy it

Debian 3.0 hasn’t officially been released yet, but that hasn’t stopped people from making unofficial installation floppies and CDs.
I just built a Debian 3.0 system that will be hosting this site and another (I’m not going to talk yet about the other site, but it won’t be hosted by R. Collins Farquhar IV–do I hear cheers?–and it won’t be fiction). I used this 185 MB CD image to do the install. The system used up a whopping 88 megs when I finished initial installation. After I installed Apache, MySQL and PHP4 to make a usable web server, disk usage rocketed to 118 megs. Not shabby at all in this era of multi-gigabyte installs. Read more

Long day.

I’m still not completely recovered from the trip. I find myself running out of gas around 5 pm and needing a half-hour nap to make it to 10-10:30.
I did some PHP maintenance coding at work today. It’s definitely not pretty but it mostly works. I’m hoping to finish that project up tomorrow sometime.

I played my first softball game in my work league last night (I missed the first game of the season). We won, which was nice. I’d forgotten what it feels like to win a ballgame, since my church team is 0-3-1 with me in the lineup. I missed a total of three games while I was gone. But last week was worth a lifetime of softball championships, so I don’t care too much.

I went 0-for-2 with a run scored. I was too eager to swing the bat. The opposing pitching had a really hard time throwing strikes, so I should have just taken the walks rather than trying to hit the best pitch I could find. I’m not a doubles hitter this early in the season.

On the plus side, I made two putouts in left field and mostly looked like I knew what I was doing, at least on those plays. I misplayed the first two grounders to me, but on the third one I nearly threw out a runner at third. Aside from a couple of innings in left last year, I haven’t played there since high school gym class. It’ll come back to me. Just like my bat will.

Optimizing Windows 2000

Since there was no Windows 2000 version of my book Optimizing Windows, sometimes people ask me what tweaks they can use to improve Windows 2000’s performance.
It turns out there are a few things you can do to optimize Windows 2000. Here are some tips that I use on a fairly regular basis.
Read more

Another RISC platform for Linux

Vintage workstations. I’ve read two articles this past week about running Linux or another free Unix on vintage hardware.
http://www.debianplanet.org/article.php?sid=605
http://www.newsforge.com/article.pl?sid=02/02/19/049208&mode=thread

And while I can certainly appreciate the appeal of running a modern free Unix on a classic workstation from the likes of DEC or Sun or SGI, there’s another class of (nearly) workstation-quality hardware that didn’t get mentioned, and is much easier to come by.

Apple Power Macintoshes.

Don’t laugh. Apple has made some real dogs in the past, yes. But most of their machines are of excellent quality. And most of the appeal of a workstation-class machine also applies to an old Mac: RISC processor, SCSI disk drives, lots of memory slots. And since 7000-series and 9000-series Macs used PCI, you’ve got the advantage of being able to use cheap PC peripherals with them. So if you want to slap in a pair of 10,000-rpm hard drives and a modern SCSI controller, nothing’s stopping you.

There’s always a Mac fanatic out there somewhere willing to pay an exhorbinant amount of money for a six-year-old Mac, so you won’t always find a great deal. Thanks to the release of OS X (which Apple doesn’t support on anything prior to the Power Mac G3, and that includes older machines with G3 upgrade cards), the days of a 120 MHz Mac built in 1996 with a 500-meg HD and 32 megs of RAM selling for $500 are, fortunately, over. Those machines run Linux surprisingly well. Linux of course loves SCSI. And the PPC gives slightly higher performance than the comparable Pentium.

And if you’re lucky, sometimes you can find a Mac dirt-cheap before a Mac fanatic gets to it.

The biggest advantage of using a Mac over a workstation is the wealth of information available online about them. You can visit www.macgurus.com to get mainboard diagrams for virtually every Mac ever made. You can visit www.everymac.com for specs on all of them. And you can visit www.lowendmac.com for comprehensive write-ups on virtually every Mac ever made and learn the pitfalls inherent in them, as well as tips for cheap hardware upgrades to squeeze more speed out of them. I learned on lowendmac.com that adding video memory to a 7200 increases video performance substantially because it doubles the memory bandwidth. And on models like the 7300, 7500, and 7600, you can interleave the memory to gain performance.

Besides being better-built than many Intel-based boxes, another really big advantage of non-x86 hardware (be it PowerPC, Alpha, SPARC, MIPS, or something else) is obscurity. Many of the vulerabilities present in x86 Linux are likely to be present in the non-x86 versions as well. But in the case of buffer overflows, an exploit that would allow a hacker to gain root access on an Intel box will probably just crash the non-x86 box, because the machine language is different. And a would-be hacker may well run into big-endian/little-endian problems as well.

http://homepages.ihug.com.au/~aturner/7200boot.html

Linkfest Friday…

Let’s start things off with some links. Web development’s been on my mind the last few days. There’s a whole other world I’ve been wanting to explore for a couple of years, and I’ve finally collected the information that’ll let me do it.
Redirecting virus attacks — Your neighbor’s got Nimda? Here’s how to get his IIS server to quit harassing your Apache server. (Suggests redirecting to a bogus address; I’m inclined to redirect either to 127.0.0.1 or www.microsoft.com, personally.)

DJG’s help setting up MySQL. Apache, MySQL and PHP are a fabulous combination, but bootstrapping it can be a painful process. People talk about writing a sendmail.cf file as their loss of innocence, but I’ve written one of those and I’ve tried to set up the LAMP quartet. The sendmail.cf file was easier because there’s a whole lot more written about it.

Short version: Use Debian. Forget all the other distributions, because they’ll install the pieces, but rarely do they put the conduits in place for the three pieces to talk. It’s much easier to just download and compile the source. If that doesn’t sound like fun to you, use Debian and save some heartache. If you’re stuck with the distro you have, download ApacheToolbox and use it. You’ll probably have to configure your C/C++ compiler and development libraries. That’s not as bad as it sounds, but I’m biased. I’ve compiled entire distributions by hand–to the point that I’ve taken Linux From Scratch, decided I didn’t like some of the components they used because they were too bloated for me, and replaced them with slimmer alternatives. (The result mostly worked. Mostly.) You’ve gotta be a bit of a gearhead to take that approach.

Debian’s easier. Let’s follow that. Use this command sequence:

apt-get install apache
apt-get install php4-mysql
apt-get install mysql-server

Next, edit /etc/apache/httpd.conf. There’s a commented-out line in there that loads the php4 module. Uncomment that. Just search for php. It’ll be the third or fourth instance. Also, search for index.html. To that line, add the argument index.php. If you make index.php the first argument, access to PHP pages will be slightly faster. Pull out any filetypes you’re not using–if you’ll never make an index page called anything but index.html or index.php, pull the others and Apache will perform better.

Got that? Apache’s configured. Yes, the php installation could make those changes for you. It doesn’t. I’m not sure why. But trust me, this is a whole lot less painful than it is under Red Hat.

But you’re not ready to go just yet. If you try to go now, MySQL will just deny everything. Read this to get you the rest of the way.

Once you’ve got that in place, there are literally thousands of PHP and PHP/MySQL apps and applets out there. If you can imagine it, you can build it. If HTML is a 2D world, PHP and MySQL are the third and fourth dimension.

Am I going to be playing in that world? You’d better believe it. How soon? It depends on how quickly I can get my content whipped into shape for importing.

This is the holy grail. My first editing job was doing markup for the Digital Missourian, which the faculty at the University of Missouri School of Journalism believe was the first electronic newspaper (it came into being in 1986 or so). By the time I was working there in the late summer of 1995, it had been on the ‘Net for several years. About eight of us sat in a room that was originally a big storage closet, hunched in front of 486s, pulling stories off the copydesk, adding HTML markup, and FTPing them to a big Unix cluster on the MU campus. We ran a programmable word processor called DeScribe, and we worked out some macros to help speed along the markup.

No big operation works that way anymore. There aren’t enough college students in the world. You feed your content to a database, be it Oracle or IBM DB2 or Microsoft SQL Server or MySQL or PostgresSQL. Rather than coding in straight HTML, you use a scripting language–be it PHP or ASP–that queries the database, pulls the content, applies a template, and generates the HTML on the fly. The story goes from the copy editor’s desk to the Web with no human intervention.

There are distinct advantages to this approach even for a small-time operation like me. Putting the content in a database gives you much more versatility. Some people want overdesigned Web sites. Some want something middle-ground, like this one. Others want black text on a gray background like we had in 1994. You can offer selectable formats to them. You can offer printer-friendly pages. You can even generate PDFs on the fly if you want–something some sites are doing now in an effort to gain revenue. If you have content from various sources, you can slice and dice and combine it in any imaginable way.

I can’t wait.

Optimizing a Linux box in-place

Here’s the Linux bit I promised yesterday. I wrote it much earlier, so I might as well throw it out there.
Our test firewall at work is an old Pentium-200 running Red Hat Linux and a commercial firewall app. (No, I won’t disclose which one. Security, you know.) It’s a bit slow. A P200 is severe overkill for the firewall built into the Linux kernel (Steve DeLassus and I made a firewall out of the first PC he ever bought, a 486SX/20 of 1992 vintage, which, save the loss of the original power supply in an electrical storm, has never required any service), but this commercial package does a lot more than the simple firewalls built into Unixish kernels do.

It had 72 megs of RAM in it and swapped mercilessly. Its speed seemed to be OK once it was booted, but seeing as this is a testbed, it tends to get rebooted an awful lot. I needed to do something for it.

So I trekked into the PC graveyard to see what I could dig up. I found a Compaq 386DX/20. I left that alone. That’ll be useful if I ever need to pillage a pair of Compaq drive rails, which has happened before. Unfortunately those rails are worth more than the rest of the computer. I also spotted a Mac SE. That’ll be handy if I ever need a doorstop. Then I found a Pentium-75 and another Pentium of unknown speed. I opened them up. The 75 had a pair of 16-meg sticks. I opened up the unknown Pentium and looked inside. Ugh. Socket 4. That meant it was a Pentium-60, or, at best, a Pentium-66. It had a pair of 8-meg sticks.

I pulled the memory sticks out of the 75. The 60 didn’t have anything usable in it, save a pair of hard drives, both 540 megs, one a Quantum and the other a Seagate. I took the Seagate because it was easier to unbolt. I don’t have any way of knowing at this late date which of those drives was the better performer, and it probably doesn’t make much difference anymore.

The idea was to add some memory, and put in a second hard drive dedicated to virtual memory. Since the likelihood of the machine needing to read data from a drive and simultaneously hit virtual memory was fairly high, I wanted the virtual memory on its own drive. Furthermore, Linux’s partition-read
mechanism isn’t terribly efficient. This doesn’t matter for SCSI drives, which re-order I/O events, but for IDE drives it matters a lot. So getting the swap partition onto a dedicated drive was likely to improve performance a fair bit. (If this were a production system, it would probably have a SCSI
drive in it.)

So I swapped in the 16s for the 4s and found an empty bay to hold the 540, which I put on the second IDE channel as master (another performance trick), and booted Linux. The next trick is to use your favorite disk partitioning tool (I like cfdisk, but I can navigate plain old fdisk) to blow away whatever partition is on the new drive (this one was /dev/hdc) and create a single partition. I just made it the size of the drive, since 2.4 can deal with large swap partitions and Linux is smart enough to use whatever virtual memory it needs, not just automatically use all it has available. Then I set
it to type 82. Linux can do swapfiles, but a filesystemless dedicated swap partition gives better performance.

Next, I edited /etc/fstab. I found an entry for the swap partition pointing at /dev/hda2. I changed that to /dev/hdc1. That means I now have a small swap partition just sitting on the first drive unused, but that’s not a big deal to me. The system’s not using the disk space it has. While I was there, I noticed the CD-ROM drive was pointing at /dev/cdrom. I asked Charlie, our Unix/Linux guru, if Red Hat had some intelligence I didn’t know about. He said /dev/cdrom was just a symlink. I changed the entry to read /dev/hdd, which is where the CD-ROM drive ended up after my shuffle. Better to just code things directly than try to track symlinks, in my estimation.

Next, I issued the command mkswap /dev/hdc1 to initialize the swap partition. Then I rebooted and listened.

Indeed, during boot, the second drive was getting activity. I logged in and ran top, then hit shift-M to have a look at memory usage. The firewalling software was eating up a lot. But swap usage was down.

I decided to try cutting memory usage down a little more. I loaded /etc/inittab into vi. Red Hat by default gives you six virtual consoles. This machine has little need for more than two. Pulling the extras saves you a couple of megs. Near the end of the file you’ll see several lines that look something like this:

1:2345:respawn:/sbin/mingetty 38400 tty1

I commented out the last four of those. Hit the i key to put vi in insert mode, scroll down to those lines, add a # to the beginning of them, then hit ESC, then hit ZZ (shift-Z twice) to rapidly save the file, no questions asked. (I know, vi ain’t friendly, but it’s there.)

Then I had a look at /etc/rc3.d to see what daemons were running. I found apmd, sendmail, and gpm running. That was a waste of a couple megs, not to mention a possible security risk. I vaguely remember all three of them having had security issues in the past, and sendmail is one of those programs that should never be running unless you need it. Yes, this machine’s just practice, but Hall of Fame catcher Johnny Bench found that if he got sloppy and just let wild pitches go while he was warming up pitchers, he wasn’t as sharp at blocking potential wild pitches during the game when
it counted. So he worked just as hard during practice as he did during the game. Now he’s considered the greatest catcher of all time.

So I applied the Johnny Bench principle and disabled them with the following command sequence:

mv /etc/rc3.d/S26apmd /etc/rc3.d/K26apmd
mv /etc/rc3.d/S80sendmail /etc/rc3.d/K80sendmail
mv /etc/rc3.d/S85gpm /etc/rc3.d/K85gpm

I rebooted to find memory usage down by about 4 megs and the system booted a little faster. It was also more secure.

Total downtime: About 45 minutes.

That was time well spent. I may end up having to just bite the bullet and get some memory, but the system will perform better with these changes no matter how much memory is in it. And, more importantly, performing this exercise made me notice something I hadn’t noticed before. It let me tighten up security.

Had I blindly just ordered some memory to put in the system, or a new PC, like some people unfortunately advocate, I wouldn’t have necessarily noticed that as quickly.


Speaking of Linux, I did finally get Apache, PHP, and MySQL all talking together on my church’s 486. I used phpWeblog, which is an awfully nice package. Pages load in an acceptable two seconds. I notice the machine is paging, so a little more memory will probably help that. It’s amazing that people are throwing away Pentium-class machines when even a 486 has enough power to be a decent intranet server.

Not everyone’s so fortunate as you and me. Give ’em to someone who can use them if you don’t want them.

Back to the old grind again.

You are my addiction
My pleasure and my pain
You’re my infection
Disease, you burn my brain
–Pale Divine
That song was either talking about a girl or about cigarettes. I’m not sure which. But my addiction is something else. You’ll understand in a minute.

Conversation with Gatermann. “Something big came out this week,” I told him.

He took a few shots in the dark. Ridiculous things, like Windows XP.

“What are the necessities of life?” I asked.

“Women–“

“More important than women,” I said.

“More important than women!? What’s more important than the advancement of mankind?”

“You’re getting warm,” I said.

He stumbled around a really long time. He even said the settlement with Microsoft, which really got me going. Microsoft deserved to be run over by a steamroller. Very slowly. What they got wasn’t even a slap on the wrist. It was more like a warm caress. Excuse me while I gag. I dropped hints so he’d quit saying such repulsive things. It involves a computer but not an operating system. It’s not hardware, it’s software. Unfortunately, it only runs under Windows for the moment. Finally he started getting warm.

“Something to do with Railroad Tycoon?” he asked.

“Railroad Tycoon is indeed one of the necessities of life,” I pontificated. “You’re getting close.”

“More important than women and Railtycoon…”

“No, on par with Railtycoon,” I said. “And I’ll give you another hint. It’s not Baseball Mogul.”

He stumbled around some more.

“C’mon, Tom! What other games do I play?”

The answer is, of course, Civ3. I remember when I bought Civ2. The cashier was female, a year or two younger than me probably. “I love this game,” she said as she checked me out. Er, as she rang me up. I don’t know if she checked me out or not.

But because I’m a real dipstick, I didn’t propose to her on the spot. I didn’t even ask her out. Yeah I know. I coulda dated someone whose idea of a good time was a Civ bingefest.

Other stuff. If you ever put a parallel scanner on an NT4 workstation and run into all sorts of problems like bluescreens and service/driver failures at startup, check to make sure your parallel port and your sound card aren’t using the same interrupt. Better yet, get a real–I mean SCSI–scanner and use parallel ports for what they were designed. That’s printers, not Zip drives. If the interrupt’s free, the scanner will work, but you can forget about any other process getting any CPU time while you’re scanning.

I found a nice groupware app at www.phprojekt.com. It requires PHP, Apache, and MySQL. Not quite an Exchange killer but the price is sure right. And Exchange sure hurt Notes, because it’s cheaper, even though Notes is completely in another league.

And if someone complains about banner ads on your corporate intranet, check and see if Gator is installed. Then slap the hand of the dolt who installed it. (Probably the same dolt who went and bought a parallel scanner at CompUSA for 25 bucks and came in and told you to make it work.)

Linux and PC cubes

PC cubes! Yes, I want a cube-shaped computer, because it’s small. No, I don’t want one made by Apple, or an obsolete NeXT (I used those in college when I couldn’t get time on an SGI). I want something small and cheap, and if it’s reasonably good looking, that’s a bonus.
Enter the Shuttle SV24.

Unlike Apple’s cube, it has a brushed-alumninum case, so it won’t crack. Just like Apple’s cube, it generates extreme reactions, and not everyone who likes Apple’s cube likes Shuttle’s.

I admit, it doesn’t have Apple’s styling. But I like Lian-Li’s styling a lot better. I wouldn’t put this in Lian-Li’s league either. But it’s certainly no uglier than any of the PCs I own now, and it’s small and light. So yeah, it has me thinking.

Where can you get one? Two of my favorite vendors have it, at a price of $250: Newegg.com and Mwave.com.

I also saw on Ars’ forums that MSI makes a slimline PC called the 6215. Newegg has it (search for “6215”) for $210. It’s tiny, but has two PCI slots and is more conventional-looking. I’m thinking the 6215 would be great for a server appliance, seeing as it has two PCI slots so you could put a SCSI card in it. You could also disable the onboard Realtek NIC and replace it with a card like an Intel EtherExpress Pro that uses less CPU time.

More Linux. The biggest thing holding me back from migrating to SupaSite is its requirement of the Apache, MySQL and PHP trio. I’ve tried to get those three to work together before, and the setup wasn’t exactly trivial, especially when trying to do it from RPMs. It looks like it’d be a whole lot easier to just compile it yourself. But this past week I found Apache Toolbox, which downloads the source for those three, plus bunches of Apache modules and compiles them for you. It sounds like it even helps out with configuration. I’ve gotta give this one a shot.

Mail server successful!

A lightweight Windows web browser. Windows!? What’s that? Yes, I still use it at work, even though my Windows time at home is dwindling. A couple of weeks ago I told you about Dillo, a superfast, minimalist Web browser for Linux that’s in development. It’s still considered alpha-quality; I’ve had absolutely no trouble with it but some readers report it crashes on them occasionally. I’ve had enough success with it that I want it at work.
Well, I didn’t get my wish exactly, but yesterday at work after following a link to a link to a link while looking for something else (you know how that goes–you never find what you’re looking for when you’re looking for it, on the Web or in real life) I found Off By One a free standards-compliant HTML 3.2 browser. Its executable is a full 1.1 megs in size. There are sites it won’t render quite right, because it lacks Java and JavaScript and it’s an HTML 4.0 and CSS world out there these days, but it’s the fastest browser I’ve ever seen on Win32. If I had to live with Windows 9x on a 486 or a slow Pentium, this is the browser I’d want.

A nice-looking Weblog package. I found a blogger on Freshmeat called Supasite. It doesn’t look like it does a nice calendar by default like Greymatter, but it does categories, natively. And it looks like nothing would stop me from changing the system date and putting in entries from way back when, so I could start moving content in from this site’s previous incarnations (including some stuff that hasn’t been online for most of this year). Greymatter breaks when you try to do that.

The downside? Setup is much more difficult, since it relies on PHP and MySQL, in addition to Apache and Perl.

Local mail server revisited. I figured out what I was doing wrong. To get exim, procmail, fetchmail, and courier-imap all working together, I had to do a couple more steps. First, I had to create a maildir for my non-priveliged account with the maildirmake command. Next, I created a .forward file:
# Exim filter
save $home/Maildir/new/

Next, I created a .procmailrc file:
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/new/
LOGFILE=$MAILDIR/Maillog

Then I ran fetchmail manually. It pulled down three messages from my SWBell account. I connected to the experimental server with Sylpheed and… I had mail! Suh-weeet!

Now if I can just get one of those canned spam filters running, I’ll be a very happy camper…

04/01/2001

Mailbag:

HD; Impressions; Apple RAM; DOS Utility

I spent some time Friday at my alma mater, giving a presentation at their second annual Technology Fair. I talked about the publishing industry, and how technology gives me something to write about, and allows me to write about it comfortably. Without e-mail, I never could write for Computer Shopper UK.

A lot of my fomer teachers are retired now, or nearing retirement. My journalism instructor is giving up that class next year so someone younger can come in–she retires in three years. My CS instructor is retiring in two or three years. My geology instructor told me about changes to the science program–they’re a lot more serious about teaching science now than they were in my day. Had it been that way when I was there, I’d have complained a lot, but they probably would have made an engineer out of me. Scary thought.

My former lit/writing/speech instructor asked how my books were doing and what I was up to. I told him I was learning the Queen’s English. He laughed and said it was about time. I complained about how the British use plurals and commas and acronyms, and he alternated between grinning, nodding, and rolling his eyes. At least I’m not the only one who thinks it’s strange–and it’s really good to know that the one who used to spill barrels of red ink on my papers struggles sometimes with the British way of writing things. He told me to let him know when I write something other than a computer book–he said even a Dummies book is probably too much. I told him the atrocious royalty rates a Dummies book pays. He couldn’t believe it. Andy Rathbone and Dan Gookin made money off their Dummies books, certainly. But at 25 cents a copy, most authors won’t make much.

The vice-principal came up, admired my published work, and said, “That’s so cool! I can point at this and say, ‘I know that guy! I used to yell at him!'”

That he certainly did. I did learn one really useful thing from him though. I was a sophomore, about to get fired from my first job (I thought). He saw I was down and asked me one day what was going on. I told him. “You know what you can learn from this?” he asked. I shook my head. “Imagine, if you’re a single mother of three with no education and no marketable skills, so all you can do are these Mickey Mouse jobs. You’re completely and totally at the mercy of those people. Doesn’t that make you want to stay in school and get out of there?” I don’t know if that tactic would work with anyone else, but it worked on me.

Going back made me feel old though too. One guy came up to me. “You know my brother.” He said his name. Uh, yeah, his brother and I were best friends. The last time I saw this guy, he was probably in the fifth grade, if that. Now he’s getting ready to go off to Mizzou and major in business. Remarkable. I thought I spotted another former classmate’s kid sister, but she didn’t say anything to me.

Afterward, one of the students showed me a Web application he’s putting together in PHP. It’s nowhere near finished, but when it’s done, it’ll be better than the commercial app the shcool is using now. I felt a long way from hacking out programs on my C-128, which was what I was doing when I was his age.

I’m jealous. In some regards, George W. Bush has the world’s coolest job.

Uh oh. I know they had this idea before I printed it, but the day after I suggested someone needed to copycat Apple’s cube design and put a VIA C3 chip in it, I read this.

Another source. Regular readers of the irreverenet British IT publication The Register will undoubtedly recognize the name Mike Magee. Well, The Great Magee has had some health problems of late, and then along the way it seems he’s split with the Register and gone off on his own, and at least one of his former staffmates seem to have followed him. You can find his stuff at http://theinquirer.net .

Monitors. I ordered a 19″ NEC FE950 monitor last weekend, the black model, since the place I ordered from was out of stock on the white. I got a good price on it too–$386 before shipping. I remember when a 14″ RGB monitor used to cost about that much. Sure, that was 15 years ago, but hey, I remember it. And that’s before calculating inflation. Very nice price. By way of comparison, my dear departed NEC Multisync II monitor cost about $910 new after adjusting for inflation. How far we’ve progressed.

Well, sorta. Back in those days, you ordered something over the phone, and it showed up about a month later. These days, when you order from someone reputable, stuff shows up in a week or less. And if you need it overnight, you can definitely get it overnight. But not this time. Not from this place. I order on Saturday. They finish processing my order on Thursday and ship it, but they haven’t notified me of the tracking number yet. I didn’t order from my usual sources–this place was considerably cheaper–and I know, you get what you pay for. But these guys had a pretty good ranking on reseller ratings, and a Computer Shopper reader’s choice award and a Better Business Bureau membership to boot. How bad can they be?

Well, by 1986 standards they’re still doing OK. But it’s a darn good thing I wasn’t in a hurry.

And I just realized, I could have used that logic to justify a 15-inch flat panel. Oh well.

Mailbag:

HD; Impressions; Apple RAM; DOS Utility