Fare thee well, goodnight, and goodbye to my friend, OS/2

Last Updated on September 30, 2010 by Dave Farquhar

The Register: IBM has finally brought the Great Rebellion [OS/2] to a close.
The Register was the only online obituary that mentioned eComStation, a third-party OS/2 derivative that everyone forgets about. Interestingly, the product literature never mentions OS/2 by name, only bragging about its technology licensed from IBM.

The Reg also talked about OS/2 version 3 being positioned as a gamer’s OS. Maybe that’s ironic, coming from the suits at IBM, and that wasn’t how I saw it–I switched from Windows 3.1 to OS/2 because, coming from an Amiga, I was used to being able to multitask freely without a lot of crashes. Windows 3.1 crashed pretty much every day if I tried to do that. OS/2 knocked that number down to about once a year, and usually those lockups happened when I was running Windows apps.

Even though I never really thought of it that way, OS/2 was great for games. Since it used virtual DOS machines, each environment had its own memory management, so you could fine-tune it and avoid shuffling around boot disks or struggling to master the DOS 6.0 boot menus. Pretty much no matter what you did, you got 600K or more of conventional memory to work with, and with some fine-tuning, you could bring that total much higher than you could usually attain with DOS. Since 600K was almost always adequate, most games just ran, no sweat.

The other thing I remember is the speed at which DOS games ran. Generally, running it under OS/2 gained you a speed grade. A game running under OS/2 on a DX2/50 felt like a DX2/66 running under DOS would feel. An OS/2 wizard could usually squeeze yet more performance out of the game with some tweaking.

I have fond memories of playing Railroad Tycoon, Civilization, and Tony LaRussa Baseball 2 on my Compaq 486 running OS/2 v3.

And there was another really nice thing about OS/2. When I bought a shiny new Pentium-75 motherboard and CPU and a new case, I pulled the hard drive out of the Compaq and dropped it into the Pentium. It just worked. All I had to do was load drivers for my new video card, since it used a different chipset than my 486.

And the cult of OS/2 won’t go away just yet. The talk over at os2voice.org has me almost ready to install OS/2 again.

Roll your own news aggregator in PHP

Last Updated on April 16, 2017 by Dave Farquhar

M.Kelley: I’m also wondering how hard would it be to pull a PHP/MySQL (or .Net like BH uses) tool to scrape the syndicated feeds off of websites and put together a dynamic, constantly updated website.
It’s almost trivial. So simple that I hesitate to even call it “programming.” And there’s no need for MySQL at all–it can be done with a tiny bit of PHP. Since it’s so simple, and potentially so useful, it’s a great first project in PHP.

It’s also terribly addictive–I quickly found myself assembling my favorite news sources and creating my own online newspaper. To a former newspaper editor (hey, they were student papers, but one of them was at Mizzou, and in my book, if you can be sued for libel and anyone will care, it counts), it’s great fun.

All you need is a little web space and a writable directory. If you administer your own Linux webserver, you’re golden. If you have a shell account on a Unix system somewhere, you’re golden.

First, grab ShowRDF.php by Ian Monroe, a simple GPL-licensed PHP script that does all the work of grabbing and decoding an RDF or RSS file. There are tons of tutorials online that tell you how to code your own solution to do this, but I like this one because you can pass options to it to limit the number of entries, and the length of time to cache the feed. Many RDF decoders fetch the file every time you call them, and some feeds impose a once-an-hour limit and yell at you (or just flat ban you) if you go over. Using existing code is a good way to get started; you can write your own decoder that works the way you want at some later date.

ShowRDF includes a PHP function called InsertRDF that uses the following syntax:
InsertRDF("feed URL", "name of file to cache to", TRUE, number of entries to show, number of seconds to cache feed);

Given that, here’s a simple PHP page that grabs my newsfeed:


<html><body>

<?php include("showrdf.php"); ?>

<?php

// Gimme 5 entries and update once an hour (3600 seconds)

InsertRDF("https://dfarq.homeip.net/b2rss.xml", "~/farquhar.cache", TRUE, 5, 3600);

?>

</body></html>

And that’s literally all there is to it. That’ll give you a very simple HTML page with a bulleted list of my five most recent entries. Unfortunately it gives you the entries in their entirety, but that’s b2’s fault, and my fault for not modifying it. I’ll be doing that soon.

You can see the script in action by copying and pasting it into your Web server. It’s not very impressive, but it also wasn’t any effort either.

You can pretty it up by making yourself a nice table, or you can grab a nice CSS layout from glish.com.

I can actually code tables without stealing even more code, so here’s an example of a fluid three-column layout using tables that’ll make a CSS advocate’s skin crawl. But this’ll get you started, even if that’s the only useful purpose it serves.


