Desktop Linux and the truth about forking

Desktop Linux! I wanna talk a little more about how Linux runs on a Micron Transport LT. I chose Debian 2.2r3, the “Potato” release, because Debian installs almost no extras. I like that. What you need to know to run Linux on a Micron LT: the 3Com miniPCI NIC uses the 3C59x kernel module. The video chipset uses the ATI Mach64 X server (in XFree86 3.36; if you upgrade to 4.1 you’ll use plain old ATI). Older Debian releases gave this laptop trouble, but 2.2r3 runs fine.
I immediately updated parts of it to Debian Unstable, because I wanted to run Galeon and Nautilus and Evolution. I haven’t played with any GNOME apps in a long time. A couple of years ago when I did it, I wasn’t impressed. KDE was much more polished. I didn’t see any point in GNOME; I wished they’d just pour their efforts into making KDE better. I still wish that, and today KDE is still more polished as a whole, but GNOME has lots of cool apps. Nautilus has the most polish of any non-Mac app I’ve ever seen, and if other Linux apps rip off some of its code, Microsoft’s going to have problems. It’s not gaudy and overboard like Mac OS X is; it’s just plain elegant.

Galeon is the best Web browser I’ve ever seen. Use its tabs feature (go to File, New Tab) and see for yourself. It’s small and fast like Opera, compatible like Netscape, and has features I haven’t seen anywhere else. It also puts features like freezing GIF animation and disabling Java/JavaScript out where they belong: In a menu, easily accessible. And you can turn them off permanently, not just at that moment.

Evolution is a lot like Outlook. Its icons look a little nicer–not as nice as Nautilus, but nice–and its equivalent of Outlook Today displays news headlines and weather. Nice touch. And you can tell it what cities interest you and what publications’ headlines you want. As a mail reader, it’s very much like Outlook. I can’t tell you much about its PIM features, because I don’t use those heavily in Outlook either.

The first time I showed it to an Outlook user at work, her reaction was, “And when are we switching to that?”

If you need a newsreader, Pan does virtually everything Forte Agent or Microplanet Gravity will do, plus a few tricks they won’t. It’s slick, small, and free too.

In short, if I wanted to build–as those hip young whippersnappers say–a pimp-ass Internet computer, this would be it. Those apps, plus the Pan newsreader, give you better functionality than you’ll get for free on Windows or a Mac. For that matter, you could buy $400 worth of software on another platform and not get as much functionality.

Linux development explained. There seems to be some confusion over Linux, and the kernel forking, and all this other stuff. Here’s the real dope.

First off, the kernel has always had forks. Linus Torvalds has his branch, which at certain points in history is the official one. When Torvalds has a branch, Alan Cox almost always has his own branch. Even when Cox’s branch isn’t the official one, many Linux distributions derive their kernels from Cox’s branch. (They generally don’t use the official one either.) Now, Cox and Torvalds had a widely publicized spat over the virtual memory subsystem recently. For a while, the official branch and the -ac branch had different VMs. Words were exchanged, and misinterpreted. Both agreed the original 2.4 VM was broken. Cox tried to fix it. Torvalds replaced it with something else. Cox called Torvalds’ approach the unofficial kernel 2.5. But Torvalds won out in the end–the new VM worked well.

Now you can expect to see some other sub-branches. Noted kernel hackers like Andrea Archangeli occasionally do a release. Now that Marcelo Tosatti is maintaining the official 2.4 tree, you might even see a -ac release again occasionally. More likely, Cox and Torvalds will pour their efforts into 2.5, which should be considered alpha-quality code. Some people believe there will be no Linux 2.6; that 2.5 will eventually become Linux 3.0. It’s hard to know. But 2.5 is where the new and wonderful and experimental bits will go.

There’s more forking than just that going on though. The 2.0 and 2.2 kernels are still being maintained, largely for security reasons. But not long ago, someone even released a bugfix for an ancient 0.-something kernel. That way you can still keep your copy of Red Hat 5.2 secure and not risk breaking any low-level kernel module device drivers you might be loading (to support proprietary, closed hardware, for example). Kernels are generally upward compatible, but you don’t want to risk anything on a production server, and the kernel maintainers recognize and respect that.

