Forgot your password?
typodupeerror
It's funny.  Laugh.

New Way To Grade Decay of Computer Installations 561

Posted by timothy
from the use-the-welding-gloves-on-this-one dept.
skojt writes: "I saw this link in Dr Dobb's Journal (the paper edition) about the behaviour of a slowly decaying computer installation. It refers to a Windows installation, but as the author writes, 'But there will shortly be ports to Linux, Mac OS X, and other Unices; we are confident these OSes are just as prone.'"
This discussion has been archived. No new comments can be posted.

New Way To Grade Decay of Computer Installations

Comments Filter:
  • by sllort (442574) on Monday July 29, 2002 @06:22PM (#3974611) Homepage Journal
    Just graph the Kb size of the registry...
    • I was thinking it was more like the Heaviside step function--zero until you install Windows, one thereafter.
    • There are a few apps out there to defragment and rebuild the registry
      which brings it upto speedish again.

      all in all the registry as an idea isn't too bad. but like every database it needs tuning and maintaining.

      • all in all the registry as an idea isn't too bad. but like every database it needs tuning and maintaining.

        So, let's see: if it gets corrupted, you are in big trouble, applications like regedit take forever to search through it, and it needs regular tuning and maintenance. And as a system manager, I have a hell of a time trying to express simple concepts like "take the configuration of sshd from this machine and put it on that other machine" with the registry. So, what again is "not too bad" about it? I can't think of one feature resulting from putting everything into a single database that I as a user or system manager would care about.

    • Feh;

      My registery was at 50k entries just in the user programs area of it, ick. I had to reformat at around that point, I was at the "can just barly boot into 800x600 16 color mode" stage that the article mentions. . . .

      Luckily a simple Win2K install overtop fixed everything. :-D

      But yah, machines do get a bit cruddy, admitidly it was kinda my own fault for, err, installing a few hundred *cough* *cough* applications on that particular machine, though it was NOT my fault that not all of them had decently working uninstall programs.

      All the darned spyware doesn't help either, that stuff doesn't /want/ to uninstall itself. :( Ever. . . .

      Then there are the demo programs that purposly leave parts of themselves behind in the registery when uninstalled just to make sure that you do not do the whole entire "Uninstall 30day trial, reinstall, use for 30 more days" thing. . . . Ick.
  • by blackula (584329)
    I contend that Linux is more prone to installation decay... Just think about all the buildup of dependencies that happens, and those that remain even after the program that depends on them is removed.
    • That's why you use a package manager.

      If you use rpm, then use checkinstall, it will generate rpms out of tar.gz easily, you run it instead of "make install"
    • While Linux is prone to falling into dependancy hell, it doesn't suffer from the same performance degradation that you get in windows. In windows, you seem to have to periodically re-install everything just to get your system to load in a reasonable amount of time. You might get into a dependancy nightmare in Linux when trying to install something new, but the system performance doesn't seem to suffer from cruft related degradation.

      I've found in my Linux experience that if I try be experimental and cutting edge, I end up, eventually, getting into situations where it becomes a major nightmare to upgrade. On the other hand, if I leave my system relatively stock, tools like red-carpet, up2date, or apt-get, do a pretty damn good job of hiding the dependancy hell from me.

      All things considered, I'd rather have it become a pain to install piece of software then to have it be easy and slowly cause my system to become unusable for no apparent reason.
    • In a word, no. I have never had any form if o/s decay in the 7 or 8 years i've been running Linux on all my machines. This is with active installing and upgrading of packages.

      Windows decays in a matter of days, hours sometimes with little more than turning the machine on and off.
    • by johnlcallaway (165670) on Monday July 29, 2002 @09:32PM (#3975672)
      Most cruft can be attributed to users who do not take the time to learn about their computers and what it takes to maintain them. How many people go out and buy a new hard drive when they run out of disk space instead of going through the add/remove programs in Windows, RPM manager in Linux, or wander through all directories and check for things no longer needed.

      I have lived with 10GB for two years now just by pruning cruft whenever I get less than 300MB free. I would love to spend $100 on 80GB, but that would only lead to more cruft.

      Linux/Unix does hold one bit over Windows, there is no single directory that becomes crufted. (Please ... I know everything falls off of slash ... work with me here...) How big is your WinNT directory?? Mine is 1.24GB, and contains 9,191 files. That is 12% of my hard drive space, and 10% of all files, including my p0rn! Linux/Unix doesn't put all of its eggs into one basket, making it a little easier to prune the cruft that builds up, or at least a little less dangerous.

      Face it, unless you and I are willing to spend many hours pruning the cruft on a regular basis, it is often easier to delete and rebuild. Oh yeah ... another thing Linux/Unix has in its favor. If I put all the user directories on a separate partition, I don't lose all my settings when I reinstall Linux.

      Bad registry...evil registry...corrupted registry...
    • by Metrol (147060)
      Three differnet Linux distros I tried to get to liking. Each and every time, "portinstall" on FreeBSD keeps me going back to it.

      I really am glad to see Gentoo starting to implement a similar system. Having that ports tree enables me to keep my system up to date, without lingering dependencies, and without having to go racing out to buy the latest CD.

      Personally, I think the distros like the fact that RPM is such a piece of crap as it ensures that buying a new CD is FAR easier than just upgrading what you have from the Net.
  • by Amazing Quantum Man (458715) on Monday July 29, 2002 @06:28PM (#3974660) Homepage
    Post a link to your server on Slashdot. That'll decay you really quick.
    • The New Adventures of Verity Stob

      Dr. Dobb's Journal August 2002

      Verity is the pseudonym of a programmer based in the UK. She can be contacted at VerityStob@ddj.com.

      Verity Stob has developed a new tool that will help you make rapid diagnoses of sick PCs. A rolling computer gathers "cruft." When you spot a class interface that is no longer used by any client, but that nobody dare delete, that's cruft. It is also the word "seperate," added to a spellchecker's private dictionary in a moment of careless haste, and now waiting for a suitably important document. Cruft is the cruel corruption and confusion inevitably wrought by time upon all petty efforts of humankind. There.

      At Laboratoires Stob, we have been working on the cruft crisis for a while. Recalling the maxim "to control a problem you must first measure it," we have devised a suitable metric, an index of cruftidity. Our first version, presented below, is based on a typical PC installation running Windows 2000. But there will shortly be ports to Linux, Mac OS X, and other Unices; we are confident these OSes are just as prone.

      We would like to acknowledge our debt, in the construction of this instrument, to Rear- Admiral Sir Francis Beaufort. His 1805 scale of windspeeds ("Insurance Claim Force 8. Description on land: Tile blown off roof falls onto litigious neighbour's Toyota Shiny") is as valid and useful today as it ever was. Enough preamble.

      Cruft Force 0. Virgin. Description: The "Connect to the Internet" shortcut is still on the desktop, and the "How to use Windows" dialog appears at logon. Menu animations and the various event-based sound effects -- even the dreaded Microsoft Sound -- seem cheerful and amusing. Likewise, a clandestine installation of the Blue Screen Of Death screensaver (complete with simulated reboot, natch) from the Sysinternals web site is hilarious. Compilers run crisply, and report only sensible, easily resolved errors. There are just nine directories off C:\.

      Filled with the enthusiasm that goes with having a brand new machine, the user resolves to stick to the new-fangled security-conscious temp directory buried deep somewhere below Documents and Settings.

      Cruft Force 1. New. Description: User has taken time to rename cutesy desktop icons incorporating the first person singular possessive pronoun.

      Twice, the mouse cursor has done that poltergeist trick where, with the actual mouse stationary, it drifts three inches due east and then stops. For no reason at all. Works fine afterwards though. Brrrrrrr.

      Cruft Force 2. Comfortable. Description: User has now got around to resetting Explorer so that "web content in folders" is suppressed. Something has made a C:\TEMP directory in the proper place unasked, for which mercy the user guiltily feels grateful.

      A strange entry is found in the System event log: MRxSmb: The redirector was unable to initialise security context or query context attributes. Assiduous googling of the key phrases, up web site and down newsgroup, establishes that, although many have wondered, nobody knows what this means.

      Cruft Force 3. Lived-in. Description: One time in seven when the user starts Word or other Office 2000 app, instead of running, it pretends it is installing itself for the first time and starts a setup program.

      Directory count in C:\ up to 17, and something has pooed a Paradox lock control file there, too.

      Cruft Force 4. Middle-aged. Description: Amount of time from screen showing "real" Windows background to the logon box appearing is >30 seconds. Sometimes cannot "browse" other machines on LAN.

      Get first real BSOD. Uninstall jokey screen saver, replace with SETI.

      An extra disk of huge capacity has been installed. CD-ROM moves from drive F: to drive [:

      Cruft Force 5. Worn out. Description: Some time after bootup, always get a dialog "A service has failed to start - BLT300." What is BLT300? Nobody knows. Although one can manually remove/disable this service, it always reappears two or three reboots later.

      If one double-clicks a document icon, Word takes 4 minutes 30 seconds to start up. But it still works fine if started as a program. Somebody opines that this is due to misconfigured DDE. Or the Mars-Jupiter cusp.

      Cruft Force 6. Limping. Description: [Delphi|Visual Basic|Java] suddenly remembers a trial shareware component -- deleted six months ago because it was rubbish -- and refuses to compile anything until it is reinstated.

      "Web content in folders" Explorer setting switches itself back on unbidden. "Setup" programs start crashing while unpacking their own decompression DLLs.

      Cruft Force 7. Wounded. Description: No longer able to logon using original account as the system freezes, so must logon as "Verity2" or similar.

      There are now nine items in BOOT.INI: the original W2K starter, a brace of two- entries-each NT4s (one Turkish), a Windows 98, and three assorted Linuxen. Left to start up by itself, the machine chooses a broken installation of SUSE and halts with a kernel panic.

      Cruft Force 8. Decrepit. Description: A virus checker is installed at the insistence of IT. This actually improves performance, apparently violating Newton's laws.

      Blue Screens Of Death are served daily. The SETI screen saver, like ET himself, encounters difficulty calling home and despairing during an overnight run creates 312 copies of its icon in an (impressively expanded) system tray that fills half the screen.

      Successful connections to the LAN are very rare.

      Cruft Force 9. Putrefaction. Description: Can only see the 32-GB D:\ partition -- the one which has all the source code on it -- at every third boot. Directory count in C:\ up to 93, partly because some [one/thing] has put a complete (but non- working) installation of the Eudora e-mail client in the root.

      Starting Control Panel shows rolling torch animation. The applet icons never appear.

      Cruft Force 10.Expiry. Description: Machine only runs in Safe mode at 16-color 800×600, and even then for about a minute and a half before BSODing. Attempts to start an app are rewarded with a dialog "No font list found."

      Ordinary dodges, such as reformatting the hard disk(s) and starting again, are ineffective. Cruft has soaked into the very fabric of the machine, and it should be disposed of safely at a government-approved facility. There it will be encased in cruft-resistant glass and buried in a residential district.
  • by slickwillie (34689) on Monday July 29, 2002 @06:29PM (#3974662)
    I've always said that Windows 9x has a half-life of about 12 months.
  • by Anonymous Coward
    Dr. Dobb's Journal August 2002
    Verity is the pseudonym of a programmer based in the UK. She can be contacted at VerityStob@ddj.com.

    Verity Stob has developed a new tool that will help you make rapid diagnoses of sick PCs. A rolling computer gathers "cruft." When you spot a class interface that is no longer used by any client, but that nobody dare delete, that's cruft. It is also the word "seperate," added to a spellchecker's private dictionary in a moment of careless haste, and now waiting for a suitably important document. Cruft is the cruel corruption and confusion inevitably wrought by time upon all petty efforts of humankind. There.

    At Laboratoires Stob, we have been working on the cruft crisis for a while. Recalling the maxim "to control a problem you must first measure it," we have devised a suitable metric, an index of cruftidity. Our first version, presented below, is based on a typical PC installation running Windows 2000. But there will shortly be ports to Linux, Mac OS X, and other Unices; we are confident these OSes are just as prone.

    We would like to acknowledge our debt, in the construction of this instrument, to Rear-Admiral Sir Francis Beaufort. His 1805 scale of windspeeds ("Insurance Claim Force 8. Description on land: Tile blown off roof falls onto litigious neighbour's Toyota Shiny") is as valid and useful today as it ever was. Enough preamble.

    Cruft Force 0. Virgin. Description: The "Connect to the Internet" shortcut is still on the desktop, and the "How to use Windows" dialog appears at logon. Menu animations and the various event-based sound effects -- even the dreaded Microsoft Sound -- seem cheerful and amusing. Likewise, a clandestine installation of the Blue Screen Of Death screensaver (complete with simulated reboot, natch) from the Sysinternals web site is hilarious. Compilers run crisply, and report only sensible, easily resolved errors. There are just nine directories off C:\.

    Filled with the enthusiasm that goes with having a brand new machine, the user resolves to stick to the new-fangled security-conscious temp directory buried deep somewhere below Documents and Settings.

    Cruft Force 1. New. Description: User has taken time to rename cutesy desktop icons incorporating the first person singular possessive pronoun.

    Twice, the mouse cursor has done that poltergeist trick where, with the actual mouse stationary, it drifts three inches due east and then stops. For no reason at all. Works fine afterwards though. Brrrrrrr.

    Cruft Force 2. Comfortable. Description: User has now got around to resetting Explorer so that "web content in folders" is suppressed. Something has made a C:\TEMP directory in the proper place unasked, for which mercy the user guiltily feels grateful.

    A strange entry is found in the System event log: MRxSmb: The redirector was unable to initialise security context or query context attributes. Assiduous googling of the key phrases, up web site and down newsgroup, establishes that, although many have wondered, nobody knows what this means.

    Cruft Force 3. Lived-in. Description: One time in seven when the user starts Word or other Office 2000 app, instead of running, it pretends it is installing itself for the first time and starts a setup program.

    Directory count in C:\ up to 17, and something has pooed a Paradox lock control file there, too.

    Cruft Force 4. Middle-aged. Description: Amount of time from screen showing "real" Windows background to the logon box appearing is >30 seconds. Sometimes cannot "browse" other machines on LAN.

    Get first real BSOD. Uninstall jokey screen saver, replace with SETI.

    An extra disk of huge capacity has been installed. CD-ROM moves from drive F: to drive [:

    Cruft Force 5. Worn out. Description: Some time after bootup, always get a dialog "A service has failed to start - BLT300." What is BLT300? Nobody knows. Although one can manually remove/disable this service, it always reappears two or three reboots later.

    If one double-clicks a document icon, Word takes 4 minutes 30 seconds to start up. But it still works fine if started as a program. Somebody opines that this is due to misconfigured DDE. Or the Mars-Jupiter cusp.

    Cruft Force 6. Limping. Description: [Delphi|Visual Basic|Java] suddenly remembers a trial shareware component -- deleted six months ago because it was rubbish -- and refuses to compile anything until it is reinstated.

    "Web content in folders" Explorer setting switches itself back on unbidden. "Setup" programs start crashing while unpacking their own decompression DLLs.

    Cruft Force 7. Wounded. Description: No longer able to logon using original account as the system freezes, so must logon as "Verity2" or similar.

    There are now nine items in BOOT.INI: the original W2K starter, a brace of two-entries-each NT4s (one Turkish), a Windows 98, and three assorted Linuxen. Left to start up by itself, the machine chooses a broken installation of SUSE and halts with a kernel panic.

    Cruft Force 8. Decrepit. Description: A virus checker is installed at the insistence of IT. This actually improves performance, apparently violating Newton's laws.

    Blue Screens Of Death are served daily. The SETI screen saver, like ET himself, encounters difficulty calling home and despairing during an overnight run creates 312 copies of its icon in an (impressively expanded) system tray that fills half the screen.

    Successful connections to the LAN are very rare.

    Cruft Force 9. Putrefaction. Description: Can only see the 32-GB D:\ partition -- the one which has all the source code on it -- at every third boot. Directory count in C:\ up to 93, partly because some [one/thing] has put a complete (but non-working) installation of the Eudora e-mail client in the root.

    Starting Control Panel shows rolling torch animation. The applet icons never appear.

    Cruft Force 10. Expiry. Description: Machine only runs in Safe mode at 16-color 800×600, and even then for about a minute and a half before BSODing. Attempts to start an app are rewarded with a dialog "No font list found."

    Ordinary dodges, such as reformatting the hard disk(s) and starting again, are ineffective. Cruft has soaked into the very fabric of the machine, and it should be disposed of safely at a government-approved facility. There it will be encased in cruft-resistant glass and buried in a residential district.

    DDJ
    • The poster isn't chasing Karma, but those browsing at +1 may miss this. It is hillarious and so true.

      The main issue with Windows and their apps has been the hideous version control. It has improved since 2K/XP but trying to chase whether a DLL is really needed or not is interesting. Those apps sharing DLLs that install their own versions caus endless fun.

  • "A service has failed to start - BLT300." What is BLT300? Nobody knows.

    Obviously, BLT300 is part of a new strategic alliance between Microsoft and Subway. In addition to having that wretched "Connect to the Internet" shortcut, Microsoft is now trying to influence the user's choice of submarine sandwich.

    Fight back. Install new open source RedHot Club Sandwich Service instead.

  • Windows decay (Score:5, Insightful)

    by laserjet (170008) on Monday July 29, 2002 @06:30PM (#3974679) Homepage
    Based purely on my own experience, Windows does decay quite a bit faster than Linux - but I don't think it's mainly the OS's fault:

    It's mainly the users and the applications. There are so MANY applications for Windows out there that want to put an icon on your descktop, in your system tray, in your start menu, etc. It is no wonder when the decay takes place. All these applications do their own thing to Windows.

    Then, on top of that, you have many, many, many bad installers. They remove some files, sure, but rarely do they get rid of everything, including registry entries.

    Linux has a bit different type of users, and most of the software made for linux is by people who hate "Take-over-your-system-ware" sofware. It also doesn't have the central registry system like Windows. Sure it will have it's problems, but right now it does not. More users and more bad or poorly written apps will cause bloat and decay.

    So, as usual, we must blaim the users and the applications for software decay for the most part. The OS should do some cleanup as well, but gone are the days when uninstalling mean deleting the directory it was installed to.

    • Re:Windows decay (Score:3, Insightful)

      by ender81b (520454)
      Give microsoft some credit though, things have gotten temporarily better in Win2k . I can now have a win2k install for about 1 year before needing to format-whipe-reinstall. The longest I ever lasted with 95 was about 2 months, 98 I think I got to 5 months one time.

      You point out there are many bad installers that leave stuff scattered across the registry, this is quite true. Of course linux has the nice problem of scatter-componets-across-10,000 directorys. I use linux as a server platform instead of a desktop platform for precisely this reason. I can *never* find all the parts of some installs and I despise when a program places itself into 4-5 different directorys.

      gone are the days when uninstalling mean deleting the directory it was installed to.

      Haven't used OS X have we? =) Honestly this is one area where the mac shines. To uninstall something all you have to do is drap-drop into the trash can. Nice and easy.
      • Thinking back to the 109kb exe I ran the other night on Kazaa, and how happy it seemed that I had a LAN at home here, running without apparently doing anything other than flashing my screen for a moment, makes me realize, aside from me being a moron, is that I am dually livid that tonight is the night that both computers decided to "decay". And I just realized how much faster the servers are at work, given that I just spend the past 22 minutes asking a black and white monitor why it couldnt copy 2.2 gig any faster than that. Oh, its going to be a long, long night.
      • by crucini (98210) on Monday July 29, 2002 @09:43PM (#3975708)
        Of course linux has the nice problem of scatter-componets-across-10,000 directorys. I use linux as a server platform instead of a desktop platform for precisely this reason. I can *never* find all the parts of some installs and I despise when a program places itself into 4-5 different directorys.
        If you installed from RPM, rpm -qlp some.rpm. If you installed from source, try make -n install.
    • Re:Windows decay (Score:4, Interesting)

      by jonathan_atkinson (90571) <jonathana@clea n s t ick.org> on Monday July 29, 2002 @07:11PM (#3974934) Homepage
      Sure it will have it's problems, but right now it does not. More users and more bad or poorly written apps will cause bloat and decay.

      I agree; which is part of the reason I quit using Mandrake and rolled my own LFS [linuxfromscratch.org] system. Anything I'm not sure about I make install to /opt/whatever, then add the /opt/whatever/lib path to ld.so.conf. This way I can check out new apps, and if they don't make the grade, I just rm -rf the whole directory. My whole system has stayed pretty clean this way.

      --Jon
    • Those damn users! If it weren't for them, the OS would be infinitely fast. Of course there would be no-one to verify it.

  • by SIGFPE (97527) on Monday July 29, 2002 @06:31PM (#3974684) Homepage
    Quicktime, Windows Media, RealWhatever. They always appear in the task bar and the little icon tray thing at the bottom right. No matter how many times I try to remove the startup items it's guaranteed they will have returned on reboot. Aarrgghh! They even have Control Panel entries. This is software at its most rude and obnoxious. Why does RealWhateverItsCalledThisTime need a goddamned 'Start Center'? What's so special about low quality streamed audio and video that ot needs this special treatment? If every application did this I'd need a 3rd monitor for all the itty bitty icons. No wonder I need 2Gb of RAM!
    • Start --> Accessories --> System Tools --> System Information

      From the Tools menu select System Configuration Utility and then choose what starts and what doesn't.

      YMMV, this can mess up a system if you don't know what you're doing. Most likely you can turn stuff back on if you have problems though.

      (Alternate way - Run... msconfig)
    • Here is what you do: Start->Run, type "msconfig" [without the quotes], press OK. Click the "Startup" tab, uncheck EVERY SINGLE BOX. [it is nearly impossible for you to break your system in this manner, none of the listed programs are required for Windows to boot up, even the important sounding ones like taskmon, so go crazy!] Now close out and reboot. Congratulations! You have successfully un-bloated your Windows installation! If you find that your keyboard volume buttons don't work or you are missing some other feature, do some investigation and find out which program provides the service you want, and only check its box. This simple procedure solves 99% of Windows slowness problems, and foils many adware programs and junkware like RealPlayer.
  • by Aerog (324274) on Monday July 29, 2002 @06:32PM (#3974686) Homepage
    Cruft Force 8.5 Larry Flynt. OS has now filled its system drive partition, thereby reaching more than 3 times its original install. Web browsers will not download files more than 640k, swap file now resides permanently on F: yet C: still has less than 1MB space, all non-essential portions have been removed to a "Temp C: Files" directory on F:, essential system files are beginning to be moved to the temp files, windows/inf is the first target to be moved when an install is needed. Writes random data to HD for fun, windows/sysbackup deleted at regular intervals in order to keep registry errors at bay, more porn than most porn sites.

    Now I have a 10gb system drive and win2k. Only disk errors can slow me down now!
  • Mirror [rogers.com]
  • I've never seen a BSOD on Win2k. Anybody know how to generate one? Does it even revert back to EGA text mode if there is a fault of some sort?

    Otherwise, +1 funny article. It invites the question, is it even possible to make a system that won't decay over time, or at least allow a method for repair? Or is that simply impossible. I would think that removing the registry and reverting back to dos-link inifiles (.rc files) would be a start.

    • Re:bsod, etc. (Score:3, Interesting)

      by laserjet (170008)
      I see BSOD's on Win2k all the time, Win2k Pro and Win2k Server/ Advanced Server. There are a couple of easy ways to do it if you search on Google, but when I see it, it is because of my own doing (i.e. not following directions).

      I have seen Win2k BSOD when explorer froze, when I plugged in 75 hard disks at once (JBODs), and when working the IO really hard as well.

      Still, it is better than NT, but still not perfect.

    • It's framebuffer, like the startup screen. And it is blue, but is different than the 9x BSOD. bost often it is a result of a hardware failure, but still can occur as a result of general Windows behavior. It isn't *nearly* as bad as 9x, but in my experience, still crashes more than any Unix system that I have used.
    • Actually, I believe Win2K just reboots. That's what XP does at least if something happens that would previously have made a BSOD. (You can turn off the auto-reboot, but I don't know what happens then.)

      This is according to a C|Net article and a couple times when Win2K rebooted on me.
    • Re:bsod, etc. (Score:3, Interesting)

      by MrP- (45616)
      heres a good example of a BSOD in win2k.. http://www.win2000mag.com/Files/301/Screen_01.gif [win2000mag.com]

      Although, ive never seen a win2k bsod, just winxp, which looks like the above shot, but i think win2k and xp are the same.
    • Looks just like a BSOD on NT. With some games I find that I'll get a BSOD at least once and sometimes more per night. I havet to assume it's the video driver, but no number of software upgrades have fixed it. So it crashes and i wish I could play the games on linux.
    • ...just turn it on!
    • As per Microsoft. There are no "Blue Screens Of Death" in Windows 2000.

      There are however, "Stop Screens" These are completely different and should not be confused with BSOD.

      Yea, right.
    • One of the easiest ways is to yank a CD out of the drive that it was expecting to be in there for a little while yet. I think this is mainly an issue when running DirectX games and such. It is a recoverable BSOD, but useful if you do want to see one.
    • I get them fairly regularly... Almost always at bootup, even after what appeared to be a normal shutdown, but every once in a while I get them at other times. Usually I get a grievance about something obtuse like bad_pool_caller, but one that's been cropping up every once in a while was a corrupt beep.sys (requiring me to restore that one file and then reboot), causing a BSOD (or whatever it's called now) on system startup.

      God only knows why this happens... I've scanned my system for virii, but none show up. You know, if I could only get printing on my wife's printer working properly from my machine under Linux, I'd never even have occasion to be in Windows in the first place.

  • by jamienk (62492)
    The article implies that a brand-spanking new PC with Windows is cruft-free, e.g., The "Connect to the Internet" shortcut is still on the desktop, and the "How to use Windows" dialog appears at logon...

    But these things are CRUFT! And there's MORE in a "virgin" Windows box:

    • MS Messenger is running in the tray -- asking you sign up for Passport when you 1st log on
    • Windows Media Player is crippled so you can't make good MP3s (or on XP even download and use som other MP3 making software)
    • OEMs install dozens of bullshit programs, many of which launch on boot-up and leave their menus all over the screen
    • A bunch of crap litters the "Send to" right-click menu
    • MS Media player acts like some weird-ass app with no menu, no window, etc...

    It takes a LONG time to get things cleaned up and usable. You used to be able to just wipe the disk and install Windows from scratch, but more and more OEMs are not allowing thins, only giving you some crappy RESTORE disks...

    • by sheldon (2322)
      Windows Media Player is crippled so you can't make good MP3s (or on XP even download and use som other MP3 making software)

      WMP makes perfectly good WMA files, if you want MP3 then you can either purchase an encoder for it(about $10) or buy a third party product like say Musicmatch(about $30). I run Musicmatch on XP and don't have any issues with this, so it's unclear to me why you are claiming I cannot do this.

      I'm going to guess you're one of these people who has never used XP but is convinced it is worse than Win98.
  • Well... (Score:3, Informative)

    by RinkSpringer (518787) <rink@@@rink...nu> on Monday July 29, 2002 @06:37PM (#3974729) Homepage Journal
    ...the upside of an open-source OS is that you can browse through the source and figure out *why* it is messing itself up... :) And most likely, fix it while you're at it.

    That's the power of open source.
    • Re:Well... (Score:2, Insightful)

      by rizzuh (594786)
      Really! Dude, we've like never heard this before!

      Free Software is powerful in many ways, but the idea that you, yourself, can go in and fix decay is kind of silly.

      Correct me if I'm wrong, but all OSes rely on abstraction. Abstraction relies on a bit of bloat.

      Any OS is going to decay over time without micromanagment. Windows will probably decay even if you're the strictest of system operators because it tries to hide everything from the user. Even if we did have the source to Windows, the FIX would be not including so many useless programs.

      Open Source code doesn't solve everything.
  • by Hobart (32767) on Monday July 29, 2002 @06:37PM (#3974730) Homepage Journal
    Building websites for magazines that can survive the "Slashdot Effect"
  • Code Rot - The spontaneous process by which unmaintained code slowly ceases to function properly. Also see entropy and decay.

    No surprise here. Coders like to change things, API's, software, system registries, etc. Unfortunately, they are often unable to clean up after themselves properly.

    -Sean
  • by Baki (72515) on Monday July 29, 2002 @06:43PM (#3974762)
    Especially FreeBSD, but also some other variants and certain Linux distributions such as Slackware.

    I have run FreeBSD for 6 years without a single reinstall, been upgrading all the time (source via cvs, then make world and using mergemaster to merge new config into /etc). For such 'manual' systems like FreeBSD and Slackware, it is possible to know every single significant file on your computer and thus completely avoid 'installation decay'. Their simplistic package managers don't do many tricks, but are fully traceable and understandable.
    • Most every Unix variant is just as prone to this as Windows, depending on how the system is managed. If you use your package management system religiously (be it rpm, deb, SysV pkg, etc.), then you can track everything back down.

      However, the first time that you do a blind make install on some random software package, you start to lose control. Most problems I've run into managing Unix systems are because of this.

      One server where I work now started out (as I understand it anyway) as OSF/1 3.0, then upgraded to 3.2, then Digital Unix 4.0[ABCDE], then Compaq Tru64 Unix 4.0F. Lots of additional software had been installed over the years with little or no thought to tracking what was what (how do you figure, three years after the fact, where /usr/local/lib/libfoo.so came from?). When it came time to upgrade it to Tru64 5.1A, I did not take the upgrade path. Instead, I sat down with a spare server, did a clean (and documented) install of 5.1A. Then I got port of RPM 4.0 for Tru64 working (I'm a Red Hat guy; if I used Debian I'd have used dpkg) and packaged every bit of non-Compaq software we use in RPMs (with our configs built in). There is a well-defined directory for local scripts that has very little in it; every other file on the system can either be tracked via RPM or Tru64's native setld package management system.

      It was a lot of work the first time, but when I upgraded the second server, it didn't take much time at all. Also, when I've needed to upgrade software, it was much easier to start with a source RPM of the previous version with our local changes set up as patches.

      The moral of the story: use your package management system! It may seem like it gets in the way sometimes, but it can save your butt (or your successor's, in the case of a company server) down the road.

  • Benchmarking (Score:5, Interesting)

    by Snuffub (173401) on Monday July 29, 2002 @06:45PM (#3974780) Homepage
    This is one complaint Ive always had about benchmarking with windows systems every test is usualy run after a clean install this is a good way to test the hardware alone and its alright if your comparing between two windows boxes but in my general experience if you dont reinstall windows every 6 months after typical "office" (ie app isntalls, upgrades, crashes, stupid user incidents)use you can lose a fifth of your performance.

    Im not trying to insinuate that other OSes are not at all susceptible to this but at the same time i have to say that my os x machine's performance has _improved_ over the past year (thanks to apple point releases) through hundreds of apps being installed removed and generaly abused. at the same time my linux box where admitedly much less software is fussed with is about the same when i installed red hat 6.2 on it a year and a half ago.

    With that in mind Id be really interested in all those people who are trying to prove a point about one platform or another run their tests under realistic conditions rather than under ideal lab conditions.

    just a thought
  • Plug, plug (Score:5, Informative)

    by Phexro (9814) on Monday July 29, 2002 @06:47PM (#3974793)
    Use Debian [debian.org]. I'm not saying that it's immune to cruft, but the fact that they have close to 9000 packages which all comply with the Debian Policy [debian.org] (as well as the FHS [pathname.com]) means that everything plays nice together, and if it doesn't, it's a bug. There's even a tool called Cruft [debian.org], which will locate cruft on your system.
    • I recently did a fresh reinstall of my Debian system after about 4 years of heavy use and a lot of package installs/purges. In that time, I probably tried a dozens of window managers, games, office suites and other stuff.

      I was finding that I had a lot of cruft in /etc. This was partially files that didn't need to be there, but also files that I had edited manually, so dpkg and friends wouldn't manage them any more. I decided on a fresh reinstall and to restore only files that I really knew I wanted manual control over. It's worked out quite well.

      The thing that really differentiates Unix from Windows in this respect is that you can actually fix cruft problems in a meaningful way. Do a ps aux and see what's running and check the /etc/rc* files for stuff that shouldn't be there. That will take care of cruft-related performance problems.

      Having an aesthetically pleasing /etc is another matter. :-)

  • studying this.

    But really, all Win users I know who know what they are doing typically reinstall every 6-12 months to avoid this. All sheep will call tech support, which will tell them to place "Dell recovery disk" into the cd-rom tray. Anyway, the win machines I manage, (my family's) do not go far past level 5, and then only due to gator / growing registry. Pretty much as soon as explorer starts crashing / freezing continously (which happens way before daily bsod, but just as damaging) it is time to reinstall.

    Now about linux......
    I have been a linux user for about 2 years...The first year I did not have much of a clue -- so cruft was a huge problem...It is called installing newer version of gtk while running debian stable and not using a .deb....ouch....

    A year ago....still learning, I started using slack....and did all my own management....I did get cruft is /usr/share and /usr/lib ... but I knew what I had installed ... and I felt comfortable deleting quite a few files from there...but most of them were used anyway.....
    furthermore....about the only thing that changes in linux, when you have crap in the libs, is that ld.cache is huge, and wasted space on the drive.....but it does not seem to alter performance a bit..or I have not noticed it at all. It simply is not loaded into ram...compare to windows, and you know that the speed of the machine is inversely proportional to the size of the registry.

    But back to cruft on linux -- there are lessons I learned from running my system, and seeing others.

    1. Use a package manager or keep a log of everything installed. Package manager is preferable if it does a decent job. I think both rpm and apt/dpkg do a very decent job, with rare and fixable corruptions. Gentoo portage seems to be excellent also...but I need time to verify....
    Slack and LFS users....keep track of your installs....preferably of each file...To do this use depot / some other organizing tool that keeps everything separate.

    2 Install only the stuff you need, uninstall the rest. Do not get carried away with maybe I will use this...If you stop using it and never plan to come back, remove it immediately

    3. Do not ever do make install....if you compile straight from source (portage exempt) then make install will kill your hd space and make it very difficult to uninstall...If you are the only user who runs this app then try running it in your home / some other designated directory. Perhaps create a designated directory, and do a chroot install, and then create symlinks. (BTW depot does this for you, so use it if you do this often)

    The only real exemption from this is the kernel, glibc, standard utils, compiler, and package manager....everything else must be kept clean

    And remember the advantage of linux is that you can control cruft, while in windows cruft controls the computer
  • decay can easily be measured as a result of
    rpm -Va | wc -l
    (check all packages and count lines of mistakes)
    In my case its value on my working horse notebook
    is 26644,
    on moderately used server it's 25535
    On new machine it should be near 0...
    BTW What command do you have on Debian machines to check all packages?
  • I think it's a bit premature for us linux advocates to say it is immune to this. While a package manager certainly does help reduce dependancy issues, I don't think it addresses the physical issues.

    First and foremost to consider is that there is no such think as a O(1) search algorithm("read 'Big Oh of one' for the non computer scientists in the crowd: notation used to measure the efficiency of an algorithm). The ammount of time required to search a list will always be a function of its size.

    As the user base of Linux grows, so will the demand and supply of software. slowly, but surely, /usr/* will start to get quite fat with binaries and their required libraries. Everytime one of those apps are called, it will take additional time to find the binary itself, then tack on the additional latency produced by the libraries having to be located and loaded into memory and the rusult will unavoidably be the visual degrade in performance.

    Plus as more and more non computer literate people start using Linux, we will have to ensure that the software to support installing and upgrading packages on the system is user-proof, or other problems will result.

    Unless someone can win a Nobell prize or Fields medal for finding a O(1) search, I'm afraid the above article is correct. ...
  • I used to keep my macs working for 3-4 months before having to reinstall the whole shebang. I only reinstalled Mac OS X once since october. Macs are quite easy to keep clean, after some time you know where "cruft" accumulates. If anyone's interested, Alladin sells a product called Spring Cleaning [aladdinsys.com], which I don't use. I clean my mac by hand. Seriously, on Mac OS X the only messy places are ~/Library and /Library. If you put your personal mess in your home folder, that is.

    My Gnu/Linux distro of choice is Debian. If you use debian, you know how quickly apt installs those libraries. Have a look at deborphan [debian.org], which "finds 'orphaned' packages on your system. It determines which packages have no other packages depending on their installation, and shows you a list of these packages. It is most useful when finding libraries, but it can be used on packages in all sections". I run apt-get remove `deborphan` about once a month.

    Another great tool for the Gnu/Linux user is cruft [debian.org], which, as the name says, tries to find the cruft on your system. It generates many false positives (e.g. /vmlinux), so use with many grep and caution :-).

    Which tools do you guys use to keep your system clean?

  • by reverse flow reactor (316530) on Monday July 29, 2002 @06:58PM (#3974868)

    You can get a windows install to never decay:

    1) install favorite OS [vmware.com] as the host system.

    2) install VMWare [vmware.com]

    3) install windows as a guest OS. Flavor to taste.

    4) set the Guest OS drive to non-persistant. Set you home directory to a share form the Host OS.

    5) reboot the guest OS as needed. Everytime you reboot, the system is restored from the image stored on the Host OS. Crap does not stay unless you tell it to stay.

    or for slightly different purposes, install the OS and tailor it as you like it. Image partition. Reimage the drive when there is too much fluff and bloat hanging around.

    • Norton Ghost will do.
      the image of my 'vergin' Win98 {yeah, yeah, I know, butI don't need fancy, keep 98 'clean' and it will work nicely) , with some software will fit nicely on one cd.

      The only problem is I installed several 'important' applications and some crap, but I forgot to make a new image.

      So when I reinstall the image I have to figure out the changes, reinstall the security updates, hope I find an old realplayer without banners and ask around for that cute small game.

      Ofcource with the proper maintenance working with images is DEVINE. A clean installation in 15 minutes.
      • disk images are great for most applications, and I used a simple image for quite some time. But the best parts about vmware are two-fold:

        1) you can store multiple different images and boot them as you please

        2) the little message when you shut down the virtual machine: "Commit changes to disk?". If you liked a softwrae package you installed, you just say yes. If you don't like it, say no. You don't have to update the image you made, as it just did.

        Mind you, vmware and the host OS do take up system resources. In some cases, you want the guest OS to have as many resources as possible, and the disk image is the better solution. Or you are run a public computer lab and every monring the computers load the latest image from the server and boot that

  • by g4dget (579145) on Monday July 29, 2002 @07:00PM (#3974879)
    Windows decays because its package management and system resource databases suck. Sorry, but there is no more polite word for it. The registry is a prime example of those gee-whiz solutions ("why don't we put all this information into a 'real' database") that looks neat but just doesn't work well in practice; Microsoft seems susceptible to implementing those kinds of systems.

    MacOS's preferred installation method ("drag-and-drop") doesn't suffer quite from the same problems as Windows. It's clean, simple, and easy to understand, and it doesn't leave junk all over the disk in mysterious places. But some applications install differently, and there is no single software update mechanism. Still, so far, OSX is holding up well on my systems, showing no signs of decay. But maintaining applications at the latest versions is a significant amount of work compared to Linux.

    For Linux distributions, it depends on the installation and update method. Debian systems can be updated for years without "decay". In fact, I haven't seen one "decay" yet, either ones that are updated regularly or ones that aren't. Because all packages come from a single source, they are all integrated, cross-checked, and tested together, a luxury that neither Windows nor MacOS have.

    The fact that, in Linux, each program has its own configuration files, often one system-wide one and one in the user's home directories, also makes Linux enormously more robust. There is no single point of failure and if some program's defaults get corrupted, it's trivial to fix and trivial to tell users how to fix it ("rm .foobar" and you should be fine).

    • Still, so far, OSX is holding up well on my systems, showing no signs of decay.

      For my two cents, Mac OS X may have its own form of decay, but it doesn't seem to affect the operation of the system the way Windows decay does. On my Mac I have quite a bit of cruft-- an installation of PostgreSQL that I no longer use and haven't bothered to disable or remove is a good example. But I never notice it unless I'm looking for disk space.

      I took a month-long vacation from work in May. In April, all was well. When I came back at the end of May, suddenly it was taking about fifteen seconds to open Acrobat. Previously, it would pop right open. That's a mystery to me. I've never had anything like that happen on any of my Macs.
  • When software of Linux can be installed as a user account, rather than root I usually do that. Many end user applications don't require root access for install if you don't run the default "make install". After I start getting "cruft", I add a new user, and start using my workstation as that user, reinstalling software as needed.

    Servers don't have as much installed application (or they should not), so cruft is not as much of an issue.

    I am on my third user account on Linux laptop workstation. My first account has a gnome config from hell, thanks to a few too many hard poweroffs. Gnome works fine as other users, I don't know how to fix it for that account. My second account just become to cluttered with crap, and I found it easier to create another account rather than clean up.

    Each time I switch, I login with my origional user id, with my home dir mapped to whatever my current account is. chmod the other homes so I can still access them as needed and everything works great.

    It's an easy way to bring a desktop workstation back to life. BTW - I use kde now, and it doesn't seem to have the same 'cruft' problems I had under gnome. Gnome would lock the station solid on my, forcing hard power cycles. Each time my envirnment would get worse.

    -Pete
  • by Dthoma (593797) on Monday July 29, 2002 @07:08PM (#3974923) Journal
    Cruft is a fact of life. It exists within everything, even real life. The only reason people notice it with computers is because computers demand 100% accuracy and require perfect install/uninstall techniques. Cruft/bit rot/software rot/deprecation is guaranteed to occur eventually despite the best efforts of coders and users because the physical conditions under which computers work are imperfect. Remember the last time you spilled a sugary drink on your keyboard? Or accidentally ripped the power cord out of the back of the machine whilst it was busy defragging?

    The only way to eliminate cruft (or whatever you want to call it) is to make computers into machines which can function just as well under imperfect physical conditions. A book is still functional, even if you partially break the spine and remove the cover. Fitting lots of failsafes and/or restricting the freedom of installation programs should help reduce cruft. When was the last time satellite control modules suffered from cruft? Or the machines which work our nuclear power stations?

    Uninstallers tend to not bother removing everything because some of the old program components may be being used by some other program. The obvious solution would be to stop all programs using each other, but there are two problems with this:

    1. You can't force all programmers to not rely upon other components which may or may not exist
    2. All programs will have to come bundled with EVERYTHING they need.

    So this policy would be unenforceable, and would require much, much bigger hard disk drives. The only obvious solution to his problem would be to stop making the programs integrate themselves into the system so well, so they can be removed with a simple 'rmdir'.

    Someone has already mentioned entropy and decay as a cause of cruft, but if it plays such a big part in it, why will a computer still function fine if you leave it in a cupboard for a decade, blow the dust off it, and plug it back in? The reason is that entropy is caused by crappy coding, crappy operating systems, crappy users, crappy physics and crappy integration. Until these three things cease to exist (not likely), then cruft will continue to occur. I don't think anyone could be expected to keep track of the things a 6-year-old PC has to keep track of:

    Uninstaller: Duh! I think I'll randomly leave behind 7 files, due to the 0.02% chance they might be used by some other shite program!

    OS: Duh! I think I'll randomly fragment the hard disk drive, and fuck up the file system!

    User: Duh! I think I'll randomly install the first software I happen to catch my eye on, and install it wherever it's most convenient!

    Physical environment: Duh! I think I'll randomly deposit dust on the surface of the motherboard and the hard disks!

    Integration: Duh! I think I'll randomly use DLLs from other programs, but not say which!

    At the end of the day, it comes down to a balance between convenience and simplicity. Convenience occurs when everything promises to install itself, and to latch onto everything else. This goes wrong because a program simply can't know where and how to install itself to avoid cruft. Simplicity occurs when everything on a PC is in its own self-contained bundle, interacting as little as possible with everything else. This goes wrong because a program has no way of efficiently obtaining data from other hardware or software.

    And in case you were wondering, my computer's at cruft force 3 - Lived-in. Surprising, considering it's a 2 year old Windows machine.

  • I have, however, had packages that would not install because of a failed dependency. I'm guessing that rpm was saving me from installation decay by not installing the packages.
  • Finally! Sientific pruf that me sucky windows computer is the fiend behind me bad grammmer, atrocoius speling, and my woeful lack of productivity in my office - Cruft Force 5.

    It is a good thing that my is boss is an el' cheapo. His computer is on Cruft force 10 and refuses to repalce it. So with mine at Cruft Force 5 I look like an absolute genius to him!
  • I use XP one of my machines and although its held up longer than any other MS desktop OS, I now at the 7 month mark am thinking about a reinstall. Explorer restarts every once in a while and dumps all of my systray programs. Its still very functional, but I can tell a few more random app install/uninstalls and I might start sliding down that slippery slope. Of course everyone see's those strange generic registry unloaded/driver failed errors, troubleshoots for a few hours, then realizes why bother? It seems to be running O.K.

    I don't completely blame MS for this, but there is no doubting this type of problem is rampant for any power user who tries to push a MS operating system hard.

    Of course the opposite is true as well. One of my clients runs just 98 and Office and never installed any other apps, and they almost never have any crashes.

    But then again, what's the point of an OS if you can't install and uninstall whatever you want?
  • Unix cruft (Score:3, Interesting)

    by Patrick (530) on Monday July 29, 2002 @07:22PM (#3974996)
    Unix and Linux, even Debian, accumulate cruft.

    ls -ld ~/.* | wc -l

    Dot files. Loads of them. Four from RealPlayer, six from Gnome, five from Pine, three from Sawfish, and three NFS lock files, among a total of 140 entries.

    Good thing Linux doesn't have a registry. It might get cluttered.

    --Patrick

  • by Valgar (225897) on Monday July 29, 2002 @07:28PM (#3975049) Homepage
    I dub my SunPCI Win2k install as running at cruft force 11 "Undead"

    It shouldn't run, it shouldn't even boot into safe mode, but some odd digital alchemy has occured that has resulted in some necromantic miracle, resulting in a cantankerous, yet unkillable install of Windows.
  • On a Windows 98 machine I administered, one aspect of its decay was that several keys on the keyboard stopped working ("e" being the biggest loss, if I recall correctly).

    No, not a hardware problem. I tested different keyboards and they all exhibited the same behavior. And when the OS was wiped and Win2k was installed, no more problem.

    There was nothing strange installed that I could find, AV software was up to date and apparently functioning... Very funny one.
  • by 0xA (71424) on Monday July 29, 2002 @07:42PM (#3975138)
    I have this big time beef with Real One Player (free version). I make a point of cleaning my startup items out whenever some stupid thing like Real's Start Center gets in there. That is anoying enough but Real has taken it to a new level.

    On my XP box Real One put "eventsvc.exe" in the run key of my registry, I removed it. Every time I run Real One it puts it back. This thing is even more anoying than the start center, it just sits in the background until another app steals one of it's file associations. It then pops up a little box saying "this app has stolen my media type". The box has two options, "OK" and "remind me later", there isn't even an X in the corner to close it, you have to use alt + F4. If you don't say OK and this stupid thing is running it will pester you again every 15 minutes or so. You have to kill the process and then remove it from the registry (or use msconfig).

    This IMO is the worst kind of cruft. Maybe I want to use Winamp for MPEG 1 audio! Please fuck off!

    This piece of junk just sits in the background sucking up a couple megs of ram and using some cpu time when it needs to check that nothing else is moving in on it's turff. The fact that I am playing WC3 when it decides to do this, isn't relevant, Real must protect thier position as the number one most anoying piece of shit in existence. God only know how many memory leaks and all round crappy code is contained in this thing.

    Real guys, last time I checked it was still My Computer. Leave your bullshit at the door.

  • Maybe, maybe not (Score:4, Informative)

    by Restil (31903) on Monday July 29, 2002 @07:51PM (#3975199) Homepage
    Linux MAY be prone to SOME of these problems, but I'm willing to trust that the great majority of what causes windows systems to go nuts on a regular basis simply won't affect linux, not because its immune, but because its not used in the same way.

    First of all, I'm willing to take at face value the fact that a 2K/XP system running only well supported, stable drivers on stable hardware running only a small set of vital application programs will be unlikely to encounter any serious problems. I have no personal evidence to support this, but a few people I know swear by it, so I'm willing to accept it under these conditions.

    However, 2K/XP might have gotten it right, but it took MS 20 someodd years to get around to getting it right. And it requires a fairly new computer to be useful. Win 95 runs great on old (read: CHEAP) hardware as far as performance goes, but it has serious stability problems. If I want to run a 7 year old version of Linux, I'm willing to bet
    that the last release in the 1.0.x series is just
    as stable in a production environment as the latest 2.4.x release is. Sure, it might not be
    as feature packed, and might not have the extensive driver support, but if it serves the purposes I require, it will work flawlessly.

    As for drivers, Windows virgin installs come with a set of drivers for a lot of legacy hardware. If your system is a couple years older than the version of Windows you're installing, it probably has the drivers for all your hardware. For any other hardware, you'll have to use vendor supplied drivers. If these drivers are unstable, Windows can misbehave, and it wouldn't necessarily be the fault of Windows. Certainly Linux must have the same problem, right?

    The simple fact of the matter, those who support Linux tend to support the same software methodology. The drivers, like the kernel, are all open sourced. They're heavily peer reviewed, and those that are integrated into the kernel are solid. And if bugs are found, they're fixed. If the original programmer doesn't/can't/won't fix it himself, there are countless others who can. In many/most cases, the drivers aren't even written/produced by the manufactuerers of the hardware, but by kernel hackers, on their own time. These guys have no interest in being first to the market. They have no desire to play the "just get it working, we can fix it later" game. Their only interest is in releasing solid, efficient code, becuase if they don't, they know someone else will be tearing it apart.

    Therefore, the drivers used on linux systems tend to be rock solid. So you have a rock solid kernel and drivers. Now for the applications.
    Applications for linux based operating systems tend not to overwrite system libraries with their own versions. General purpose applications are not generally run as root. The worst a normal user can do on a linux box by running buggy applications is to cause it to crash. Certainly, he can send the machine into thrashing or fill up the hard disk, but there are ways the administrator can restrict the type of activities that cause such outcomes. 2K/XP have methods to prevent these same problems, but many of the problems involved with installing misbehaving applications simply shouldn't be a problem in the first place.

    As for adding cruft to the operating system, my linux box has the same number of directories off of / as it did the day I installed it, with three extras added for each mounted HD on the system. My /home directory has one directory for every user on the system. My personal home directory, as I suspect others might be as well, is an organizational nightmare. But all that "cruft" is isolated. I know where the mess is, and I know only where the mess is. I don't have /etc, /bin, and other important directories littered with files that have no business being there. And no rogue application is likely to change that fact. Sure, an application program might add a directory to /usr/local and leave a large bloated mess under there, but if I decide later that I want to remove it, I can do a recursive delete of one directory and its gone. There aren't any mystery registry values that are going to cause me fits the next time I boot the system. There might be some entires in /etc/rc or crontab, but they won't hurt anything and can be removed later as they're discovered.

    I suppose its possible that a poorly managed linux box can cause massive problems, just as a perfectly managed windows box might work flawlessly. But all I can say is this. It's been 154 days since my last power failure, and my linux server has been up for 154 days. None of my windows boxes have that track record.

    -Restil
  • by bedessen (411686) on Monday July 29, 2002 @07:52PM (#3975212) Journal
    I decided to build a new system some time in the fall of 2000, but prior to that I had been running the original Windows 95 install that I did some time in mid 1996. There were some hardware upgrades, sure, but I never resorted to reinstalling. My systems are highly customized, I like to set everything just the way I like it. So to me a reinstall is not something I do lightly. The system was not unstable at all, it was quite a workhorse. Sure, every now and then it would have a lockup of some sort, but we're talking once every few weeks. Now that I run win2k it's very rare indeed.

    You can manage the cruft in windows. It's not impossible, even if you install/uninstall a lot of stuff. The important things are to know what's running (task list, services, run at startup, etc) and to get to know the registry. You must babysit for poor installation programs. Often they will add crap to startup, or icons on the desktop, or other weird things, which I would always delete. You also have to help some of them wipe their ass when you uninstall, as a lot of them leave junk behind. You have to be willing to go into the Windows system directory and examine questionable DLLs. There a lot of tools to help with this. I recommend everyone who is interested go to www.sysinternals.com [sysinternals.com]. There you will find programs such as REGMON and FILEMON which show you every registry access or file access in realtime, with the ability to filter. Also very useful is LISTDLLS which shows you which DLLs are loaded by every process in memory. If there is a file that's locked you can often find out who is using in with this program. The 2k resource kit has a free utility called Dependancy Walker which will show you the library dependancies of any .EXE, sort of like ldd. You must also be familiar with certain areas of the registry, such as the part where stuff is loaded on boot, the "pending file rename" section, the section where apps install their preferences, etc.

    I find a lot of times when I use someone else's windows machine I am appauled by the amount of crap they have loaded, and most of the time aren't aware of it. Programs that load stuff on startup without being very clear about it and asking you first really peeve me. I patrol the startup folder+registry entries very strictly, and keep the task list small.

    You of course have to make sure your hardware is stable and you have to go through the process of finding a driver combination that is suitable. It can be very frustrating to mess with crap drivers and a ton of strange BIOS settings. But if you stick with it you can eventually find a combination that is bulletproof and will yield stability. If you don't put in the effort to do this, though, you will forever be messing with strange crashes.

    It can be done, but it is not for the faint of heart.

  • Mac OS 9 (Score:4, Informative)

    by Phroggy (441) <{moc.yggorhp} {ta} {3todhsals}> on Monday July 29, 2002 @08:24PM (#3975388) Homepage
    Certainly a system that has been in use for a long period of time can become less stable due to increased complexity as new software is added. However, the real question is, how easy is it to clean up the mess and return to a smoothly running system, without reinstalling the entire operating system?

    The problem with Windows is the Registry. Practically nobody, including Microsoft's own programmers, knows exactly what to clean up in the Registry to get the system running as good as new, without breaking something important. In Mac OS, however, it's really quite simple. Granted, you do have to have an understanding of how the system works, so I wouldn't expect a novice to know how to do this intuitively, but I'd expect far less of a Windows user.

    The most obvious thing is the Desktop file (actually a couple of files now). This is the closest thing the Mac OS has to a Registry, and it's not close at all. Every six months or so, reboot while holding the Command and Option keys (technically, you just have to hold the keys while the Finder is loading) and it will ask if you want to rebuild the Desktop file for each mounted volume (filesystem). A couple minutes later, good as new.

    The next thing is extensions and control panels. Perhaps you've downloaded some cheezy shareware thing that's conflicting with some other cheezy shareware thing. Open the Extensions Manager, and have a look. Usually you can easily identify where most things came from; if you don't recognize something, you can turn it off, reboot, and see what happens. You can create multiple extension sets to experiment with if you want.

    Finally, preferences. Some app misbehaving? Trash the Preferences file. Everything reverts to defaults, but nothing is really broken.

    And of course, if you want to uninstall an app, usually you just need to trash the folder the app is in. Sometimes it may come with control panels or extensions; just trash those too (they're easy to identify). If you want to be thorough, trash the prefs too, although it won't hurt to leave 'em.

    I have yet to see anything easier to maintain.
    • Re:Mac OS 9 (Score:3, Interesting)

      by tbmaddux (145207)
      ... how easy is it to clean up the mess and return to a smoothly running system, without reinstalling the entire operating system?

      MacOS X in theory is easier still than MacOS 9, with its application "packages" containing all you need to throw away. Plus maybe some files in the Preferences folder, but they're harmless. With Carbon apps (esp. games) that support MacOS 9 it's a little more complicated.

      The extensions management you mention is a little more difficult than you imply, but it's not nigh-impossible to do by hand like the Windows Registry is. A trick you didn't mention is to use the MacOS file labels (colors) on known-good extensions, which makes it easier to find newly inserted or modified items.

      Techtool is an excellent utility for zapping the PRAM (a trick you missed) as well as for rebuilding the desktop. DiskWarrior cleans up cruft in your directory structure (HFS/HFS+).

      When I was stuck using Windows machines at work, I made frequent use of RegClean, Norton Utilities, and scanreg /fix to keep things livable. Often the same registry errors would return over and over again. Like a mold.

      To sum up, I preferred MacOS 9 when I was using it, but MacOS X is so much better still.

  • by Anonymous Coward on Monday July 29, 2002 @09:56PM (#3975764)
    Especially if you get in the habit of compiling programs from source without a package. I don't mean compiling deb or rpm source packages, or source that can generate a package too. I mean where you just download the tgz and do a "./configure && make && make install". Those generate true cruft.

    However, I think that even though Unix can have more cruft, its also easier to get rid of it. Windows, and especially Windows XP, has the registry which can easily load up. Who knows what the hell needs what. Especially when you've uninstalled programs that don't like to remove registry entries. Windows XP will even protect itself with backup copies of the registry and you can only remove some files in a special way other wise XP will just replace the removed or user-replaced file with its own backup. It has backups of backups too.

    Anyway, since Unix generally doesn't have a registry (for better or worse) it also easier to remove the cruft. If you strictly follow your distributions packaging system, cruft in Unix should be fairly low because you have a way to track the cruft.

    Debian (and maybe RH too) has a way to reduce cruft even further. If you modify files after installation of a package, you can have it rebuild that package with your changes included.

    Debian rules and Red Hat drools!
  • by uradu (10768) on Monday July 29, 2002 @11:27PM (#3976090)
    The utter dependence on the registry for all things COM is what makes Windows more fragile than most other systems. After several months or years of installing, uninstalling and updating software, the registry is full of dangling CLSIDs, type libraries, ProgIDs etc. Worse, the versioning system can get completely screwed up with several generations of ActiveX DLLs co-existing and periodically getting re-registered by their respective parent apps. VB developers have a particularly nasty experience, since by default VB re-generates all the CLSIDs of COM objects each time a project is built, without usually bothering to clean up the previous ones. So over time the CLSID subtree is littered with orphaned COM class debris.

    Right now my work system (W2K) most of the time takes forever to pop up the context menu on files in Windows Explorer. It didn't always do it, but I can't really identify a major change to the system that precipitated that. No doubt some of the shell extensions that are being activated each time are looking for "stuff" that they're either not finding, are being slowed down by other components that they're relying on, or experiencing some other type of timeout. The menu can take 30 seconds or more to pop up. Similarly, some types of file operations take equally long: deleting a file from within Windows Explorer can take over half a minute, half of that time waiting for the confirmation dialog, the other half waiting for the "deleting file" animation dialog to quit. These are all most likely COM related problems that could probably easily be fixed--if you know what you're looking for. Unfortunately, a trace on registry operations during a context menu popup generates so much output as to be virtually useless.

    Things like these all add up to make the Windows user experience increasingly frustrating with advancing time, particularly because of the seeming intractability of the problems. The new .NET architecture promises to eliminate much of this mess, since class installation and activation is FS based like Java, and not registry-based like COM. Only time will tell if it turns out being any better, though.

"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming

Working...