<html><body>

<?php include("showrdf.php"); ?>

<table width="99%" border="0" cellpadding="6">

<tr>

<td colspan="3" align="left">
<h1>My personal newspaper</h1>
</td>

</tr>

<tr>

<td width="25%">

<!--- This is the leftmost column's contents -->

<!--- Hey, how about a navigation bar? -->

<?php include("navigationbar.html"); ?>

</td>

<!--- Middle column -->

<td width="50%">

<p><h1>Dave Farquhar</h1></p>

<?php

// Gimme 5 entries and update once an hour (3600 seconds)

InsertRDF("https://dfarq.homeip.net/b2rss.xml", "~/farquhar.cache", TRUE, 5, 3600);

?>

</td>

<!--- Right sidebar column -->

<td width="25%">

<p><h2>Freshmeat</h2></p>

<?php

InsertRDF("http://www.freshmeat.net/backend/fm-releases-software.rdf", "~/fm.cache", TRUE, 10, 3600);

?>

<p><h2>Slashdot</h2></p>

<?php

InsertRDF("http://slashdot.org/developers.rdf", "~/slash.cache", TRUE, 10, 3600);

?>

</td>

</tr>

</table>

</body></html>

Pretty it up to suit your tastes by adding color elements to the <td> tags and using font tags. Better yet, use the knowledge you just gained to sprinkle PHP statements into a pleasing CSS layout you find somewhere.

Finding newsfeeds is easy. You can find everything you ever wanted and then some at Newsisfree.com.

Using something like this, you can create multiple pages, just like a newspaper, and put links to each of your files in a file called navigationbar.html. Every time you create a new page containing a set of feeds, link to it in navigationbar.html, and all of your other pages will reflect the change. This shows another nice, novel use of PHP’s niceties–managing things like navigation bars is one of the worst things about static HTML pages. PHP makes it very convenient.

0wnz0r3d by an electrical storm

Last Updated on September 30, 2010 by Dave Farquhar

We had some more downtime yesterday as my DSL connection got 0wnz0r3d. Not by a script kiddie, but by an electrical storm–thankfully just a rainstorm and not thundersnow–and I fell off the ‘net.
I reset the DSL modem when I got home and all was well.

I’ll be back this evening with a (gasp!) programming piece. Well, pretty lame programming, really. But what good is having the GPL around if you don’t take advantage of it?

A b2 user looks longingly at Movable Type

Last Updated on April 14, 2017 by Dave Farquhar

This web site is in crisis mode.
I’ve been talking the past few days with a lot of people about blogging systems. I’ve worked with a lot of them. Since 1999, I’ve gone from static pages to Manilla to Greymatter to b2, and now, I’m thinking about another move, this time to Movable Type.

At the time I made each move, each of the solutions I chose made sense.

I really liked Manilla’s calendar and I really liked having something take care of the content management for me. I moved to Greymatter from Manilla after editthispage.com had one too many service outages. (I didn’t like its slow speed either. But for what I was paying for it, I couldn’t exactly complain.) Greymatter did everything Manilla would do for me, and it usually did it faster and better.

Greymatter was abandoned right around the time I started using it. But at the time it was the market leader, as far as blogs you ran on your own servers went. I kept on using it for a good while because it was certainly good enough for what I wanted to do, and because it was super-easy to set up. I was too chicken at the time to try anything that would require PHP and MySQL, because at the time, setting up Apache, PHP and MySQL wasn’t exactly child’s play. (It’s still not quite child’s play but it’s a whole lot easier now than it used to be.)

Greymatter remained good enough until one of my posts here got a hundred or so responses. Posting comments to that post became unbearably slow.

So I switched to b2. Fundamentally, b2 was pretty good. Since it wasn’t serving up static pages it wasn’t as fast as Greymatter, but when it came to handling comments, it processed the 219th comment just as quickly as it processed the first. And having a database backend opened up all sorts of new possibilities, like the Top 10 lists on the sidebar (courtesy of Steve DeLassus). And b2 had all the basics right (and still does).

When I switched to b2, a handful of people were using a new package called Movable Type. But b2 had the ability to import a Greymatter site. And Movable Type was written in Perl, like Greymatter, and didn’t appear to use a database backend, so it didn’t appear to be a solution to my problem.

Today, Movable Type does use a MySQL backend. And Movable Type can do all sorts of cool stuff, like pingbacks, and referrer autolinks. Those are cool. If someone writes about something I write and they link to it, as soon as someone follows the link, the link appears at the bottom of my entry. Sure, comments accomplish much the same thing, but this builds community and it gives prolific blogs lots of Googlejuice.