As far as the end user is concerned, the kernel doesn’t do much. What 2.4 gave end users was better firewalling code and more filesystems and hopefully slightly better performance. As far as compatibility goes, the difference between an official kernel and an -ac kernel and an -aa kernel is minor. There’s more difference between Windows NT 4.0 SP2 and SP3 than there is between anyone’s Linux 2.4 kernel, and, for that matter, between 2.4 and any (as of Nov. 2001) 2.5 kernel. No one worries about Windows fragmenting, and when something Microsoft does breaks a some application, no one notices.

So recent events are much ado about nothing. The kernel will fragment, refragment, and reunite, just as it has always done, and eventually the best code will win. Maybe at some point a permanent fracture will happen, as happened in the BSD world. That won’t be an armageddon, even though Jesse Berst wants you to think it will be (he doesn’t have anything else to write about, after all, and he can’t be bothered with researching something non-Microsoft). OpenBSD and NetBSD are specialized distributions, and they know it. OpenBSD tries to be the most secure OS on the planet, period. Everything else is secondary. NetBSD tries to be the most portable OS on the planet, and everything else is secondary. If for some reason you need a Unix to run on an old router that’s no longer useful as a router and you’d like to turn it into a more general-purpose computer, NetBSD will probably run on it.

Linux will fragment if and when there is a need for a specialized fragment. And we’ll all be the better for it. Until someone comes up with a compelling reason to do so, history will just continue to repeat itself.

Monday, 2 July 2001

Some lucky people get a five-day weekend this week. Not me. I’m off Wednesday for Independence Day. About 30 years ago, my dad and his med school buddies used to go to the Missouri River and shoot bottle rockets at barges to celebrate. I’m not sure what I’ll get to do yet. Last year I had to work the 4th. That was a very nice paycheck, since I worked 60 hours that week anyway, on top of 8 hours’ holiday pay.
I found a use for absurdly high-speed CPUs this weekend. My Duron-750 can simulate a 30-team, 162-game baseball season in its entirety in roughly 3 minutes. Of course a faster CPU will do it even faster. Baseball simulation is very CPU-intensive and very disk-intensive. This 750 has a SCSI disk subsystem in it too. It’s old, but I suspect SCSI’s ability to re-order disk requests for speed helps. I haven’t swapped in an IDE drive to see if it makes a difference. So if you’re a statistical baseball junkie, you can actually justify an insanely fast CPU. It feels strange to call the cheapest CPU on the market today insanely fast, but for most things, the Duron-750 really is.

The other use I’ve found for these CPUs is emulating a 50 MHz 68060-based Amiga at full speed. A Duron-750 isn’t quite up to that task.

I talked about PartImage last week. I used it over the weekend to clone 7 PCs. My church’s sister congregation bought 8 Compaq Deskpro EXs earlier this year and just finished the room they’re going in. So I went in, set one of them up (and tweaked it out, of course–the first reaction of one of the members: “Wow, that sure boots fast!”).

Sadly, many companies seem to use non-profit organizations as a way to just get rid of their junk. Here are some of the jewels this church has been “blessed” with: two 386sx laptops with dead batteries and no power adapters, two XTs, two 286s, a pile of 386sxs, and three 486s. Two of the 486s are old Compaq ProSignia servers with big SCSI hard drives, so I can slap in an ISA NIC and install Linux on one of them and make it a file server. The only thing remotely useful that anyone’s ever given them is a pair of Pentium-75s. But one of the 75s had a 40-meg hard drive in it. That’s the better of the two, though. The other had no hard drive, no memory, and no CMOS battery.

Oh, and I shouldn’t forget the large quantities of busted monitors. They’ve got a room full of monitors. About three of them work. What’s anyone going to do with a bunch of monitors that don’t work? Legally, the church can’t throw any of this stuff away (and shouldn’t) because of all the lead content, which makes them hazardous waste. But the church can hardly afford to pay someone to take it away and dispose of it properly either. We’re talking an inner-city church here. Can you say, “blaxploitation?” I knew you could.

The Pentiums did at least come in standard AT cases though, and nice ones at that. They look like Enlights, but they had Sparkle power supplies in them, Whatever the make, they’re nice and thick so they don’t slice you, there’s lots of wide open space inside, and they have 7 drive bays. So I grabbed the diskless Pentium to make into a router/Squid server/content filter. I ripped out the P75 board and dropped in an AT Soyo Socket 370 board with a Celeron-366 on it. It’ll be fabulous.

The best I can do with most of these systems is to try to make X terminals out of them, assuming I can find a machine beefy enough to host StarOffice for a half-dozen systems. It may not be worth the bother.

