Computers

In case you hadn't guessed from the lead-in comments to this page, I'm a nerd. In computer terms, this means that although I am quite capable of getting useful things done with a computer, the things I really enjoy doing with computers have rapidly diminishing practical value. For example, a true nerd loves to spend hours optimizing the system settings of his computer, even though the net gain in performance may only be measurable in parts per million.

I am not, however, what I would term a "hardcore" nerd. For one thing, I use object-oriented programming languages, and even visual software design tools, which purists find much too permissive. A hardcore nerd programs in C. It used to be that the hardcore nerds programmed only in assembly language (the ultra-hardcore nerds didn't even condescend to do that, since they had all the opcodes of their target processor memorized in hexadecimal), but the proliferation of processors out there has forced nerds to make some concessions. C is still a good nerd programming language, though. For one thing, it uses as many nonalphabetic characters as possible, so that well-written C programs bear no resemblance to any natural language. Also, it lacks all of the bells and whistles, such as object oriented structures, that clutter up other high-level languages (of course I am talking about pure C here, not C++). This means that all higher level data structures have to be built laboriously by hand, almost as if you were writing in assembler after all.

The argument that non-hardcore nerds usually use when trying to defend their permissive practices to hardcore nerds is that software should be more "open", more "portable", usable by a wider range of people using a wider range of hardware and operating systems. A true hardcore nerd program is written for a specific microprocessor running a specific operating system, whether it be Windows, Unix, MacOS, or whatever. Hardcore nerds see this as right and proper. If there is a big enough payoff to be realized, hardcore nerds are willing to port such a program to a different processor and operating system, but they recognize that in any such case the program will have to be drastically modified in order to be efficient in its new home. To hardcore nerds, the idea behind languages like Java, that the same "code" should run on any hardware and operating system, is simply daft, like expecting a tire that was designed for a passenger car to perform properly when installed on a tractor trailer or a bicycle.

In spite of all these fundamental differences, however, we non-hardcore nerds do have something very important in common with the hardcore nerds: we all believe that it is important to understand how things work, and when the opportunity arises, to make them work better. We are all uneasy at the thought that many non-nerds are willing to let other people figure these things out. We don't feel comfortable not knowing how our computers work. This is why, for example, so many nerds, hardcore and non, are uncomfortable with Windows as an operating system. The idea that Microsoft knows better than anyone else how to write an operating system, and that it is OK for them to keep all the details secret because they have this great knowledge, to a nerd is patently ridiculous. Not only is it obvious to practically all Windows users that Windows has plenty of bugs (if you doubt this, surf the Microsoft Windows Update site sometime and count the number of patches released), but it is equally obvious to practically all nerds that Windows has plenty of flaws even when it is working properly. For example: do you ever wonder why Windows is the only operating system for which anti-virus software is a major piece of the market? Ever wonder why all of the big virus attacks that have made national or international headlines have exploited security flaws in Microsoft programs? (Hint: It's not because all operating systems and software are inherently vulnerable to viruses. *)

This does bring up another issue on which nerds are deeply divided: the operating system issue. The first great dividing line is that, though most nerds agree that Windows is flawed, many nerds (including me) still run Windows. (I don't run Windows exclusively, or even most of the time, because of all the flaws and risks involved, a topic which takes up a good deal of this area of my site; this web site is developed on a Linux machine. But in the eyes of the true Windows opponents, I am still a heretic for touching it at all.) For better or worse, it is true that a wider range of software exists for Windows than for any other operating system (though this is continually becoming less of an issue with Linux, at least--I don't know how it is in the Mac world), so often it is still necessary to run Windows even if you dislike it. But there are also at least two camps among non-Windows users, the Mac camp and the Unix/Linux camp. I personally like Linux and use it for all of my day to day functions on the computer at home, including e-mail and surfing the Net, so Windows is demoted to a few particular apps and specialized functions like games. In the eyes of the Mac camp, though, Linux is a Johnny-come-lately, an interloper, an affront to the patient faith of the Apple loyalists through the years.