And there’s a six-part series that tells how to use Movable Type to implement absolutely every good idea I’ve ever had about a Weblog but usually couldn’t figure out how to do. There are also some ideas there I never conceived of.

In some cases, b2 just doesn’t have the functionality. In some cases (like the linkbacks), it’s so easy to add to b2 even I can do it. In other cases, like assigning multiple categories to a post, it’s difficult. I don’t doubt b2 will eventually get most of this functionality. But when someone else has the momentum, what to do? Do I want to forever be playing catch-up?

And that’s my struggle. Changing tools is always at least a little bit painful, because links and bookmarks go dead. So I do it only when it’s overwhelmingly worthwhile.

Movable Type will allow you to put links to related entries automatically. Movable Type will help you build meaningful metatags so search engines know what to do with you (MSN had no idea what to do with me for the longest time–I re-coded my page design a couple of weeks ago just to accomodate them). MT will allow you to tell it how much to put into your RSS feed (which I’m sure will draw cheers from the poor folks who are currently pulling down the entire story all the time).

MT doesn’t have karma voting, like Greymatter did (and I had Steve add to b2). I like it but I can live without it. I can probably get the same functionality from page reads. Or I can just code up a “best of” page by hand, using page reads, feedback, and gut feeling as my criteria.

The skinny: I’m torn on whether I should migrate. I stand to gain an awful lot. The main reason I have to stay with what I have is Steve’s custom code, which he worked awfully hard to produce, and some of it gives functionality that MT doesn’t currently have. Then again, for all I know it might not be all that hard to adapt his code to work with MT.

I know Charlie thought long and hard about switching. He’s one of the people I’ve been talking with. And I suspected he would be the first to switch. The biggest surprise to me when he did was that it took him until past 3 p.m. today to do it.

And I can tell you this. If I were starting from scratch, I’d use Movable Type. I doubt I’d even look at anything else.

apt-get install aclue

Last Updated on September 30, 2010 by Dave Farquhar

My boss called a meeting mid-week last week, and if all goes well, there’ll be some changes at work. That’s a very good thing.
I deliberately don’t write about work very often, and only in vague terms when I do, because some things I wrote about work in the past came back to bite me.

I’ve thought blogs were a very useful tool for a long time. When I started my career in 1997, I found myself gravitating towards some embryonic blog-like sites that offered technical information. Eventually enough people egged me into starting one myself. I found myself posting the solutions to my technical problems there, since searching there was much easier than with any tools we had at work. It’s a good way to work in the public eye and solicit ideas and feedback.

Well, my boss took notice. I blog, and so does one of my coworkers (I hesitate to mention him by name, as it might give away my employer, which I’d still rather not do). He visits from time to time, though the only time he’s tried to post a comment, my DSL connection went down (he naturally asked what I was doing to sabotage IE).

At the meeting, where we were talking about new ways to do things, he asked me point-blank to “Set up a weblog like you and [the guy in the cube next to me] have.”

So this morning I asked my mentor in the cube next to me for a MySQL account on one of our Linux servers. Then I installed Movable Type, mostly because both of us have heard great things about it but neither of us (so far) has been willing to risk everything by switching to it. (I know it’s not free for commercial use; call this “evaluation.” For all I know we’ll end up using b2, which is under the GPL, because for internal, intranet purposes, I don’t know that MT offers anything that b2 doesn’t. But if the boss decides he wants us to go live with MT, we’ll fork over the $150.)

The idea is, we can all log onto the blog at the end of the day and write down any significant things we did. Along the way, hopefully we’ll all learn something. And, as far as I can tell, we won’t block our clients from seeing the blog either. That way they can catch a glimpse into what we do. They won’t understand it all (I know I won’t understand all the VMS stuff on there, and the VMS guys may not understand all the NT stuff) but they’ll see something.

We talked about the cluetrain philosophy a little bit. Essentially, both of us understand it as the idea of being completely open, or at least as open as possible, with the customer. Let them see the internal operations. Let them make suggestions. Let them participate in the design of the product or service.

And I think that’s good up to a point.

Robert Lutz, one of the executives who turned Chrysler around before Daimler-Benz bought the automaker and ran it into the ground, wrote a marketing book called Guts: The Seven Laws of Business That Made Chrysler the World’s Hottest Car Company. I’ve got a copy of it on my shelf at work. One of the chapters of the book is titled, “The Customer Isn’t Always Right.” He argued that customers will follow trends and not necessarily tell the truth. Put out a survey asking people if they’d like a heated cupholder in their car, and most of them will say, yes, they’d love a heated cupholder. Everybody knows that a heated cupholder is a useless gadget no one will use, it won’t work right, and it’ll increase the cost of the car without adding any value, but nobody wants to look cheap.