One of the 386s had a 420-meg hard drive in it for some reason, so I pulled that drive, hooked it up to the first of the Compaqs, and used PartImage to dump it. I used 480 megs on the drive, so with Gzip compression, the image left just 12 megs free on the drive. Tight fit, but we were OK. Then I just ran around to each of the others, hooked up the drive, and pulled the image. I took the drive home with me so I could burn a CD from it.

That’s good use of free software.

03/21/2001

I accomplished two things yesterday. The first was to set up an experimental Squid Web cache at work. Then I left to go edit video. How nice of me. I hope it held up all day, but I suspect it didn’t have any problems. Linux is awfully reliable.

Mandrake makes it really nice. Basically you do a server install, then once it’s up and going, issue three commands and you’ve got a Web cache. I guess I ought to document what those three commands are, huh? I think they’re written down at work.

The system requirements are steep; you need lots of memory and lots of disk space

And now that I’ve had one, I want another one in my other office. There’s a 133 MHz Power Mac sitting over there with a big disk and a ton of RAM. It’s not useful for running Mac apps because it’s too slow. I think I’ll grab a PowerPC distribution of Linux, install it, grab Squid and compile it, and set it up for over there. Squid needs memory and a good disk subsystem much more than it needs CPU power, and this Mac has both. And I understand Linux loves RISC, so I suspect this’ll make a nice Squid server.

I also spent 7 hours learning how to edit video. This after a half-day at work. I’m emerging from the zone–I’m very difficult to work with because I’ll zone in, forget about my surroundings, and totally lose track of time and other things like food, drink, and rest. It’s almost totally like my body shuts down and it’s just my mind and my hands. Now I’m back, and it’s catching up with me, and sooner than I expected. It must mean I’m getting old.

At any rate… What I learned is that editing video with modern equipment is very easy. Stringing video clips together is as easy as stringing words together. After about four hours’ instruction, I was good enough to put together video that looks outstanding to the untrained eye. Making it look good to the trained eye will take another seven hours’ training and years of experience. I can get the training pretty easily.

Raw skills can be taught, and I guess I had some of them already. I already knew the Mac and I knew page layout, and video layout uses a lot of the same concepts (not to mention keystrokes). Some things have to be developed, and some things you’re pretty much born with. It’s too soon to know how much I lack is developmental and how much is innate.

I think it says something that I don’t even know what equipment we were using–I just ignored everything but the key commands used for stringing together video. I think that’s part of the secret. Pay no attention to the things you don’t need now. You can always learn them when you need them. Master the things you need now. Better to be A-plus at what you need to know now than C-plus at everything, including things you’ll never use and the things you need now. So what if you don’t know much? At least you know something.

And I know this: I want to do this on a PC.

03/07/2001

Virus. I don’t normally give virus alerts because chances are you already know about anything legit before you get around to reading me, but if you get an e-mail attachment named “nakedwife.exe,” don’t run it. It won’t destroy your hard drive and your neighbor’s hard drive and cause your toaster to blow up and your car not to start; it’ll just delete a bunch of files in your Windows hierarchy, which will probably affect system stability greatly, and it’ll e-mail itself to everyone in your Outlook address book (how nice of it).

I’ ll talk more on this tomorrow. Count on it.

Benchmarks. Jerry Pournelle lamented Wintach’s passing this week in his Byte column, and he presented some benchmarks: a Celeron, a P3, and a P4. The Celeron and P4 results were very clearly ludicrous. WinTach, like most benchmarks, gives results that mean absolutely nothing but they may make you feel good about spending money on a new PC.

But most benchmarks are purely synthetic. They tell you what your CPU and memory subsystem are capable of, but the memory load, underlying filesystem and fragmentation level of the drive, all of which dramatically affect performance, don’t play into it. They’re not a very useful tool, WinTach included.

I talked very little about benchmarking in Optimizing Windows for just that reason.

That may be about to change. I’ve seen a few references to CSA Research lately, partly because of their falling out with Intel (their benchmark shows just how little improvement the P4 gives, which Intel didn’t like–and they were working for Intel at the time), but partly because it takes a new approach. The apps installled on your system actually get some use. So suddenly the software aspect of your system comes into play, and the numbers it mean something. Revolutionary thought, that. And, unlike other benchmarks, this one gives a meaningful idea of what dual processors do for you.

The only drawback is that the benchmark only runs on Windows 2000, at least for the time being.