It is true, by the way, that many (if not most) of the features that Microsoft has touted or is now touting as great achievements of Windows appeared on the Mac years earlier. For example, Windows 2000 and Windows XP were hailed by Microsoft as allowing "on the fly" networking: being able to plug into a network and be connected without having to reboot your machine. All Apple machines have had this ability for years. Even the graphical user interface itself, which gave "Windows" its name, first appeared on the Mac. (This can't really be counted as an advantage over Linux, though, because various flavors of Unix have also had these features for years.) Another example of this tendency of Microsoft to claim "features" for Windows that other OS's have had for years is automatic updates. Yes, you can go to Microsoft's Windows Update site and download updates and have them automatically installed. You can even set up your computer to do this automatically at night if you have an always-on Internet connection (though I don't recommend that you actually do this with Windows Update--for my reasons why, see the Computer Security article). But this is not a new idea. Anyone familiar with Unix knows that Unix systems have worked this way from the start--people were always swapping code from system to system over networks, dial-up connections, and so forth. (And by the way, when I do "automatic update" on my Linux machine, I can keep on working while the update and install is going on, and I've never had to reboot at the end of it--my system just re-starts whatever drivers or services were updated, and keeps on truckin'. How many times has your Windows machine done that? Mine asks for a reboot after updating or installing just about anything except a new desktop theme.)

The success of Windows in the face of such obvious technical shortcomings illustrates one of the main things that nerds think is wrong with the world: that marketing has more to do with a product's success than good design. A true nerd believes that something which is well designed should spontaneously create the desire in people to buy and use it--through osmosis or telepathic radiation, perhaps. (By the way, if you want a good argument to use against people who think that telepathy and other paranormal phenomena exist, you can just suggest to them that if such things did exist, you can be sure nerds would have figured out how to exploit them by now.)


* - If this statement seems a bit ambiguous, it's meant to. For some elucidation, see my article on Computer Security in this section. back to text


Back to Home Page


Articles

Computer Security: More detail on why Windows has so many security problems and what things you can try if you really want to keep your computer reasonably secure while still being able to surf the Net (if you don't mind never connecting to the Net, that's the most secure way to operate, but very few people these days are willing to go to that extreme).

Digital Rights Management: Also called DRM. This article details why I think it's not a good idea. My discussion here is focused on electronic publishing of e-books and similar products (such as those published by the company owned by myself and my friend Tim Plum, PT Games, Inc), but many of the issues involved are more general and are also addressed in several of the links below, in particular the Trusted Computing FAQ and The Digital Imprimatur.

Update (31 Jan 2005): The Electronic Frontier Foundation (see my link to their home page below) has posted an Endangered Gizmos List of electronic devices that provide real value to us, the users, but are being threatened by content providers for reasons that I discuss in the article above. A good example of why we should be concerned.

Windows vs. Linux File Timestamps: A summary of what I've learned, while home networking a Windows and Linux machine together using Samba, about how hosed Windows 2000's file timestamp display algorithm is.

Why Software Is Not A Service: Some thoughts prompted by reading John Walker's "Programs Are Programs" and thinking about why I had such an instinctive distaste for the idea of software as a subscription service.

Critique of TC Analysis: A critique of the Unlimited Freedom blog's analysis of the Electronic Frontier Foundation's article on Trusted Computing.

Downloads

PLIB: A Python package containing a variety of useful sub-packages, modules, classes, and utility functions. This package is also available from the Python Package Index. (498 KB download)

Note that the "example" programs that come with PLIB include Python versions of the command-line and GUI "IDServer" tools below. Because the Python versions are much easier to maintain and extend, I don't expect to do any further development on the C/C++ versions below (though I'll keep them available for download indefinitely).