Lutz argued that experts should make decisions. Since cars are the love of Lutz’s life, Lutz knows how to make killer cars. Lutz observed that the redesigned Dodge Ram pickup elicited extreme reactions. People either loved it or hated it. 70% of respondents loved it; 30% of respondents said they’d never go near the thing. Lutz argued that their then-current design had roughly 30% marketshare, so if half the people who said they loved it bought one, they’d gain 5%. So they brought it to market, and gained marketshare.

I suspect the biggest reason why the cluetrain philosophy works is that it helps to make you experts. See enough opinions, and you’ll learn how to recognize the good ones. When you’re clueless, the cluetrain people are right and you look like geniuses. Eventually, you stop being clueless, and at that point, Lutz is right.

The main reason I’m excited about having a blog in place at work isn’t because blogs in IT are trendy and popular and glitzy. (I’d still be using an Amiga if I could get a 68060 accelerator and a Zorro II Ethernet board without spending a grand.) I’m excited about blogs because I think it’ll get us a clue.

My boss typed apt-get install aclue at work today. I don’t think that’ll get us anything. Bgirwf that blog doesn’t get us a clue, I don’t think anything will.

End of the road for CD burners?

Last Updated on September 30, 2010 by Dave Farquhar

I know it wasn’t more than a couple of months ago that I read the Taiwanese manufacturers of CD burners and media were leery about going above 48X. And now Asus has released a 52X burner. There’s a very favorable review here.
So now the fastest write speeds have reached parity with the fastest read speeds, which means burning a 650-meg disc (with this drive, at least) takes two and a half minutes. Rewrite speeds are at 24X, which doesn’t sound as impressive, but is very nice.

Not everyone needs this drive. I burn CDs rarely enough that I’m perfectly happy with my 20X unit (in fact, I’ve still got a quarter-spindle of CDs that will only burn at 12X). Personally, I’m more interested in rewrite speeds than in write speeds these days, since most of the stuff I burn is stuff like Linux CDs with a shelf life measured in months. In two years I won’t give a rip about Debian 2.2 or 3.0, so it’s nice to be able to erase and reuse old discs rather than keeping them around, taking up space.

But people’s needs vary. I’m sure some people are very excited about this drive.

Since I keep drives until they either die or are too slow for me use them and keep my sanity anymore (I have a Sony 2X unit and a Yamaha 20x10x40x unit, both in working order, which should tell you something), I’m definitely going to wait for a 52x52x52x unit. Maybe the industry will surprise us with a 56X write speed, but they’re not going to get much higher. At these speeds, the CDs are spinning at 27,500 RPM–nearly twice the speed of the very fastest hard drives on the market. I’ve read about the theoretical possibility of discs shattering at 50x+ speeds, though I’ve never actually seen that. I have seen discs crack though, which is irritating–even more so if you don’t have a backup copy.

I think this market is about to stabilize.

My contributions to the Wikipedia

Last Updated on September 30, 2010 by Dave Farquhar

When I was checking up on some facts on Joe Jackson, I found the free Wikipedia to be of use. In the very well-done account of the Black Sox scandal (to which I made some minor edits, replacing a couple of odd word choices and fixing some commas), I noticed a link to a non-existent biography of pitcher and ringleader Eddie Cicotte. So I whipped out my Baseball Encyclopedia, opened it up to Cicotte’s statistics, did a couple of Web searches to grab some more detail and check my own memory, and based on those references, I wrote one.
Cicotte was a knuckleballer, but I found the Wikipedia didn’t have an article on the knuckleball either. So I wrote one of those too. Along the way to writing that, I found the Wikipedia had a biography of Hoyt Wilhelm, which I didn’t touch, but didn’t have one of Phil Niekro, the most notable pitcher from my lifetime to throw the pitch. I didn’t write that biography.

I also found there’s no biography of Jimmie Foxx. That wrong will have to be righted by yours truly very soon. As will the criminal exclusion of Mike Sweeney, and the embarrassingly sketchy history of the Kansas City Royals. (The George Brett biography was reasonably complete; I made a few minor additions.) I can see how this can get addictive fast.

I read a while back some astronomical statistic about the Wikipedia’s size, but that it wasn’t yet as big as the Encyclopædia Britannica. I visited it, ready to contribute an article or two, but couldn’t think of anything. I figured I’d write about technology but found all the articles in my area of expertise were already very impressive.

So my contribution to this fount of knowledge is in the area of baseball instead.

Hey, it’s good that it’ll go somewhere.

Tell Pete Rose to crawl back under his rock

Last Updated on April 14, 2017 by Dave Farquhar