Check it out at http://www.xpnet.com/download.htm .

Keep an eye on this. We might actually, for the first time in over a decade, get some benchmarks that actually mean something.

Mail. I’ve got some good mail, hopefully I’ll get to it tonight. No promises though, I’ve got to put together a Bible study for this week (and come up with something to say for tomorrow). I normally spend 3-4 days writing a Bible study, and I haven’t even started yet. Hopefully this one will be quicker to put together, since I’m using more sources than I did last time. Last time was my Bible and my insights, period. No need for much else, it was a character study, like you’d do with any piece of literature. Heavier topic this time around, so I’m tapping some other people’s brains.

Open source and innovation

Innovation. And of course I can’t let this slip by. Microsoft is trying to say that open source stifles innovation. Steve DeLassus and I have been talking about this (he was the one who originally pointed it out to me), and I think he and I are in agreement that open source by nature isn’t inherently innovative. It may improve on another idea or add features, but most open source projects (and certainly the most successful ones) are clones of proprietary software. Then again, so was a lot of Microsoft software, starting out. Pot, meet Kettle. Kettle, meet Pot.

But although the programs themselves aren’t always innovative, I think the open source atmosphere can stimulate innovation. Huh? Bear with me. Open source gets you in closer contact with computer internals than a Microsoft or Apple OS generally will. That gets you thinking more about what’s possible and what’s not–the idea of what’s possible starts to have more to do with the hardware than it does with what people have tried before. That stimulates creativity, which in turn stimulates innovation.

Need an example? A calculator company called Busicom accidentally invented the personal computer. I’ve heard several versions of the story, but the gist of it was, Busicom wanted to create a programmable calculator. In the process of creating this device, they commissioned the Intel 4004 CPU, the first chip of its kind. There are conflicting accounts as to whether the resulting product even used the Intel 4004, but that’s immaterial–this calculator’s other innovation was its inclusion of a tape drive.

Intel bought back the rights and marketed the 4004 on its own and became a success story, of course. Meanwhile, people started using their Busicom calculators as inexpensive computers–the built-in tape drive worked as well for data storage as it did for program storage. This was in 1970-1971, several years before the Altair and other kit computers.

Four years later, Busicom was out of business but the revolution was under way, all because some people–both engineers at Intel and end-users who bought the calculators–looked beyond the device’s intended use and saw something more.

Open source software frequently forces you to do the same thing, or it at least encourages it. This fuels innovation, and thus should be encouraged, if anything.

Last week’s flood. No, I haven’t answered all the mail about it. I’m going to give it another day before I deal with it, because dealing with a ton of mail is frankly harder than just writing content from scratch. I don’t mind occasionally, but I’d rather wait until a discussion reaches critical mass, you know?

One reader wrote in asking why foreigners care about U.S. gun laws. I don’t really have an answer to that question. I find it very interesting that no American has yet voiced any strong objections to anything I said–I even had a lifelong liberal Democrat write in, and while she stayed to my left, she advocated enforcement of the laws we already have on the books, rather than an outright ban. She’d force more safety classes, but I don’t have any real objections to that notion.

An interesting upgrade approach. The Register reported about a new upgrade board, about to be released by Hypertec, that plugs into any PC with an available ISA slot and upgrades the CPU, video, and sound subsystems. I’m assuming it also replaces the memory subsystem, since pulling system memory through the ISA bus would be pitifully slow.

The solution will be more expensive than a motherboard swap, but for a corporation that has a wide variety of obsolescent PCs, it might be a good solution. First, it’s cheaper than outright replacement. Second, it creates common ground where there was none: two upgraded systems would presumably be able to use the same Ghost/DriveImage/Linux DD image, lowering administrative costs and, consequently, TCO. Third, corporations are frequently more willing to upgrade, rather than replace, existing systems even when it doesn’t make economic sense to do so (that’s corporate management for you).

Depending on the chipset it uses and the expected timeframe, I may be inclined to recommend these for the company I work for. We’ve got anywhere from 30-100 systems that aren’t capable of running Office 2000 for whatever reason. Some of them are just old Micron Client Pros, others are Micron Millenias who were configured by idiots (a local clone shop that we used to contract with way back when–I’ve never seen anyone configure NT in a more nonsensical manner), others are clones built by idiots, and others are well-built clones that just happen to be far too old to upgrade economically.