EMailFilter: A customizable e-mail filtering program written in Python. Uses the CFilter generic filter client program below (technically, it doesn't require it, but filtering will go a lot slower without it). Like PLIB (which, by the way, is needed to run it), EMailFilter is also available from the Python Package Index. (29 KB download)

SetupHelper: A helper module for Python setup scripts that automates much of the boilerplate code that usually goes into them. Also available from the Python Package Index. (23 KB download)

CFilter: A generic command-line filter client program; it reads its standard input, sends the data to a specified host name and port over a socket, reads back the processed data, and writes it to standard output. The original use case for this was the EMailFilter program (see above), but this tool is completely general and can be used with any data-processing daemon program that reads and writes data through a socket. This program is also registered on SourceForge. (290 KB download)

IDserver: A command-line utility for Unix/Linux to return information from a web server. I wrote it to have a Linux tool that basically does the same thing as Steve Gibson's ID Serve utility for Windows. (571 KB download)

KIDserver: A graphical interface for IDserver using the KDE and Qt GUI libraries for Unix/Linux. (610 KB download)

DeskBar: A simple "toolbar" program for Windows, which I wrote because I got tired of a certain other toolbar program (which shall here remain nameless) always crashing my system because it tries to do so many other things that have nothing whatsoever to do with being a toolbar program. DeskBar reads all the shortcuts in a selected folder and shows them as icons in a toolbar which can be either on the left or right edge of the screen. The default folder is either the "Application Data/DeskBar" folder in your user profile (if you're using a version of Windows that has user profiles--NT or 2000 or XP) or else the same folder as the EXE file (you can put that anywhere--I suggest a subfolder of Program Files), but you can specify a different folder in the program preferences. (239 KB download)

Links

Open Source Initiative: Dedicated, among many other important things, to keeping Microsoft from taking over the world. Of particular interest is the Advocacy page, which makes the case for Open Source Software (OSS) from several different perspectives: for businesses, for customers, and for hackers.

Why Software Should Not Have Owners: Richard Stallman's article on free vs. proprietary software. It was written in 1994, so it's somewhat out of date (mainly in that free/open source software is a much bigger piece of the software pie now than it was then), but the fundamental point is still worth thinking about.

One thing worth noting as background to the above link is that there is a long-standing disagreement between the "free software" and "open source software" communities on the "right" way to refer to software that isn't proprietary. This disagreement is really part of a more fundamental disagreement over what, if any, copyright, patent, or other "property" rights there should be for software. Stallman's article above gives one extreme viewpoint; Eric Raymond's brief comment on Software IPR gives a very different one (one similar to the point of view I take in my article in this section on Digital Rights Management). However, this disagreement, as fundamental (and emotionally charged) as it is, doesn't really affect the main point about non-proprietary software: that it is, in general, simply better than software based on proprietary, secret source code. So it's in our interest as users to discourage proprietary software and encourage non-proprietary software (whether you call it "free" or "open source").

(By the way, if you're wondering just how important open source software really is, see this page on the NetAction.org site about what the computing world would be like without it.

One other brief comment on the subject of open source, not just for applications but for operating systems: if an OS is proprietary, apps tend to be huge conglomerations of features because they have to try and please everybody. It's hard to sustain a business case for writing specifically tailored apps for each user because the app has to prop up the OS. You have to sell a million copies of the app because you have to give the users a reason to buy a million copies of the OS. Otherwise you're out of business. That means you have to keep adding new features even if only a very small subset of users really need them (if indeed any really need them at all).

If the OS is open source, there's no incentive to differentiate it or to try to sustain it with large monolithic apps. An open source OS basically assumes that the business case is built around being able to hack solutions on the fly to individual users' problems as they arise. In an open source OS world, every user can conceivably be running their own unique version of an "application". In fact, the whole idea of a unified "application" that everybody runs a copy of goes away. Instead you have a set of small, efficient, scalable, hackable tools that are yoked together the way each user needs them.

Historically, something like 80-90% of programmer-hours have been spent on the latter type of programming (hacking unique solutions to individual users' problems). That's where most of the coding that really impacts a business' bottom line gets done. So which OS paradigm seems more likely to be the right answer in the long run?

Why Open Source / Free Software: An article about the advantages of OSS, from the more pragmatic perspective typical of the OSS movement, although the article refers to free software as well.

The Art of Unix Programming: Eric Raymond's magnum opus.

Firefox: One of the better web browsers to use instead of Internet Explorer, which I do not recommend using (see the article in this category on Computer Security). The only reason IE is used at all is that Microsoft practically forces it down your throat with Windows, as part of their plot to take over the world (if you think that's a joke, read on). Firefox was spawned from the Mozilla project, which also retains its own browser.

Konqueror: Another better web browser--this is the one I use most often. The interface just feels "clean" to me, and it also integrates seamlessly into KDE, which is the Linux desktop I use most often. Konqueror is also a file manager and file viewer--it has plugins for viewing just about any type of file you can imagine.

Opera: Still another better web browser.

The HTML Hell Page: A catalogue of sins for the Internet age. Guess which browser aids and abets the most of them?

Linux Documentation Project: Another site valiantly trying to keep Microsoft from taking over the world. If you're interested in Linux, this is a good place to start looking for resources.

Gibson Research Corporation: Owned by Steve Gibson, who programmed SpinRite back in the 80's to help stop hard disk errors, and who is certainly a hardcore programmer if there ever was one. Good information on security flaws in Windows, and utilities to help make sure your computer is safe--and he writes 'em all himself, in assembler, yet. Like I said, hardcore. :-)

I should note that Gibson has a number of detractors in the Windows security world; the Wikipedia page on him gives a brief overview of some of the controversies and some good links if you want to know more. I myself would prefer to see some mention of Linux on his web site; he seems to take for granted that Windows is the only OS that his readers could be interested in. But on balance, I've found his site and his utilities to be more useful than not.

By the way, the GRC site also has an interesting and funny FAQ arising from postings to the GRC newsgroup.

Great Hackers: An interesting article by Paul Graham, who is himself a great hacker (two notable achievements of his are Viaweb, the first real web-based application, which is now owned by Yahoo, and a simple method for Bayesian spam filtering).

The Word "Hacker": Another article by Paul Graham, this one on why having people like hackers who are willing to push the boundaries and be unconventional is a good thing, even if it scares the establishment.

Home PC Firewall Guide: A good initial reference if you want to set up a firewall for your home machine (which I strongly recommend if you have a broadband connection--see the article on Computer Security for more on why). Also has many good links on the other necessary elements of security for a home PC, with many more details than I give on this site. I strongly recommend researching these resources in depth for a better understanding of the whole issue.

Free Internet Access in the USA: Yes, it really is possible.

In the Beginning Was the Command Line: An article by Neal Stephenson on the past, current, and possible future situation with operating systems, including an interesting (and entertaining) analogy comparing the various OS vendors to auto dealerships. It also contains considerable more general commentary on contemporary "pop" culture.

NOTE: This article was written in 1999, and by now, even its author admits it's dated (although I still think there's a lot of good food for thought in it). In 2004 a version with comments by Garrett Birkel, bringing it more up to date, was posted on the web--you can read it here. Naturally, when I read these comments, I started thinking of comments of my own, which I ended up posting on this site here.

What Languages Fix: A comparison of various programming languages.

The Halloween Documents: Evidence that Microsoft really does plan to take over the world. (All right, maybe that's a little strong--but not much.) Particularly interesting is Eric Raymond's Anti-Microsoft Jeremiad.

I'd like to add a couple of comments on the page linked to above, and on the general issue of computer security, Microsoft vs. open source, etc. Comment number one: many people are put off by the apocalyptic tone of some open source advocates when they talk about Microsoft, DRM, and so on. Since some of what I've written myself on this site might be seen as having the same kind of tone, it's important to understand one key point: whatever I or anyone else might say about Microsoft's or anyone else's motives is, ultimately, irrelevant to the practical question of how to keep our computers secure while still keeping the freedom to use them as tools of individual empowerment. It doesn't matter whether DRM, or "Trusted Computing", or some other technology, gets adopted and written into law because Microsoft is evil or because nobody with the power to affect the process knows any better. Either way it will be a bad thing. So the key point isn't anyone's intentions: it's the potentially catastrophic results. In other words, you don't have to believe that Microsoft is evil to believe that they shouldn't be allowed to determine the future of computing.

Comment number two: I noticed this bullet in one of the comments on the weaknesses of OSS in Halloween I or II: "No long term development roadmap". Well, why exactly do we need one? Isn't the whole point of Linux and OSS that good software gets written when individual developers respond to individual needs (their own or someone else's)? Isn't the whole point of the bazaar model that software ought to get written only when it's a direct response to some individual need--instead of when some corporate marketroid decides a new "feature" is needed? Why does there have to be some central authority that puts together a "roadmap" of where software ought to go? Of course we know why MS thinks this, since a certain individual there wrote a whole book about what *his* roadmap looks like... But why should the rest of us pay attention? What burning danger is there that can only be averted by having this roadmap?

The answer that seems to be implied by all of MS's statements and actions to date is that the burning danger is having users run software that MS didn't write--with the obvious corollary that the said users would then not have to continue paying MS money all the time to get "improved" versions because the current ones suck (not that the suckage is alleviated by the new versions anyway...). It seems that a paraphrase of H. L. Mencken might be appropriate here: "Microsoft: The haunting fear that someone, somewhere, may be happy with their software."

(I should also note that Microsoft's current stranglehold on the desktop OS market doesn't necessarily mean that the U.S. Department of Justice suit against the company is justified. For one thing, it seems a little inconsistent for the government to be going after Microsoft at the same time as government agencies overwhelmingly use Windows and MS Office. If the government really wants to help break Microsoft's monopoly, why not switch all government computers to Linux and OpenOffice? And Microsoft's business competitors are no better: they're quite happy to have the government hamstring MS instead of doing it themselves by writing better software--in other words, they're doing the same thing that media companies who advocate DRM laws are: trying to get the law to prop up a bad business model. Jerry Pournelle makes this point in this article on the Chaos Manor site.)

CyberInsecurity: The Cost of Monopoly: A paper about the dangers of Microsoft's monopoly on desktop computing.

Center for Democracy & Technology: This site has a much wider scope than just computer security, but that's a significant aspect of it.

The Public Patent Foundation: This site also has a wider scope than just computer-related issues, but software is probably the single biggest area right now where patents seem to be issued where they shouldn't be.

Freedom to Tinker: A blog dealing with DRM and related issues. Seems to be a good site for keeping up to date on pending legislation and news items. One thread in particular is entitled "Is DRM Good For You?" and contains comments from a pro-DRM reader of the blog and the author's rebuttals.

Office Standards Battle Grinds On: Another way Microsoft is continually attempting to take over the world: take their proprietary document formats and make them the "standard", effectively driving all other formats out of business--and collecting fat license fees into the bargain. This EWeek article from a few weeks before the above story gives the scoop on what's really going on.

One comment of my own on the above, for those who are unwilling to buy into the full conspiracy theory of MS wanting to take over the world: as I noted above in my first comment on the Halloween Documents, even if MS isn't evil it's still not a good idea to let them determine the future of computing. Even if we assume for the sake of argument that MS's intentions are wholly benevolent in opening up the Office file formats, that's still not enough. The key point about Linux, OpenOffice, and the OpenDocument file format is not just that the file format is open-it's that the source code to the applications that use the file format is also open. Having the file format open but the source code to the app closed isn't really that much better than having everything proprietary, because ultimately the value of the file format is in the market share of apps that use it. Keeping the app closed source makes it harder for a competitor to cut into that market share even if the file format is open, because (1) any competitor to the closed source app has to write the engine for accessing the open file format from scratch, and (2) the vendor of the closed source app can continually try to add proprietary "extensions" to the open format to keep everyone else running to catch up.

Yes, that's right: having a file format "open", in the sense that it's under the control of an international standards body, doesn't stop individual vendors from trying to hijack it. After all, the same thing has been happening with HTML for years, as MS and its competitors (mainly Netscape) have continually tried to add "extensions" that would require everyone to use their particular browsers. The claim is always that such extensions are needed to add "features" that everybody wants, a dubious claim if there ever was one (see the HTML Hell Page for more commentary in this vein). HTML has more or less survived this process without becoming completely co-opted: there are viable alternative web browsers to IE, though IE still has an undeservedly large share of the market and there are still many web sites out there with "best viewed with..." notices on them (though not all of these sites are using a specific IE extension that makes them unviewable with other browsers--their webmasters are just too ignorant to realize that other browsers can do the same things on their sites that IE can). But that's because HTML wasn't invented by MS; MS just tried to co-opt it. It seems unlikely, to say the least, that the outcome would be that good if the process were started with file formats like those of MS Office that were invented by MS in the first place.

Reasons to avoid Microsoft: Evidence that if Microsoft succeeds in taking over the world (or even succeeds in keeping hold of the part it has already taken over), it will not be a good thing. See my article on Computer Security in this section for my personal take on this (and other related ideas on the more general topic of how to keep your computer reasonably secure).

Microsoft Crash Gallery: Further evidence against letting Microsoft take over.

Annoyances.org: A more comprehensive collection of Windows experiences than the previous link. Also has more general news about Windows and some other miscellaneous stuff.

'High' risk in Symantec antivirus software flaw: Even anti-virus software on Windows isn't immune. This is one reason why I recommend any operating system but Windows on my Computer Security page.

Symantec closes off hiding place for hackers: Another vulnerability with Symantec's software for Windows security (this one in Norton SystemWorks). This article tells about the problem and Symantec's fix.

A comment on this and the previous Symantec link: I'm really disappointed with Symantec. Norton Utilities used to be the class of the world when it came to system administration for DOS/Windows. (Granted, these days if you run Linux you don't need such a tool, but I'm talking about way back when.) Their stuff just *worked*, and could do things nobody else's could. I lost count of the number of times a Norton utility saved my butt, not to mention my data. Now their stuff just seems like so much bloatware.

The Hidden Dangers of Documents: More interesting information about what your Microsoft applications might be hiding from you.

Net Neutrality: An article by Tim Berners-Lee on the correct definition of "net neutrality" for broadband service providers, and why it's important. This has been a topic of some interest lately (June 2006) because the service providers (basically the cable companies and the big phone companies like Verizon) are trying to get Congress to relax regulatory laws so they can treat content preferentially according to its source (for example, some digital phone providers have tried to block VOIP traffic unless it's from their own service). There have been some rather outlandish claims made by the service providers as well, such as the claim that they ought to be able to charge Google a fee for "using their network", even though Google doesn't control how much traffic goes to and from its site (and it already pays a hefty fee to have its site hosted, because hosting fees vary with the amount of bandwidth used). Berners-Lee's article cuts through all the hype and blather (as one would expect) and gives a simple, clear definition of "net neutrality" that can be easily translated into a regulatory scheme.

Trusted Computing FAQ: An excellent discussion of what Microsoft's vision of a "secure" PC would really mean for us, the users--basically, the point made is that when Microsoft talks about a "secure" PC, they don't mean it's secure for us, the users; they mean it's secure for them and other content vendors, so they can make more money by forcing you to use their products. Further evidence that if Microsoft succeeds in taking over the world, it will not be a good thing.

You may find yourself asking, after you read this and the next few links, all seeming to say that the path to a "secure PC" being offered by Microsoft et al is not a good path, the question: Is there a good path? If the claim is that "trusted computing", digital rights management, and so forth are not the way to protect ourselves against viruses, worms, identity theft, etc., what is the way? I talk about this some in my article on Computer Security, but the basic answer is that we don't need to find a "path" to achieving reasonable computer security, because the technologies for doing it (such as public-key encryption, robust operating system designs, and NAT routers) already exist. It's simply a matter of putting them to use, and that's already being done by everyone who surfs to a secure web site (one that uses Secure Socket Layer, or SSL, to encrypt its traffic--any online banking site, for example, will use this to protect the information being sent back and forth when you are using it), uses a gateway router on their high-speed Internet connection, or runs an operating system like Linux. Beyond that, the "path" to better security does not involve technology: it involves common sense. Don't give your personal information out to any person or other entity that you don't trust, and don't do activities that might compromise private information in full public view. If you take those precautions, you're secure enough with the technology that exists right now; if you don't, no amount of additional technology will be good enough.

Trusted Computing: Promise and Risk: An article on the Electronic Frontier Foundation website about Trusted Computing, covering some of the same ground as the previous link (including a discussion of how TC as it's currently being designed basically treats you, the computer owner and user, as an adversary), but also including some ideas for alternate ways of doing "trusted" computing that might be less threatening to users' control over their own computers.

By the way, there is also a critique of the EFF analysis of TC on the Unlimited Freedom blog here. I should note, however, that there are a number of claims in this critique with which I (and probably other critics of TC, though I haven't done any searches to find specific rebuttals) strongly disagree. I've posted my own rebuttal to the critique on this site here.

How Vista Lets Microsoft Lock Users In: An Information Week article by Cory Doctorow about the "Information Rights Management" features in Windows Vista. Two key quotes: first, from the subhead: "Technology called 'Information Rights Management,' combined with copyright law and Windows Vista, give Microsoft the tools to hold users' data hostage in Office." Second, the first sentence of the article: "What if you could rig it so that competing with your flagship product was against the law?" The "Trusted Computing" push is not just theoretical--it's happening. See my article on Digital Rights Management for more on why this is bad.

Yes, Trusted Computing Is Used For DRM: Another Information Week article about the attempts of Microsoft and others to disguise the real possibilities of TC.

What Price for "Trusted PC" Security?: An article about the dangers of TC if we don't ensure that it remains in the control of PC owners and users instead of software providers.

Against TCPA: A good site to keep watching if you're interested in working against trusted computing and its ilk.

Against TCPA

The Digital Imprimatur: An article by John Walker, founder of Autodesk (the company that makes AutoCAD software--he has posted a history of his time with the company, The Autodesk File, on his website), about the dangers of technologies like DRM that can potentially restrict the copying of electronic content. Incidentally, he also has some interesting observations about Microsoft on his site here.

By the way, one issue raised in this article deserves mention here. Walker notes that even the simple use of a gateway router to "shield" your PC (and a local home network, if you have one, as I do) from attack by worms and bots on the Internet is contrary to the original concept of what an Internet node should do. The original intent was that every computer connected to the Net would be "open" in the sense that it would freely communicate with all other computers on the Net; but obviously anyone using a gateway router (which I recommend--see the article on Computer Security above) isn't conforming to this standard, since the computers behind the router aren't "open" and visible to the rest of the Net. Perhaps it's unfortunate that the Net today and for the foreseeable future is simply not safe for that kind of openness any more; it's kind of like the difference between living in a small town where everyone knows everyone else and you can leave your doors unlocked because you trust everyone to respect your property, and living in a large city where you have to be careful who you let into your home and you never go out without locking the door. For better or worse, though, the Internet is now a large city and you have to be careful; that's a price we just have to pay for the greater diversity that the large city provides. But Walker is right that we shouldn't lose sight of the fact that, in the large city as it exists today, how much or how little information we share with the rest of the Net is our choice, and that freedom of choice needs to be preserved; we shouldn't give it up in exchange for an illusory sense of greater security.

I should also note that John Walker certainly recognizes the current state of the Internet--i.e., that it's a large city now and not a small town. He goes into considerable detail about this in another article on his site, entitled The Internet Slum.

The Right to Read. A "fable" by Richard Stallman on a possible future if things like "Trusted Computing" ever do come to pass. A little too allegorical for my taste, but the fundamental point is a good one.

Electronic Frontier Foundation: Good site to keep track of what new or upcoming technologies are being threatened by content providers who are unwilling to change their business models with the times (see my article on Digital Rights Management).

Windows XP Shows The Direction Microsoft Is Going: Another article on the "features" being added to Windows to decrease the amount of control users have over their PCs.

Memo to Media Monopolists: I put this link here because it's related to the issue of online file sharing and digital copy protection, but it's actually quite a bit more general than that. It makes much the same kind of point as the previous two links (a point with which I heartily agree).

Well, I'll Be Damned: I'll resist the temptation to describe this page in more detail; I'll say only that it's another worthwhile read on the failings of Microsoft. It has the virtue of making you laugh, which is something many of the other sites I link to here don't do.

Humorix: A site devoted to "news articles" about the continuing battle of Windows vs. Linux. See if you can guess which OS is the butt of most of the jokes. :)

If you still think I'm being a little hard on Microsoft, check out this article in The Register. Bear in mind this is only one more of many, many, many examples--I could keep on filling up this page with links until it took you an hour or so to scroll down to the bottom. This is your PC; this is Windows; this is your PC on Windows. Any questions?

(Update, August 2006: The Register has sent Bill Gates an invoice for all the problems they've had with Windows.)

Anti-Piracy Windows 7 Update Phones Home to Microsoft Every 90 Days: The latest proof that you don't really own your Windows computer, MS does.