Pete Rose really isn’t worth this sentence.
I’m referring to the sentence I just wrote, not the sentence he’s currently serving. The only reason I’m wasting my time on Pete Rose is because this is the weekend and traffic’s going to be down, so I’ll save my worthwhile stuff for a higher-traffic day.

If you’ve never heard of Pete Rose, be glad. If you wish to lose your innocence, here’s Pete Rose in a nutshell: Pete Rose was a baseball player. He played baseball more than 20 years, mostly for the Cincinnati Reds. He holds the record for the most hits recorded by a baseball player. The previous record had stood for nearly 60 years when Rose broke it. (The previous record-holder, Ty Cobb, was a horse’s… backside, but he was honest.) Rose was banned from baseball for life in 1989 for betting on the game. He bet on baseball 400 times. Since that time, he’s been convicted of tax fraud and served time, and he’s also been accused of drug trafficking.

So how was he as a player? His nickname was Charlie Hustle. It wasn’t a term of endearment. Early in his career, other players didn’t like him much. He didn’t have a lot of natural ability. People talk about how Rose was an All-Star at five different positions. What they forget is that he was an All-Star at five different positions because he was one of those players who could play a lot of positions badly. The Reds played him where they could hide him. But to Rose’s credit, he ran out every ball he hit–no doubt some of his hits would have been outs with a more lackadaisical player running–and he took reasonably good care of himself, so he wasn’t hurt a lot and he was still able to play, albeit with severely diminished skills, into his 40s.

But that was part of the problem. As player-manager of the Reds, Rose kept penciling his name into the lineup long after he’d accomplished everything he was going to accomplish as a player, to the detriment of the team. Gary Redus, his center fielder, complained Rose was hurting the Reds by playing himself at first base in 1985, when he could have played slugger Nick Esasky at first base and opened up left field for the fleet-footed Eddie Milner, or for a prospect like Eric Davis or Paul O’Neill. But Pete Rose was too busy chasing glory to do anything like that.

In the 1970 All Star game, Pete Rose barrelled over Cleveland Indians catcher Ray Fosse. Fosse, the best young catcher in the game at the time, was injured in the play and never was the same after that. Rose ruined Fosse’s career, in a game that didn’t even count.

Baseball fans, let’s face it: Pete Rose was David Eckstein without the class.

Rose apologists are quick to point out that none of this is particularly relevant. And to a degree they’re right. Ty Cobb barrelled over more than a few players in his day, and Detroit’s left fielder hated Cobb so much that the team moved Cobb from center field to right field just to keep the two of them away from each other. You don’t ban a guy for life for being a jerk or a poor judge of his own ability or a bad fielder. And Rose apologists point out that Dads pointed to Pete Rose and told their kids they should play baseball like him. (Except for my dad. My dad pointed to Pete Rose and told me if he ever caught me playing baseball like him, he’d beat me senseless. My dad told me to be like George Brett, who played just as hard, was a better hitter anyway, and had class.)

But there’s something a lot of people forget about. A little rule that’s posted in every baseball clubhouse.

The rule, restated simply, says that if you’re involved in any way with a baseball team and you bet on baseball games, you’re banned for a year. And if you’re involved in any way with a baseball team and bet on a game involving your own team, you’re banned for life.

The evidence against Pete Rose isn’t all available to the public. There’s a lot of hearsay that Rose bet on his own team. But even if Rose didn’t, according to the letter of the law, Rose should have been banned for 400 years.

That wouldn’t have been a lifetime ban for Methuselah (assuming he was under age 569 at the time of the last bet), but it would be for Pete Rose and me. And probably you too.

There is a precedent. In 1920, eight members of the Chicago White Sox–pitchers Eddie Cicotte and Claude “Lefty” Williams; infielders Buck Weaver, Arnold “Chick” Gandil, Fred McMullin, and Charles “Swede” Risberg; and outfielders Oscar “Happy” Felsch and “Shoeless Joe” Jackson–were banned from baseball for life for conspiring with gamblers to throw the 1919 World Series (ironically, against the Cincinnati Reds). Although found innocent in a federal court of law, their statistics were struck off the record books and they could never so much as buy a ticket for a professional baseball game.

The ringleaders were Cicotte and Gandil. Most people believe that Jackson and Weaver were innocent–that Weaver knew about it and didn’t tell, and that Jackson knew about it, told, and went so far as to ask to be benched, but took money from the gamblers.

The ban stood until Jackson’s death in 1951.

Of the eight, the only likely Hall of Famer was Jackson. Lefty Williams was only in his fifth full season, and Cicotte would be a questionable candidate if he were eligible, though extrapolated out to a 20-year-career, both pitchers probably would have made it. But since people aren’t elected to the Hall based on what might have been, neither is likely. But Jackson had already distinguished himself by hitting .408 at age 21. Every other player who ever hit .400 over the course of a full season in the modern era is in the Hall of Fame.