Many of these machines can be upgraded–the Microns are all ATX, so an Intel motherboard and a low-end CPU would be acceptable. Most of the others are ATs and Socket 7-based. An upgrade CPU would likely work, but will be pricey and compatibility is always a dicey issue, and most businesses are still stuck in the Intel-only mindset. (Better not tell them Macintoshes don’t use Intel CPUs–wait… Someone PLEASE tell them Macs don’t use Intel CPUs! Yeah, I’ll be an Intel lackey in exchange for never having to troubleshoot an extension conflict on a Mac again. But that’s another story.) They all need memory upgrades, and buying SIMMs in this day and age is a sucker bet. Average price of the upgrades would be $550, but we’d have a hodgepodge of systems. If we can get common ground and two years of useful life for $700 from Hypertec, upper management would probably approve it.

486s and Amigas and emulators, oh my

Recovering data from an old large hard drive out of a 486. Someone asked how. No problem.
What do is put both drives in a new(er) system, each on its own IDE channel as master, then autodetect the old drive with the BIOS’ autodetect drives feature. But, to be on the safe side, I don’t boot Windows. I don’t want anything to try to write to the old drive, because it may not work right the first time. Instead, hold down the control key while booting (if you have Win98; if you have Win95, start tapping the F8 key immediately after the BIOS boot screen comes up–if you get a keyboard error, hit F1 when it says, then resume your attack on the F8 key). Select Safe Mode Command Prompt Only from the menu. That will put you at a C prompt.

Your old(er) drive will be drive D. If you had other partitions on the drive, they’ll be lower in the alphabet as Dan said. We can tell you exactly how your drives will be mapped if you remember your partitions (or maybe you’re familiar with how drive letters get mapped already).

Now, I execute a DIR /S D: to see if it produced an error. If it doesn’t, try this to get your data (don’t type the comments in italics):

MD C:RECOVER create a destination for your data
SMARTDRV D- turn on disk caching to speed up –may not work but does no harm
XCOPY /S /E /V D:*.* C:RECOVER copy drive D in its entirety to the destination

With any luck, that’ll safely spirit all your data away to the new drive. This is more convoluted than using Windows Explorer, but it’s safer. (See why I disagree with the people who say command lines are evil and obsolete and we shouldn’t have them anymore?)

If that succeeds, power down, disconnect the old drive, boot Windows, and check to make sure your data is intact and not corrupt. If it fails, reboot, go into the BIOS, and change the translation scheme for the old drive (you have a choice between Normal, Large, and LBA–LBA is usually the default). Lather, rinse, and repeat.

The good news is, I’ve used this method numerous times to move data from old 486s to newer machines, so chances of success, though not guaranteed, are pretty high.

Maybe I don’t want that Amiga 1200 after all… I went ahead and downloaded UAE 0.8.8 Release 8, then downloaded Amiga In A Box, which gives me a nice, souped-up Amiga setup without me having to remember all the nuances of the OS and tweak them myself (including some nice PD and shareware stuff already installed, configured and running). I fed it my Kickstart ROM image and my Workbench disk, it copied the files it needed, and voila, I had a working AGA-compatible Amiga!

The package even includes TCP/IP support. While Web browsing on a 33 MHz machine is a bit slow, I found performance to be almost as good as Netscape 4.x on a 90 MHz Power Macintosh 7200.

I benchmarked it, and on my Celeron-400 with a pathetic Cirrus Logic video card (I really need to get a cheap TNT2) I still compared favorably to a 33 MHz Amiga 4000/030. (My old beloved Amiga 2000 had a 25 MHz 68030 in it.) Since the Amiga’s biggest bottlenecks were with the disk subsystem and the video–they were comparable in speed to the PCs of 1990 and 1991–even a slow-sounding 33 MHz machine runs pretty nicely. I could probably crank out a little extra speed with some tweaking, which of course I’ll do at some point.

Then again, maybe I’ve finally found a use for a 1.2-GHz Athlon… (Besides voice recognition.)

If you have an old Amiga laying around and want some nostalgia, go get this. There’s a ton of legal Amiga software at www.back2roots.org to experiment with. If you don’t have an Amiga but want to see what all the fuss is about, you can get Cloanto’s Amiga Forever package, which contains legal, licensed ROM and OS images. You’ve probably never heard of Cloanto, but they’re one of the largest remaining Amiga software publishers. They’re reputable.

Now I just need to get TransWrite, the great no-nonsense word processor that I bought when I first got my A2000, running under UAE.