Not that it matters any, but some guy nobody’s ever heard of, a guy named Babe Ruth, claimed he learned his batting style by watching Shoeless Joe.

I’m sure by now you’ve sensed my disdain for Rose and at least a small bit of admiration for Jackson.

So I’m going to surprise you by saying I believe Pete Rose belongs in the Hall of Fame. Anyone who hits 3,215 singles belongs in the Hall of Fame.

Sensing a problem, I asked my evil twin, R. Collins Farquhar IV, what he thought. This is a transcript of what he said:

I, of course, have a Solomon-like solution. (One of my favorite things about myself is that I’m so wise. One of my other favorite things about myself is that I’m so humble.) Pete Rose is banned from American Cricket for life. This also disqualifies him from the game’s quaint Hall of Fame. For life. When Pete Rose dies, his life is over, and thus his ban is over. So the simpletons should just wait until Pete Rose dies, and then elect him to the Hall of Fame.

I of course find it disturbing that I agree with everything R. Collins Farquhar IV said about Pete Rose, though not quite everything he said about himself.

What Pete Rose wants most is attention. What Pete Rose needs least is attention. Rose agreed in 1989 to a lifetime ban, and “lifetime” doesn’t mean 13 years. Rose received more than he deserved by getting the privelige of agreeing to it. Joe Jackson didn’t get to agree to his ban.

Had Rose ever shown any signs of remorse, it would probably be different. Steve Howe showed remorse. Darryl Strawberry showed remorse. When they messed up one too many times (or maybe it was because they were just too old to have any chance of being able to come back and be effective ballplayers), baseball sent them packing. Rose apologists point to both of them. But Rose has always been defiant, not remorseful. If he’s sorry, he’s sorry he got caught.

Put Joe Jackson in the Hall of Fame. He’s been dead 51 years. He’s paid his dues.

Let Pete Rose watch Joe Jackson go in. Then let him slither back under that rock he came from and ignore him. And after he dies, there’s no need to wait 51 years. Just put him on the ballot, and the people who saw him play can go on and on about what a great hitter he was, and how fun it was to watch him play the game (A David Eckstein without class can still be fun to watch), and he can go through the same voting process everyone else goes through, and he’ll be elected to the Hall of Fame, likely on the first ballot, and more likely in a red uniform than an orange one.

And then, finally, justice will all be served.

Why I dislike Microsoft

Last Updated on September 30, 2010 by Dave Farquhar

“Windows 2000,” I muttered as one of my computers fired up so my girlfriend could use it. “Must mean something about the number of bugs that’ll be discovered tomorrow.”
She told me she liked Windows and asked me why I hated Microsoft so much.

It’s been a while since I thought about that. She speculated that I was annoyed that Bill Gates is smarter than me. (Which he probably is, but aside from a couple more books in print, it hasn’t gotten him anything I don’t have that I want.) There’s more to it than that.

I’m still annoyed about the foundation Microsoft built its evil empire upon. In the ’70s, Microsoft was a languages company, and they specialized in the language Basic. Microsoft Basic wasn’t the best Basic on the market, but it was the standard. And when IBM decided it wanted to enter the personal computer market, IBM wanted Microsoft Basic because nobody would take them seriously if they didn’t. So they started talking to Microsoft.

IBM also wanted the CP/M operating system. CP/M wasn’t the best operating system either, but it was the standard. IBM was getting ready to negotiate with Gary Kildall, owner of Digital Research and primary author of the OS, and ran into snags. Gates’ account was that Kildall went flying and kept the IBM suits waiting and then refused to work with them. More likely, the free-spirited and rebellious Kildall didn’t want to sign all the NDAs IBM wanted him to sign.

Microsoft was, at the time, a CP/M subcontractor. Microsoft sold a plug-in board for Apple II computers that made them CP/M-compatible. So IBM approached Microsoft about re-selling CP/M. Microsoft couldn’t do it. And that bothered Gates.

But another Microsoft employee had a friend named Tim Patterson. Tim Patterson was an employee of Seattle Computer Products, a company that sold an 8086-based personal computer similar to the computer IBM was developing. CP/M was designed for computers based on the earlier 8080 and 8085 CPUs. Patterson, tired of waiting for a version of CP/M for the 8086, cloned it.

So Seattle Computer Products had something IBM wanted, and Microsoft was the only one who knew it. So Microsoft worked out a secret deal. For $50,000, they got Patterson and his operating system, which they then licensed to IBM. Patterson’s operating system became PC DOS 1.0.

Back in the mid-1990s, PC Magazine columnist John C. Dvorak wrote something curious about this operating system. He said he knew of an easter egg present in CP/M in the late 1970s that caused Kildall’s name and a copyright notice to be printed. Very early versions (presumably before the 1.0 release) of DOS had this same easter egg. This of course screams copyright violation.

Copyright violation or none, Kildall was enraged the first time he saw DOS 1.0 because it was little more than a second-rate copy of his life’s work. And while Digital Research easily could have taken on Microsoft (it was the bigger company at the time), the company didn’t stand a prayer in court against the mighty IBM. So the three companies made some secret deals. The big winner was Microsoft, who got to keep its (possibly illegal) operating system.

Digital Research eventually released CP/M-86, but since IBM sold CP/M-86 for $240 and DOS for $60, it’s easy to see which one gained marketshare, especially since the two systems weren’t completely compatible. Digital Research even added multiuser and multitasking abilities to it, but they were ignored. In 1988, DR-DOS was released. It was nearly 100% compatible with MS-DOS, faster, less expensive, and had more features. Microsoft strong-armed computer manufacturers into not using it and even put cryptic error messages in Windows to discourage the end users who had purchased DR-DOS as an upgrade from using it. During 1992, DR-DOS lost nearly 90% of its marketshare, declining from $15.5 million in sales in the first quarter to just $1.4 million in the fourth quarter.

Digital Research atrophied away and was eventually bought out by Novell in 1991. Novell, although the larger company, fared no better in the DOS battle. They released Novell DOS 7, based on DR-DOS, in 1993, but it was mostly ignored. Novell pulled it from the market within months. Novell eventually sold the remnants of Digital Research to Caldera Inc., who created a spinoff company with the primary purpose of suing Microsoft for predatory behavior that locked a potential competitor out of the marketplace.

Caldera and Microsoft settled out of court in January 2000. The exact terms were never disclosed.

Interestingly, even though it was its partnership with IBM that protected Microsoft from the wrath of Gary Kildall in 1981, Microsoft didn’t hesitate to backstab IBM when it got the chance. By 1982, clones of IBM’s PC were beginning to appear on the market. Microsoft sold the companies MS-DOS, and even developed a custom version of Basic for them that worked around a ROM compatibility issue. While there was nothing illegal about turning around and selling DOS to its partner’s competitors, it’s certainly nobody’s idea of a thank-you.

Microsoft’s predatory behavior in the 1980s and early ’90s wasn’t limited to DOS. History is littered with other operating systems that tried to take on DOS and Windows and lost: GeoWorks. BeOS. OS/2. GeoWorks was an early GUI programmed in assembly language by a bunch of former videogame programmers. It was lightning fast and multitasked, even on 10 MHz XTs and 286s. It was the most successful of the bunch in getting OEM deals, but you’ve probably never heard of it. OS/2 was a superfast and stable 32-bit operating system that ran DOS and Windows software as well as its own, a lot like Windows NT. By Gates’ own admission it was better than anything Microsoft had in the 1990s. But it never really took off, partly because of IBM’s terrible marketing, but partly because Microsoft’s strong-arm tactics kept even IBM’s PC division from shipping PCs with it much of the time. BeOS was a completely new operating system, written from scratch, that was highly regarded for its speed. It never got off the ground because Microsoft completely locked it out of new computer bundles.

Microsoft used its leverage in operating systems to help it gain ground in applications as well. In the 1980s, the market-leading spreadsheet was Lotus 1-2-3. There was an alleged saying inside Microsoft’s DOS development group: DOS ain’t done ’til Lotus won’t run. Each new DOS revision, from version 3 onward, broke third-party applications. Lotus 1-2-3, although once highly regarded, is a noncontender in today’s marketplace.

Once Windows came into being, things only got worse. Microsoft’s treatment of Netscape was deplorable. For all intents and purposes, Microsoft had a monopoly on operating systems by 1996, and Netscape had a monopoly on Web browsers. Netscape was a commercial product, sold in retail stores for about $40, but most of its distribution came through ISPs, who bought it at a reduced rate and provided it to their subscribers. Students could use it for free. Since the Web was becoming a killer app, Netscape had a booming business. Microsoft saw this as a threat to its Windows franchise, since Netscape ran well not only on Windows, but also on the Mac, OS/2 and on a number of flavors of Unix. So Microsoft started bunding Internet Explorer with Windows and offering it as a free download for those who already had Windows, or had an operating system other than Windows, such as Mac OS. In other industries, this is called tying or dumping, and it’s illegal. Netscape, once the darling of Wall Street, was bought for pennies on the dollar by AOL, and AOL-Time Warner is still trying to figure out what to do with it. Once Microsoft attained a monopoly on Web browsers, innovation in that space stopped. Internet Explorer has gotten a little bit faster and more standards compliant since IE4, but Microsoft hasn’t put any innovation in the browser for five years. Want popup blocking or tabs? You won’t find either in IE. All of the innovation in that space has come in browsers with a tiny piece of the market.

One could argue that consumers now get Web browsers for free, where they didn’t before. Except every new computer came with a Web browser, and most ISPs provided a browser when you signed up. So there were lots of ways to get a Web browser for free in the mid-’90s.

And when it came to the excesses of the dotcom era, Netscape was among the worst. But whether Netscape could have kept up its perks given its business model is irrelevant when a predator comes in and overnight renders unsalable the product that accounts for 90% of your revenue.

Allegations popped up again after Windows 95’s release that Win95 sabotoged competitors’ office software, such as WordPerfect and Lotus 1-2-3. Within a couple of years, Microsoft Office was a virtual monopoly, with Lotus SmartSuite existing almost exclusively as a budget throw-in with new PCs and WordPerfect Office being slightly more common on new PCs and an also-ran in the marketplace. It’s been five years since any compelling new feature has appeared in Microsoft Office. The most glaring example of this is spam filtering. Innovative e-mail clients today have some form of automatic spam filtering, either present or in development. Outlook doesn’t. “Microsoft Innovation” today means cartoon characters telling you how to indent paragraphs.

And the pricing hasn’t really come down either. When office suites first appeared in 1994, they cost around $500. A complete, non-upgrade retail copy of Microsoft Office XP still costs about $500.

Pricing hasn’t come down on Windows either. In the early 90s, the DOS/Windows bundle cost PC manufacturers about $75. Today, Windows XP Home costs PC manufacturers about $100. The justification is that Windows XP Home is more stable and has more features than Windows 3.1. Of course, the Pentium 4 is faster and less buggy than the original Pentium of 1994, but it costs a lot less. Neither chip can touch Windows’ 85% profit margin.

And when Microsoft wasn’t busy sabotaging competitors’ apps, it was raiding its personnel. Microsoft’s only really big rival in the languages business in the ’80s and early ’90s was Borland, a company founded by the flambouyant Phillippe Kahn. Gates had a nasty habit of raiding Borland’s staff and picking off their stars. It didn’t go both ways. If a Microsoft employee defected, the employee could expect a lawsuit.

Well, Kahn decided to play the game once. He warmed up to a Microsoft staffer whose talents he believed weren’t being fully utilized. The employee didn’t want to jump ship because Microsoft would sue him. Kahn said fine, let Microsoft sue, and Borland would pay whatever was necessary. So he defected. As expected, Gates was enraged and Microsoft sued.

Soon afterward, Kahn and his new hire were in an airport when a Hare Krishna solicited a donation. Kahn handed him $100 on the spot and told him there was a whole lot more in it for him if he’d deliver a message to Bill Gates: “Phillippe just gave us $100 for hot food because he suspects after this lawsuit, your employees are going to need it.”

He delivered the message. Gates wasn’t amused.

It was a bold, brash move. And I think it was pretty darn funny too. But smart? Not really. Borland’s glory days were pretty much over 10 years ago. For every star Borland could lure away, Microsoft could lure away three. Borland’s still in business today, which makes it fairly unique among companies that have taken on Microsoft head-on, but only after several reorganizations and major asset selloffs.

The only notable company that’s taken on Microsoft in the marketplace directly and won has been Intuit, the makers of Quicken. Microsoft even gave away its Quicken competitor, Microsoft Money, for a time, a la Internet Explorer, in an effort to gain market share. When that failed, Microsoft bought Intuit outright. The FTC stepped in and axed the deal.

The thanks Microsoft has given the world for making it the world’s largest software company has been to sell buggy software and do everything it could to force companies and individuals to buy upgrades every couple of years, even when existing software is adequate for the task. While hardware manufacturers scrape for tiny margins, Microsoft enjoys 85% profit margins on its product. But Microsoft mostly sits on its cash, or uses it to buy companies or products since it has a terrible track record of coming up with ideas on its own. The company has never paid dividends, so it’s not even all that much of a friend to its own investors.

For me, the question isn’t why I dislike Microsoft. The question for me is why Microsoft has any friends left.

This commercial was just wrong

Last Updated on September 30, 2010 by Dave Farquhar

OK, something is horribly wrong here. I was watching TV (that’s not what’s horribly wrong) and there was a commercial (that’s not what’s horribly wrong either) and it reminded me that I’m paying $383 or something a month to lease a Dodge Neon. Got that? Well, this was a car commercial, about leasing another car. For $369 a month.
The car was a Jaguar.

Something’s messed up here.