Showing posts with label windows. Show all posts
Showing posts with label windows. Show all posts

Thursday, March 06, 2008

Darren Stone's WinXScreensaver mirror

Ever since I posted my article about the substrate screensaver, I've been getting emails of thanks (even though it wasn't my program!). Now, it seems, the author of the substrate screensaver port to Windows has let his website lapse and it's no longer available from there.

Well, that's not a big problem for substrate fans because I mirrored that particular screensaver along with the article I wrote and someone else has also ported it to Windows, as mentioned in the comments in the article above. But it now looks like people want the full program of WinXScreensaver with all the other screensavers and some curious screen-saver management abilities. Having scoured my extensive software archives of "stuff that'll come in useful one day", I have managed to locate a copy of this file (I never delete anything, but that doesn't always mean I can find where I put it. The Linux slocate command is worth its weight in gold as far as I'm concerned).

Given that it's based on XScreensaver which uses the X11/MIT open source license, I assume that the license of the Windows port allows me to mirror it and post it. I also assume that the original porter, Darren Stone of http://tron.lir.dk, doesn't mind me posting a copy here. Darren, shout if I'm wrong.

So, seeing as mirroring old files is now becoming a bit of a hobby for this blog, there is now a copy of the file up at my website.

It's WinXScreensaver1.1-Install.msi that I have, I have no idea if that was the latest version. Archive.org's history of the site is sparse at best. It's definitely an unmodified working version, though, because it's the one that I used to trial the program for something fancy I was going to do on my network. Hopefully people will find this useful. Enjoy! And give credit for the port to both the XScreensaver authors and Darren Stone.

Sunday, October 28, 2007

Why can't my computer...

There are a lot of things that annoy me about computers, or more usually, Windows in particular.

Why can't my computer:

1) Accurately gauge how long it will take to do something? (Prime Culprit: Windows)

File copies, program installations, downloads, no matter what it is, if it's got a progress bar it's not going to be accurate. Not only will it not be accurate, it won't even be close most of the time. Sometimes, granted, it'll be spot-on but that's just got statistical averaging written all over it. Why, in the middle of a file copy, does it suddenly decide that it's going to take 3 days, no, 10 seconds, no, wait, 18 hours, no, hold on, ... ?

Yes, not all things are predictable, but the computer could at least estimate (within a reasonable margin of error) and not blindly pick up random and wildly varying estimates without even flinching. It'd be much better if, when it gets confused or held up, it just gave up until it knew again! (KDE does do this, for instance, when copying files... it'll just say "Stalled" for a second).

2) Know where the drivers for a bit of hardware will be? (Prime Culprit: Windows)

Why do I have to point it to a driver that I've either had to insert myself or, a lot of the time, had to go to www.randommanufacturerswebsite.com/techsupport/drivers/windows/xp/driver/thingamajig/v8/revision2/setup.exe and downloaded myself before it will recognise the hardware I bought?

Why can't there be a standard for hardware so that everything USB or PCI-based contains some information that tells the computer roughly WHERE a set of drivers will be. Or, failing that, some website where it can automatically look up what drivers exist and where when given a PCI/USB id, even if it gets "Not Supported" or "Unknown" some of the time?

3) Know what I mean? (Prime Culprit: All OS)

When I type www.fredc.om into my browser, why can't it just correct it for me (maybe with a Google-style "did you mean?")? Some mistakes are hard to catch but it doesn't even catch the little ones. wwww.fred.com or www,fred,com , for instance. And when I have a file copy command, rather than just error at me because I mis-spelled or, in Linux, mis-capitalised a filename, have a small go at working out what I meant and ask me if it's right. (Yes, there are certain plugins etc. but I want it to be a standard feature. I can't be the only person who's done these silly typos!)

4) Protect me from others and myself?(Prime Culprit: Windows and Linux)

Now, I'd like to point out that this is almost exclusively a Windows problem for one part of the question (protecting me from others) and almost exclusively a Linux problem for the other (protecting me from myself). Windows just doesn't go far enough to stop other people getting into/onto/through my computer's defences. Not even after the 50th version which has promised to do so. But it has some fantastic features to protect me from myself, if they are enabled. File deletes are, on the whole, confirmed first and undoable later. Plus, it's quite hard to completely shoot yourself in the foot by, say, deleting your Windows directory accidentally. On the other hard, it's extremely easy if you are not careful to totally balls up your Windows installation just by clicking on the wrong website, the wrong email etc. or even disabling the wrong service.

Linux, though, protects you from outside elements a lot more. And even if they do get through, it is quite easy to recover from them and, additionally, their impact will be limited to the user accounts that are affected. However, even as a normal user, you can wipe out your home directory in one command without any confirmations and with little chance of getting it back unless you have specifically put into place procedures to recover it (such as replacing commands with safer versions, configuring user accounts so that they can't do that sort of thing, or just having easy-to-restore backups in place).

So it seems that Linux could benefit from a bit of Shadow Copy, a bit of System Restore or some kind of filesystem rollback and Windows could benefit from a bit more privilege seperation, a bit better programming and a focus on non-virus software rather than anti-virus software (i.e. before-the-event practices that stop the viruses getting on there so easily in the first place).

And this doesn't just apply to desktop environments. Humans make mistakes. Operating systems should be designed to take account of this fact and help where possible.

5) At least give me a clue? (Prime Culprit: All OS)

"mplayer: error while loading shared libraries: liba52.so.0: cannot open shared object file: No such file or directory"
(Note that this is an example only - when you compile mplayer from source, it does in fact warn you or leave out support when pre-requisites are missing).

Well. Lovely. Fantastic. So you know that you NEED liba52. You won't run without it. You were obviously written with it in mind. So why can't I instead get:

"Mplayer: Error: You haven't installed liba52. You can download this from http://liba52.sourceforge.net/"

Now, with modern dependency checking this sort of thing is getting rarer but even so, where's the error message that a human can parse easily? Windows does just the same with missing DLL's. And compile-time messages but not run-time messages are another bit of a bind. Fine, tell me gently at compile-time that I need libX and exit neatly. But why not do the same when I move that binary to another machine that doesn't HAVE libX, instead of erroring as above? More people RUN programs than COMPILE them. People compiling programs usually have the sense to sort such problems out for themselves (and such a trivial error is nothing compared to some of the doozies that you can get when compiling software for yourself!), ordinary users can't.

Similarly, dumbing down error messages too much is a major mistake:

"An error has occurred."

What error? Why? Whose error was it? Was it my fault? Was something wrong with the machine? Where did the error occur - in the program, in Windows, in something else? What can be done about it?

As a replacement, how about:

"An error has occurred in PartyPoker. [[Note the friendly program name]]This appears to be a problem with that program. You can try running it again, or checking for a PartyPoker update. If you still recieve errors with PartyPoker, the program gives the website address www.partypoker.com/problem as a source of help. Click below for a file which will help the program author to determine the cause of the problem."

Or:

"An out-of-disk-space error has occurred. Windows is showing you this error because it did not have enough room to create a 50Gb file on drive C: as requested by the program Nero Burning ROM. You have only 10Gb free space on drive C:. You can try:

- Clearing up 40Gb of space on drive C: and retrying the operation
- Instructing Nero Burning ROM to use a drive with more space (for example, D: currently has 100Gb free)"

6) Fix itself. (Prime Culprit: All OS)

Windows.
Windows Last Known Good Configuration.
Windows Safe Mode.
Windows Recovery Console.

Where's the "I need to get to my files" option - with a minimal desktop that uses NO programs, services or other information in common with the main Windows install and lets you copy your files off the computer before it dies completely? Where's the "Run Diagnostics" option to let Windows have a go at trying to find out what it actually wrong rather than blindly looping through a list of Windows "versions", each of which gets less and less drivers loaded? While we're at it, where's the "Check My Disks/Memory/Hardware" option in that list?

Where's the "Right, last time I crashed loading the graphics driver, according to these logs - this time I'll ignore graphics and just load a basic VESA driver and see if I can get further" logic?

And then we have the fantastic idea to include an option, which is usually the default, to automatically restart Windows on error (great, so you can't even SEE the BSOD when it whizzes past, and then Windows will blindly sit there trying to get into Windows every time it reboots until you come and fix it - it'd be better just to turn itself off!). Yeah, there sometimes a need for a watchdog on a high-availability server but on an OS designed for Home Desktop use? And what's the point of it just infinitely restarting at the same place unless it LEARNS from that mistake, especiallly if that place is before it evens gets to a desktop?

That's just the start of my list. Hopefully, I'll finish it off soon.

Tuesday, February 28, 2006

Windows Vista

Windows Vista (or whatever it will change name to seven times before they ever release the thing) is approaching and a lot of people are focusing on what it can do and what it can't do. What they don't seem to take account of is the history. People who complain that MS has given them a bad run in the past are told they are pessimists and that this is the time when everything will be perfect. I've heard that at least five times now, so will I be upgrading to Vista?

Would you buy again from a butcher that, five times, has sold you a bit of what he assures you is "the best beef in the world" only to discover that when you get home it tastes like old boots?

Not a chance.

DOS I adored. It worked. It was powerful. It was simple. It was fast. It did the job.

Windows 3.1 I gladly bought into and began to love. It was small, simple, worked and worked well. It was easy to use and just pretty enough without needing too much from the hardware (386 with 2Mb RAM).

Windows '95 was then thrust onto me by peer pressure; it was okay but nothing special. There was a lot of frills on an OS that was basically a 32-bit version of Windows 3.1. It was also very buggy. '95 OSR2 didn't help matters at all.

Windows '98 was pushed into my hands because '95 was such a disastrous attempt at trying to push a '98-style OS out too early. It improved next-to-nothing. '98SE came out and you were asked to pay again for it. Yeah. That's going to happen. It fixed a few of the problems and introduced a few new features, but nothing that anybody actually NEEDED at the time.

Windows ME I looked at and quickly became a disaster (things like major components of Windows supporting '98, 2000, XP but not ME... .Net anyone?). It was '98SE-with-knobs-on and didn't manage to do anything particularly exciting.

So from '95 to ME, there were very few, very small improvments in an OS that incorporated at least three major paid-for upgrades (as in major release versions, not just updates) over and above the base price. It was then that I told myself that I would not upgrade any further without good reason. My computers worked, it had cost an awful lot of money to get that far and I hadn't seen much improvement in my actual productivity over previous versions. They all ran the same software, at the same speed, with the same features, with little or no improvements in the areas that mattered - stability, compatibility with older software and hardware support.

Okay, '98SE+ incorporated USB mass storage properly and a nicer driver model but in essence it also killed ISA cards stone dead without giving people a say in the matter... is it really that hard to support a standard that was still in use at the time, had stabilised and standardised itself on things like hardware autodetection, and still works to this day in the Linux kernel which has a much stricter requirement on what stays in the kernel? To be in Linux, the hardware has to be stuff that's used, has support from several programmers willing to change their code constantly, work in the kernel at all times and get updated in line with everything else, from people who are not getting paid to do that job. Anyway...

I stuck to '98SE and I spent most of those years chasing Windows Updates, free antivirus, utilities to manage the computers, anti-spyware, etc.etc.etc. Windows 2000 I skipped entirely - it removed support for a lot of my then-current hardware and only provided a small stability bonus. XP was a "necessity" to run one single game that I wanted on one single machine and has also turned into more hassle than it's worth. XP I see as basically a games console - a bloody complicated and annoying one at that.

I didn't pay for XP, it came with a second-hand computer I was given, one thing I was glad of. XP offered me nothing over 98 except more restrictions, more problems, and much less system transparency - even the filesystem was relatively unreadable outside of XP without expensive utilities (though that's not so much of a problem now but still it's hard to correctly write to NTFS without buggering something up).

Despite several methods of recovery in case of system problems (Recovery Console, Safe Mode, System Restore), it was still perfectly possible to total a machine by installing an official update that would take more hours to fix than the computer was worth. Suddenly, I needed Ghost around constantly whereas before I'd only ever re-installed Windows '98SE from scratch once (and I later found out how I could have fixed that too). It wasn't something the average Windows '98SE user could do but I brought that OS back from numerous permanent blue-screens, booting problems etc. without having to worry that I wouldn't get the system back up and running.

There isn't going to be another chance for MS. This isn't blind MS-bashing, I've just had enough. There's posts on this blog telling you how I kept my own personal '98SE machine in tip-top condition from it's release to mid-2005 and even recommending that people stay with it.

I've always noticed it and never give it a second thought but now I can see the trend in MS OS's:

- More new features that I won't ever use and just get in my way. I end up turning half of them off within the first few days, the rest as time goes by and discover they are causing me problems. I end up setting half the settings to Classic or some other sort of compatibility or failsafe mode because that's how I liked it. Control Panel was prime candidate in XP, along with Autorun. Also disabling of things like power-save settings and screen blanking.

- More restrictions, barriers and brick walls, each of which stops me doing something I WANT to do and can CURRENTLY do. Connection limits, raw sockets, driver signing, not having to activate, the list goes on.

- More time and money, not just on the OS but its supporting programs to get it into a vaguely useable state. Anti-spyware, anti-virus, firewall (because the MS ones I won't trust to be any good from experience and may well be the next anti-competition case against MS), startup controls, Ghost (because, again from experience, the chances of any type of system restore working as it should are extremely minimal). Again, the list could be endless.

- More integration with stuff I don't want (starting with IE and WMP). I don't want stuff connecting to the net unless I SAY so and unless it's ABSOLUTELY necessary (i.e. it's a web browser which has been asked to connect to a website by me personally, or an autoupdate that I'VE scheduled to autoupdate). I don't even LISTEN to music, and I certainly don't want rubbish trying to get album covers and other nonsense from the internet just because I'm testing a drive with an Audio CD. I don't want my browser to even be ABLE to execute code directly in the webpage, or choose a search engine without asking me what one I want to use.

- Nothing that I absolutely *need* when it comes to upgrade time. My computer does lots of stuff already. What can I do in Vista that's totally 100% impossible in 98SE, XP or Linux? If you discount hard-coded restrictions and programming laziness, nothing. Vista is not a quantum computer conversion - it still does the same old stuff the same old way.

- Missing or just starting to introduce a lot of obvious stuff that SHOULD already be in the OS (**why** do I need a completely seperate, non-MS utility to tell me everything that's loading at Windows startup? Why have I gone from Windows 3.1 to Windows XP without MS incorporating such a simple, useful utility? Why can I not also click a button that LOCKS anything else from inserting itself into startup and kill half the spyware/viruses in one fell swoop? And yet they are bundling rubbish like media players and internet browsers that I DON'T want at all and have never even used)

- Still playing catchup to other systems. A database of your files that updates in the background and you can use to locate your files quickly? Got it, except my one doesn't slow the system down when I'm using it like Find Fast and the other MS "inventions" do. Admittedly MS may well be ahead in terms of hardware driver support but considering my Linux machine doesn't NEED half that new hardware and won't do until it's properly supported under Linux anyway... where's the incentive?

I quit Windows about a year ago hopefully forever. I was tired of my computer not doing what I tell it to. This is my biggest, absolute killer for not running Windows... if I say shutdown, you will shutdown, if I say delete that file, just delete the damn thing... I'm not an idiot, I know what I'm doing. The chances are that if I force a shutdown, there's a reason for it. It may not be an important one - I may be rushing to go out for the evening and want to make sure it's off - but that's not for you to decide. Unless I'm going to do permanent, irreparable damage just do what I say, and even then just make sure I'm AWARE of that. My OS of choice will *not* argue or crash or wait for every program on earth to voluntarily allow me to shutdown unless I ask it to.

I'm tired of having to be at the forefront of technology just to browse a simple web-page at a decent speed. I'm tired of "limitations" like XP Home's connection limits, raw socket limitations etc. when there is no technical or practical reason why they have to exist. If my OS is capable of it, it should offer it. It should not say "I COULD but... I'm not going to let you until you pay me money". It's like running a shareware operating system, except I've already paid for it.

I've worked as the only support for many years for a few hundred XP, 2000, 2003 and older machines and yet have only ever used XP on one laptop personally (my "games" machine) and on my girlfriend's computer (it came supplied with the computer and it was easier just to leave it on there for her... she had to "learn" Windows 2 years ago so learning a Linux desktop isn't a big problem at all... it's just easier for when she wants to play The Sims and other rubbish). Windows is "easy" until you need to maintain the thing and then it becomes a nightmare. My choice of OS at home reflects just how good Windows is - I work with Windows all day long, even recommend Windows systems and yet I won't touch it with a bargepole at home any more. On another note, the more broken Windows is, the more money I make because I have to then be paid by numerous schools to fix it for them. And I get paid by the hour. ;-)

I've lost count of the number of computers I've brought "back from the dead" by removing viruses, spyware, too many startups running, etc. When a user can sit at a new, fully-patched, antivirus-ed, antispyware-d machine and, without intent and within a matter of minutes, infect the machine so that it barely loads up in half-an-hour, taking hours to fix, is when I give up on that machine. What a user does SHOULD NOT affect the machine as a whole, only that user... even as a "limited" account on Windows you can wreak havoc.

Windows has an after-the-event method of fixing problems - once the virus is on there, and lots of people have also got it, some company might send out an update that may or may not catch all variants and won't help control the damage the virus has caused. Vista even includes special integration for antivirus apps. Do people not realise how ironic it is that the OS that "invented" the problems with modern-day viruses and spyware even has a special place that you can install anti-virus into so that it will integrate nicely? It's like having a car that comes with an easily accesible tool specially designed with the sole purpose of putting the wheels back on should they fall off on the motorway. So reassuring.

(Yes, DOS had viruses. DOS was back in the era of one-user full-admin home computers without sharing of disks or internet access and was a design disaster from the start... at least it bloody worked though. Sensible people had worked out in the 70's that that was just a stupid idea for multiple-users or internet-facing machines. Windows caught up with them in Windows XP/2003.)

There is actually a page on a website belonging to a Linux security enchancement package called SysMask that actually allows you to upload ANY bash, C or perl script. When you do, it compiles it, runs it and shows you the output! It will voluntarily and automatically run ANY code that ANYONE asks of it as an ordinary user because it's so sure of it's security, just to prove how good it is. This is on the same bloody server that runs their own website where you can download this code for free. It's never been taken down.

Like this site, I want before-the-event fixing - even IF someone runs some dangerous software deliberately, researching the latest holes, it can't affect the machine as a whole, can't destroy other people's files, can't put me in a state where I have to hope I have a recent image/backup. I don't trust Vista to do this... Windows 2000 was supposed to stop this. As was XP. As was 2003. Backups are for restoring files after unavoidable hardware damage - nothing else.

Now, on Linux, the damn computer actually bloody does what I ask of it. I don't have to be too careful about checking licensing for the software I install because it's *all* GPL or free (yes, I still check that it's GPL or otherwise free, though)... I'm not distributing my changes so it's all free for however many computers I want. No more license-counting, no more fighting activation systems that think they know better, no more serial codes, no more.

I used to spend HOURS on Windows hunting down decent freeware to get stuff done without having to shell out even more money but now I don't have to fill every system I own to the hilt with third-party freeware just to get the damn thing into a usable, secure state. It actually comes with everything I need, by default, installed securely.

At aboslute worst, an automated update command (one that WORKS, does it when it's convenient FOR ME, doesn't force updates that are dangerous and doesn't kill one machine or another on a regular basis) keeps me up to date. Rollback? How about a complete uninstallable plain TAR archive of every update I've ever installed, along with a copy of every single package ever installed on the machine? Any package I want, I install. I don't have to con the software into thinking it's NOT installing over a later version, not already been uninstalled, requiring the original setup disk etc.

It's also quite difficult (without doing something incredibly stupid and deliberate while logged in as root) to ruin the actual software on the machine. Windows relies on so much being intact to even boot, Linux just wants any half-recent kernel boot disk to get to a fully functioning command line and repair system (including uninstalling/reinstalling/upgrading/downgrading any single software package individually on the entire machine).

I get to choose what software runs without some arcane registry entry loading up something I'm not aware of, and am not even sure if I need it at all. Same for "services". Additionally, if I want a ten-second boot, I can have one. If I want flashy graphics, I can have them. If I WANT to boot into a command-line only environment, I can. I have that choice available. And you know what? From that environment I can control every single setting that I could control within the GUI if I wanted to. For every user. Without learning hexadecimal or what arcane GUID in the registry it's stored it under.

I can actually TRUST linux, from it's filesystems to it's hardware support to the individual software components to the firewall. I know that someone isn't going to say "well... we COULD let you have five users connected to your shares BUT we're not going to LET you". If something said that, the source code wouldn't know what had hit it after I'd put it back the way **I** want it. You're *my* computer, you can only do what you are told to do and **I** am the one in ultimate control of every single piece of software on my machine. If that means editing source, so be it. If that means I want to voluntarily install some binary (and therefore risk incompatibility, forced upgrades and undiagnosable problems) to get my job done, that's fine.

I don't have to feel like a criminal because I want to use one OS on two computers. I don't have to check in with mothership every time my motherboard changes (which is quite often because the only thing that's constant about my machine is it's data - the drives change, the hardware changes all the time; I've still got data from my DOS days on my current hard drives).

There's very little hardware I own that Linux doesn't support, and all of that is non-essential and easily replaceable (one USB IrDA adaptor, one 56k Winmodem out of eight). I don't need to have drivers on hand for each and every part of it, or a checklist of which manufacturers bothered to pay MS to get their drivers certified and which didn't. I don't need to worry about the drivers interfering or only being able to run them with the most horribly annoying pieces of GUI software known to man (HP printer drivers, some of the arcane school-specific hardware I have etc).

If I get a crash, there is something real, something productive that **I** can do about it. Someone, somewhere will be vaguely interested in finding out why my machine crashed and, hopefully, fixing it. There are constantly new free upgrades to try out, there are config files to play with, there is source to look through, there's one of the most complex debugging systems known to man sitting on my computer already waiting to find the exact spot that something crashed and why, there are many unique, discrete components that can be eliminated one at a time to diagnose and I can even single step individual changes to the kernel to find out which one caused my problem (git bisect's etc.).

I don't get (and could easily discover anyway) obscure problems like a certificate in a JAR file associated with a famous piece of UPS monitoring software expiring and thus killing the entire system without warning or a single error message, taking 100% CPU and stopping approximately 50% of programs from running at all.

Who knows, I may even be able to code a fix myself without having to wait a year for the manufacturer to even acknowledge my problem.

And at the end of the day, there's nothing I can't do on my machine that I ever wanted do on Windows. In fact, most of the tools I use now are so much more powerful it's saddening to think of the time that I've wasted trying to find Windows programs that could perform the same tasks. I **liked** batch files, I **wanted** to tweak every entry in my AUTOEXEC.BAT and CONFIG.SYS to get the most out of my very expensive hardware. I want to be able to choose and change between using my RAM for virtual storage, caching my drives when I organise all 500Gb of data on them, displaying a GUI so that I can get work done etc.

My hardware is, to put it bluntly, crap yet expensive (to me). A 1GHz serves all my needs but may well have cost me two years-worth of donated/disposed of hardware (which means several "free" jobs fixing other people's computers and a lot of effort and petrol), plus several hundred pounds of my hard-earned money plus the time and effort to get it working how I want it.

When £1000's of hardware is sitting there and telling ME that it won't do something because I haven't phoned Microsoft or haven't bought the right version, I find it diabolical that my most expensive appliance in the house is not controlled by me.

Windows 3.1 I bought into, 95/98 I used and tolerated for a LONG time, getting many useful hours out of it. By the time '98 was obsolete I'd fallen for MS's spiel far too many times and was getting tired of computers. An OS actually nearly put me, a computer fanatic, off of computers. I didn't believe in or buy 2000, or XP, or 2003 and I won't be doing the same for Vista.

I'll still have to use it, in work if nowhere else, but I'm hoping that I'm going to have made the right move here by moving away from cash-driven OS's to ones that are driven by a yearning for freedom, control, pride in their work and technical prowess. Not that it's got a new glass interface that looks cool.

Friday, September 16, 2005

Substrate screensaver

Normally screensavers are disabled the instant I set up a new system and my recent upgrade to Slackware 10.2 was no exception. However, I was looking through the list for a screensaver to test my 3D acceleration to see if my NVidia drivers were working and came across Substrate.

This is a wonderful little screensaver that I find quite beautiful, some say it looks like the evolution of a city from above, others like cracks in a white rock, still others, like a Picasso in progress.

Substrate example images

Either way, it's impressive results from a simple mathematical algorithm. Pity that I can't get a Windows version for my girlfriend as every time the screensaver activates on my machine, she sits and watches it grow.

Edit: I got in contact with the author of a port of XScreensaver, after many, many attempts at trying to find a suitable Win32 version or a version that would compile cleanly under Cygwin or similar environment, and he happened to have a Windows binary of this screensaver just hanging about. So thanks Darren Stone for your help! The version of WinXScreenSaver on his software page didn't have it when I tried but he pointed me to a version of just that screensaver that he had compiled some time ago: http://tron.lir.dk/software/w_substrate.zip

(As of late-February 2008, the above website appears to be down. For now, there is a mirror of this file here: http://www.ledow.org.uk/windows/w_substrate.zip

Wednesday, July 21, 2004

CD Problems.

A few days ago, I noticed that my DVD-ROM drive has stopped working. It's strange because I normally notice the second that something on my PC stops working as it should, but it turns out this has been non-functional for a while.

At first, I just tried to install IGI2, the first game I've installed in about six months apart from the excellent OpenTTD, an open-source Transport Tycoon Deluxe clone. Anyway, I put the CD in my DVD drive because I knew there was already a blank CD in my CD writer (which has been working fine).

The disk refused to read (Retry or cancel etc.). I didn't think much about it, eager to go and shoot someone's head clean off with a sniper rifle from the top of a watchtower. The other drive read the disk, so I just installed and played, making a mental note to check it out later.

When I got round to it, I also found out that my Daemon Tools virtual CD drive was also not working properly. I'd noticed this previously when I'd tried to mount a disk image but I had put it down to a corrupt ISO image on my hard drive.

I couldn't understand why my CDRW would work but not a virtual CD or a DVDROM drive. I read up about the subject on the Internet and began to suspect an ASPI layer problem. After a little play-about with some ASPI utils later, I still had no joy.

I left it for another day to let myself think, it not being a particularly urgent requirement and not wishing to corrupt my Windows 98SE installation that's been running fine for so long.

Then I thought to try it in a DOS window. The problem was still there. Then I rebooted into DOS (what would I do without DOS to fall back on?! Probably install Linux and use that!) and MSCDEX found it and read any CD fine in both drives. Wonderful... that meant I wouldn't have to buy a new DVD-ROM.

I'd recently read about major conflicts when more than one CD-Writing program is installed. My choice of CDRW program was always "whatever I'd got handy" until I'd got a freebie version of Pinnacle InstantCD/DVD on a coverdisk. Since then, I'd bought two upgrades to the software to bring me up to their latest version, version 8.

Now, knowing that I'd gone from 6 to 7 to 8 and also had the excellent (but alas not perfect for my requirements) and free CDBurner XP Pro (which despite the name runs on 9x as well), I suspected a conflict. So I thought I'd just uninstall InstantCD/DVD and see if it made a difference.

Add/Remove Programs, Pinnacle InstantCD/DVD, Next, Next, Next, Yes to reboot. Wait. Wait. Select Windows. Wait. See Windows logo. Wait. Blank screen. Wait. BIOS boot screen... select an OS. Oh dear. A reboot loop.

Several tries after, making sure there was nothing unusual trying to load or lurking in WININIT.INI, I thought I'd mashed up my nice 98 install. Well... I was going to have that! This is my computer, you do what I say.

Anyway, Safe mode worked (thankfully) but I still couldn't find the problem. I analysed the bootlog.txt file with Bootlog Analyser (Google it, their website seems to be down). I couldn't find anything out of place and the bootlog was ever so helpful showing no errors and ending on a success message halfway through the boot.

This meant war. If I can't get into my Windows, I'm afraid that hostilities commence until I can. I've never had to reinstall Windows yet (apart from once on a critical hardware failure) and I wasn't planning on starting now. Then I found the culprit.

Althought not referenced directly in the registry, some of the InstantCD/DVD software was still lurking in my Windows/System/IOSubSys directory. I knew that the software was, I assume, sold to Pinnacle by a company called VOB who had made all of the previous versions and I found two VOB*.VXD's in there and, on closer inspection, a CDRDRV.VXD which had a version string which identified it as VOB-originating.

After moving them to a suitably safe place, Windows booted normally and I could see my CDROM's again and still write with CDBurnerXP Pro. Morals of this story: Nothing is ever perfect, keep backups and good utils around, don't ditch DOS, never assume software with a higher version number is better, you rarely HAVE to reinstall Windows.

Friday, May 21, 2004

Essential Utilities

I'd just thought that I'd publish my list of "essential" software. The software below is mostly freeware / free for non-commercial use (obviously you should check the terms and conditions first) and I install them on any Windows machine I own as soon as I can as I feel lost without them. There's also a few proprietary bits of software in there that I consider worth the money and use myself.



Audio/Visual



Adobe Acrobat Reader - Utility for reading PDF files.

Audacity - Audio Editor.

CDex - Extract audio from CD's and, e.g. convert to MP3's. Also perfect for recompressing MP3's to the settings required for making Audio CD's with most CD Writing packages.

DivX Codec - Codec for viewing a lot of compressed videos on the internet.

EazyVCD - Free package containing compatible versions of the two utilities TMPGENC and DVD2AVI. EazyVCD is useless as a program in itself but it contains just the right versions of these two tools to help you convert any video file/DVD into Video CD format suitable for burning with most CD Writing packages.

Ghostscript - Although not that useful on it's own to a novice, as it lets you display Postscript files which are quite rare nowadays, it's used by lots of programs (e.g. PDFCreator) to make PDF files for free.

GSpot - Drag and drop a video file onto this program and it'll tell you what codecs you need to view it.

IconEdit - Icon editor.

Irfanview - Essential image manipulation package, sort of a cut-down Photoshop or Paint Shop Pro that can open any graphics file and perform Batch Scanning, Slideshows and even create self-contained screen savers from a bunch of pictures and video files. Also supports most standard image filter plugins.

JAlbum - Java program which is a free equivalent of Paint Shop Pro's Media Centre Plus, which lets you create albums of your photos suitable to go straight onto a website.

Macromedia Dreamweaver - A very overpriced but wonderful commercial product for designing websites. Invaluable for any serious website owner who wants full control over their HTML and CSS. A joy to use, a bastard to shell out for, but unfortunately the best by far. Only a few apps even come close to this.

Media Player Classic - Lovely little freeware program which can play just about any video file, even plays Windows Media, QuickTime and Realplayer formats if you have the programs/codecs installed without having to load the bloated players supplied by those companies. Also, can be made to look like the "old", much more simplistic Windows Media Player. No spyware or millions of tabs in this program.

Monitor Calibration Wizard - A program to help you correctly calibrate your monitors contrast/brightness buttons. Tells you step-by-step what to do and how to site your monitor, then creates a Windows Monitor Profile to ensure you get the best use of your monitor. I used this to get me a good range on my monitor so that I didn't have to keep upping and downing the brightness for games / desktop work.

Multivalent PDF Encrypter - Freeware command-line encrypter for PDF files so that you can stop people from editing them by signing them cryptographically. You can also limit printing or copying text from them. Not bullet-proof but a definite hinderance. Most of it's functionality is now obsoleted by a new version of PDFCreator but it's still useful for PDF's that you've already made.

NVu - Freeware equivalent to Macromedia Dreamweaver or Frontpage that, although buggy in it's current early stage of development is very usable and quick to learn. If you can't afford Dreamweaver, this is a good alternative. Also available for Linux and made by the people who made Lindows.

PagePlus 8 PDF Edition - Now, me and Serif no longer get on (I'll explain why in another post sometime) but Pageplus is the best DTP program, mainly for value for money. Also, it's Drawplus counterpart is invaluable for a vector editing tool, easily on par with CorelDRAW for a beginner but far easier to use and cheaper. Pageplus beats Publisher into the ground, I'm afraid, especially at the prices you can pick it up for.

Paint Shop Pro - Wonderful image editor. The best you can get. You can open anything, do any raster operation (or even some vector op's) on it, filters galore and all sorts. Easy to use, extremely powerful and not too bad a price, considering how good it is. I use this for everything from touching up my holiday photos to creating images, borders, spacer images and everything else for websites. Animation Shop is also sometimes bundled with it and that's a very nice animated-GIF creator, should you ever need one. Also, sometimes includes Media Centre which is a photo-album generator.

PDF Creator - Freeware Print-to-PDF utility that pretends to be a normal printer. When you print to it, it converts whatever you've printed to a standard PDF, even supporting compression, encryption (DRM). Works well and being free makes it even better.

QuickTime - Essential codec. Stuff the player included with it, install Quicktime then use Media Player Classic instead. Make sure you get the free version.

RealOne Player - Essential codec. Stuff the player included with it, install RealOne then use Media Player Classic instead. Make sure you get the free version which has been squirreled away in a side pocket on the website to get you to buy the full version.

Shockwave Flash Player - Essential web codecs.

SoundEngine Free - Another free audio editor.

SWF Opener - Lovely utility to let you play Flash games offline. If you can save the Flash file to your hard drive, you can drag-and-drop it into a web browser to play offline or you can use this smaller, more efficient utility instead.

Swish - Wonderful proprietary program for creating Flash animations. It started off with simple text movement but recent version are very advanced. Damn sight cheaper than buying Macromedia Flash and suitable for most common uses of Flash, although you might not be able to make very complicated games and stuff with this yet.

VirtualDub - Nice utility for playing about with a video file's audio stream. Resync'ing sound and stuff like that.

WinAmp - Lovely any-format audio player that's simple and plays most things. Media Player Classic can play some audio files but WinAmp plays them all, has neat filters and proper playlist support and is good for running entire albums or CD's from.

Internet/Networking



Agent Newsreader - Newsgroup reader that does the job without anything fancy getting in the way.

BitTorrent - Download those large files without killing the website that hosts them. Some websites offer BitTorrent downloads so that everyone downloading shares all their bandwidth so the website doesn't incur large bandwidth charges. Lots of Linux distributions and file-distribution sites are using this now.

DBXtract and OEBackup - Turn those cryptic DBX files from Outlook or Outlook Express into human readble text files for backup purposes. OEBackup will also backup ALL of your Outlook/OE settings (addresses, emails, preferences etc.) for backups or for transferring to a new computer.

K9 - Free spam filter which intercepts a POP3 connection from your computer and filters the spam before it gets to your inbox. Works by Bayesian statistical filtering and also uses some DNS blacklists to do it's job. Simple, works very well once trained and also can automatically integrate into Outlook/OE to apply filtering to your existing accounts.

NAT32 Enhanced - Wonderful proprietary NAT (i.e. connection sharing) program that runs under Windows. Very technical, so not for the beginner but powerful, cheap and works with any Windows-visible internet connection, for all you winmodem users out there.

Nmap - Freeware security tool to test firewalls with. Useful if you run servers to find open ports etc. Works best under Linux.

Opera - The best web browser. Throw away IE, Opera, with it's Google ad-funded free version beats it into the ground. Compatible with almost every site, works fast and easy with a number of fantastic time-saving shortcuts and features (such as a list of all the links on a page, pop-up filtering, mail integration, one-click hiding of images... far too many to list and all very useful). Once you learn the "hidden" keys and find all the options for every element of a webpage, IE will seem inconvenient by comparison. Also starting to incorporate mail, newsgroups, instant messaging etc. into a single program.

Pegasus Mail - The best standalone POP3/IMAP mail program. All sorts of features and the best tool to send and receive emails from loads of different accounts.

Putty - Freeware SSH connection tool, with a good security history and reputation. Also does telnet connections and tunnelling.

Sam Spade - Little utility to perform DNS lookups and other technical investigations, primarily aimed at helping administrators find the source of spam but useful for other purposes too.

TightVNC - Low-bandwidth version of VNC, which lets you "see" and use your computer desktop over an internet connection. Useful for remote support or remote access for your home PC's.

Trillian - Multi-protocol instant messaging client that supports MSN, AIM, YIM, ICQ and even IRC in a single program.

WS_FTP Pro - Commercial product but is starting to be given away with magazines / appearing for sale at very low prices. An FTP program with a vast array of features, simple to use and very customisable.

YEnc - Program for decoding a certain method of sending binaries over newsgroups.

ZoneAlarm - The best free Windows firewall. I use this behind a Linux firewall because it still offers many features that are good for securing your PC, and as a second line of defence. I don't feel safe on a Windows machine on the 'net unless I have this. Brilliant protection from external attacks and also "internal". It lets you decide which programs should access the net and tells you if any of them change or any new ones tries to make a connection. Good for stopping keyloggers and other viruses from reporting back home. Although not 100% infallible at it's "internal" functions, it normally provides too much of a challenge for most viruses to bypass and it's external protection is bulletproof. The Pro version has lots more bells and whistles.


Support Files



All of the following are essential in running most modern programs and if a program hasn't already installed them, it's worth installing them straightaway to avoid problems later.

DirectX
Java Runtime Environment
Microsoft Installer
Visual Basic Runtime files

Miscellaneous Utilities



Ad Aware - Wonderful spyware remover which comes in several versions including this free one. Run it, select all the junk that's accumulated when you've installed suspect programs and then delete it all. Safely, quickly, completely, easily.

Add Remove Pro - Freeware program to remove all those left-behind entries in your Add/Remove Programs list.

AllerCalc - A good scientific calculator that's much more complex than the internal Windows calculator and can be much more useful.

AnalogX BanishCD - Tell Windows 9x where you've copied the Windows CD to on your hard drive and you'll never be prompted to enter your Windows CD again.

AnalogX TimeSync - Sync your computers clock to a NTP server on the net to ensure it stays accurate.

ASPackDie - Decompress ASPack'ed executables. I use this to uncompress Opera's executable so that I can change it's header tags to make it identify itself as plain IE. This fixes loads of broken sites that refuse browsers with Opera in their title, a hangover from the days when Opera didn't work very well. I wouldn't need to do this but the developers refuse to offer this facility and always want the word Opera in the identification string, even if you set Opera to identify as MSIE.

AVG Antivirus Free - Free anti-virus program. 'Nuff said. Alternatively, I use Trend Micro's Housecall website to do this job for me, then I lookup any discovered virus and remove it manually.

Bochs - PC emulator. I use it for testing Linux boot disks / single-disk distro's without endangering my real computer.

Calendar Magic - Lovely little program to mess about with dates, e.g. adding on 50 days to January 2nd or finding out the date of Easter etc.

Calendar Painter - A program I use to print out nice calendars for the year.

CDBurnerXP Pro - Freeware program to burn CD's. 'Nuff said.

CD Check - Simple little program to make sure every part of a CD can be read. Useful for checking backups, disks from boot sales etc.

CD Mage - Program to play about with CD images, e.g. ISO's etc.

ClickTray Calendar - System Tray program to help you keep a schedule of events. Annoyingly bright and cheery but useful and very well thought out. Also has calculators etc. built-in.

Clip-o-matic - Freeware tool to let you recall the last 10 things you copied to the clipboard. Invaluable for everyday Windows use and much better than the Microsoft Office equivalent.

Convert - Free unit conversion utility.

Daemon Tools - "Virtual CD" program which not only lets you mount any ISO image as a "real" CD but can also emulate DVD's drive (including region-coding) and common copy-protections such as Safedisc and Securom so that you can actually play those games that you own without having to insert the damn CD every time.

Disk Image Viewer - Utility for viewing ext2/fat filesystems inside a floppy disk image.

DOS Here - Adds a "DOS here" option to explorer's right-click menu so that you can open a DOS prompt with the current directory already changed to the directory you are viewing in explorer.

DVDFab Decrypter - A replacement for the now-sadly-lost DVD Decrypter. A program to remove the region-encoding from DVD's and copy them to your hard drive. Primarily designed so that you can copy them onto a DVD-R but I use it to remove the encoding and place the MPEG files onto my hard disk, so that I can recode them with the EasyVCD suite or similar into a format that I want to use. I'm so sorry that I want to make a backup of a DVD I already own or that I want to change it into a format that I can take on the move with my CD-only laptop. That was sarcasm.

Explore2fs - Lets you view the structure and file contents of a linux ext2 filesystem from within Windows.

IZArc - Freeware compression/decompression utility supporting all major compression formats, e.g. ZIP, ACE, RAR etc.

MetaPad - Freeware notepad replacement that lets you use DOS or Linux-style line-feeds, unlimited file size, perform decent searches within a text file etc. yet still stay in a small, fast text editor.

MoveLater - Command line utilities to show you what files will be moved/deleted by Windows on it's next boot or let you add to that list. Good for fixing Windows after a corrupt setup program or for seeing what damage spyware/viruses have done.

Multires - Program for quickly switching between screen resolutions. Can also be automated in batch files to make those old programs run seamlessly in the resolution they require without having to manually change it each time.

Password Show - Shows the password hiding between any asterisked box in Windows. Useful for recovering Windows DUN passwords, passwords cached inside programs etc. Doesn't work with everything but works with most things.

PC Inspector File Recovery - LIFESAVER. Searches a harddisk for files/partitions that have become corrupted. Wonderful recovery tool after I wiped out the boot sector and FAT for a harddrive, it found my partitions and files and let me copy them onto a blank hard disk when Windows refused to even see the drive.

RawWrite - Program to write floppy disk images onto a floppy and vice versa.

Refresh 'Em - Essential for Windows 9x, this program refreshes the icons on your desktop and in explorer when Windows gets confused and makes all the icon images change to something completely different.

Startup Control Panel - Essential util that lets you see what programs are scheduled to run at Windows startup. Useful for getting rid of spyware / viruses and nasty little programs that want to run in the background all the time.

Startup Monitor - Companion to the above, this places a watch on any program that tries to set itself up to start at Windows startup, warning you when it does and asking you if you want to allow the change. A little like a ZoneAlarm for windows startup.

SysInternals Process Explorer,
SysInternals Registry Monitor,
SysInternals Debug Monitor,
SysInternals File Monitor
- Wonderful suite of freeware that let you watch and record in realtime any changes or accesses to the File or Registry, also lets you see exactly every process that's running and monitor programs for Debug output. Wonderful for watching exactly what an program or installation does as it does it and brilliant for debugging verbose error messages such as "File not Found" when you have no clue what file it's looking for.

Unknown Device Identifier - Find out what device that "Unknown Device" is in Windows Control Panel and maybe even download the drivers for it. Wonderful for using on unknown hardware that you pick up from friends, boot sales etc. (Apologies to the author for previously linking to someone that he says stole his program and re-branded it).

XVI32 Hex Editor - Freeware hex editor. Useful for performing any sort of file-editing on the byte level and for hacking games and other executables.

Games



I have to say that most games don't interest me and games are much more of a personality-based choice so there's little point in recommending them, but my interests still mainly lie in old games. We can all download emulators for the console games but these utils are good for running the old PC games.

ScummVM - Freeware. Let's you play the interactive games that were wrote using the SCUMM interface, e.g. Simon the Sorceror, Monkey Island etc. Also, because of the kind co-operation of some publishers, there are also free downloads of games such as Beneath a Steel Sky that you can use in this "emulator".

DOSBox - A DOS emulation program for Windows that lets you run all of those old cranky games that needed a true SoundBlaster with an AUTOEXEC.BAT and all the EMS/XMS/IRQ/DMA horrors that went with them.

Friday, May 07, 2004

Bloody Sasser

Yep... you guessed it, I walked into work this week and one school is completely infested with the Sasser virus. Anyway... turned out okay because I was officially told to leave someone else to clean up the virus mess... RM networks are marvellous... can't install a microsoft patch because each PC has it's state built from packages on a central server which, apparently, is fine at doing connection sharing but hasn't got a firewall on it, hence the virus being present.

This package system works by making everything that goes onto a machine into Microsoft Installer .msi files, a marvellous idea which ensures easy software distribution, easy recovery should the individual client PC's go muppet but unfortunately a pain in the arse when it comes to installing anything at all.

Hence, I wasn't going to mess about making an MSI for the Microsoft patch, which can take forever with RM's buggy software, so I phoned the bod in charge of the borough's networks and he said he'd sort it out because RM have specially built-packages, which makes me wonder even more about how far RM are actually in bed with Microsoft, not to mention their Word-97-with-buggy-macros which they sell as RM Talking First Word.

Anyway, I had the staff on me from the second I walked in... not blaming me (not my responsibility, I didn't install the servers) but asking for help with their home PC's. Printed out a step-by-step plan for them, mainly so that they don't bring it back in to the network until it can be patched... believe it or, this network's only pencilled in for patching sometime this or next week... nothing like being up-to-date.

Got asked lots of questions about Sasser, and one of the top ones is if I'd got it at home. Unfortunately, I'm only using a router, (which blocks the virus without me having to touch any settings) another firewall, (which blocks the virus without me having to touch any settings) Zonealarm Pro, (which blocks the virus without me having to touch any settings), and a poor, decrepit, obsolete, operating system which I've been told to replace hundreds of times and never been given a definitive reason to upgrade. Oh, and in case you're wondering, it's my Windows 98SE that isn't affected by the virus.

Sadly, though, the complete lack of any anti-virus software on my machine was absolutely no problem whatsoever and never has been. I've cleaned viruses off of uncountable machines but have personally "caught" precisely one in all the years I've been using PC's and that came from a PC magazine's demo copy of Sin (that ancient 3D game). It caused me no damage, was cleaned within an hour of infection and detected because it had modified critical files which I just so happen to have a tiny little self-made Visual Basic program which can double-check MD5 hashes of.

If I ever have a suspicion of a virus on a file or I want to run untrusted floppies or executables I just visit Trend Micro's Housecall service which can detect viruses for free... manual removal instructions are always available for free on the internet and I personally prefer to delete viruses myself because then I know they have gone and exactly what they've damaged. Not that AV software would have helped at all, something which people seem to think they will. By the time the average person has bothered to update their anti-virus software and run a full scan, they've probably had one copy of every virus that had been released that month slip into their machines, not to mention spyware.

I've been waiting for Sasser... it's the natural evolution of a virus and they are getting better all the time. I love the way it can infect without any manual intervention. I also love the way it can do it to a base install of Windows, which ensures it'll circulate for several years at least because people will be reinstalling and putting unpatched Windows XP machines straight on the internet to get the patches from Windows Update.

I love the way that 90% of the people who need to install this patch will do so over the internet... the virus' main point of entry. And if you clean the virus but don't know of the patch (which is quite possible among ordinary home users) then you've wasted your time because it'll just come back on. And how many machines are there which are not on the internet yet, but will be put on at a later date, without the patches? Even BugBear, MyDoom and other ancient viruses are still circulating... proven by the fact that one laptop I cleaned for the school also had both of the above without anyone ever noticing.

Sasser is just the start. I'm still waiting for some super-virus to come along and give AV software companies and companies like Microsoft a kick up the arse in the security department. Hopefully then we'll get some decently programmed software with well-thought-out defaults.

Friday, April 30, 2004

Buggy updates.

Have you noticed how the more frequent updates a piece of software has, the buggier it gets?

Steam is a piece of software to allow a game publisher to push the latest and greatest updates out to their customers. Marvellous. It sounds wonderful. It's also extremely buggy. I find that if something has more and more updates pushed out (not in terms of volume, things obviously get better over time, I'm talking frequency), it gets buggier and buggier.

Steam has had problems with it's anti-cheat system banning innocent people, so they had to roll that update back. I find that most programs with an Auto-update feature suffer the same sort of fate at some point in their lives. AIDA32 was a wonderful program I used to use to find out what hardware and software was in PC's. It had an auto-update feature that one time updated to a version that crashed every time I loaded it.

I'm assuming that it is because of the lack of testing that comes with frequent updates but I find it strange that an idea that is supposed to help the average user actually puts them in bigger trouble that letting them get on with their old versions.

Steam supposedly once announced that it would release an update every Wednesday. That was an oversight too... lets update one million clients all at the same time every week? Marvellous. And the bloody things tries to run at computer startup unless you stop it (I use StartupMonitor and StartupControlPanel from Mike Lin, personally).

Now, Windows Update isn't a bad idea. I'm not sure at all about it being automatically running on every new operating system and downloading every update in the background as soon as it can. First, it means that Windows Update gets slogged on every update, sometimes it's even been taken down by sheer volume of traffic. Second, it means that any buggy update will automatically be installed. I like to have control over things like that, especially with things like the Windows Media Player 9 EULA. If I'd have left Windows Update to automatically get updates, I'd have all sort of rubbish like 200 megs of .NET Framework cluttering up my Windows 98 machine. I don't want them and don't run anything that needs them.

I'm also thinking... what if someone can propogate a rogue update? I'm assuming things like Windows Update and my software's Auto-update features have some sort of identity-based security on them, otherwise it's quite hideous to think of someone sending me a skillfully crafted update which could compromise my machine. A little DNS-spoofing here-and-there...

eBay have a program called Turbo Lister to help you create lots of eBay auctions quickly. My girlfriend uses it for every auction she makes and it's very quick compared to any other method. However, before you can upload any created auction, it insists on updating itself first. This program is also as buggy as a dead carcass that's been in the sun for a week. Also, the updates do things like change the categories as eBay shifts them around. That auction you place under Books\Computing now belongs under Books\Non-fiction\Information Technology or whatever. In doing this, the auction fails to upload until YOU fix it. Why can't the update know what it changes and do it for you, obviously with some sort of confirmation?

I'd just like to make it clear, I'm not talking about anti-virus software updates here. I don't think I've ever heard of them doing any damage, or updates to programs like Ad-Aware... updating a database that a program uses is a lot different to updating the program itself. In those cases, I don't mind frequent updates, I even praise them but it seems to be the case that the harder you try to push updated software out quicker, the more problems the update will make.

It a "hare and the tortoise" situation, clearly.

Tuesday, March 23, 2004

Defragging

Got a problem? Defrag. Computer running slow? Defrag. Computer crashing? Defrag. Cursor the wrong colour? Defrag.

What is people’s obsession with defragging their hard disks? It seems to be the fallback solution of most “experts” that you should defrag your hard disk whenever something is wrong.

I was around in the early days of DOS and, yes, we defragged. I can remember sitting for two hours waiting for an 80Mb drive (one of the largest at the time) to defrag (actually, I probably used either DiskOpt or ORG back in those DOS days, but it's the same principle). I still don’t know why. That’s a lie… I know why defragmenting (to give it it’s proper name) is supposed to work. Technically, when your hard disk is near full, a new file created will not fit at the end so instead the computer cuts it up and shoves it into any gaps it can find anywhere on the hard disk. The space it uses to put the file in is the space where old, deleted files once resided.

Over time, if you’re running your disk at near-capacity and you delete lots of file to clean up space for newer ones, the files on your hard disk will fragment (i.e. they will get broken up and jumbled about). Your computer always knows where all the bits of them are, so it’s not a danger, but it can lead to slight delays in retrieving those files later.

Defragmenting is the process of going through the hard disk, sellotaping all those files back together and putting them in a nice order so that they are all in one piece again. Great. Sounds useful. Unfortunately, it takes several HOURS to defrag a hard disk and sometimes it can take literally all night. Let’s say that again: a modern, top-of-the-range computer will take several HOURS to defrag a single drive.

People used to worry about wasted computer time back when it cost lots of money per MHz but apparently now that we’re in GHz, it’s only fair to leave the computer running all day to perform a single, fairly unnecessary task. Fair enough, defragmenting is seen as a maintenance exercise, much like performing anti-viral scans or using Scandisk (which, I would like to add, are actually much more useful and worthwhile).

The trouble stems from the fact that even when my anti-virus scan is chugging away in the background, I can still use my computer. I can play my games or browse the internet. Try running defrag and organising your files at the same time. Sometimes even a click of the mouse can make defrag restart itself. The recommended route is to boot to a clean version of Windows, kill all tasks and run Defrag and leave the computer. I’m sorry… what a waste of electricity, time and effort.

I don’t doubt that defragging my disk will make my file accesses go a little faster. I don’t have a problem with that at all, I know the theory, I just can’t see the practice. However, the increase is file access speed is so small we must be talking in the range of fractions of a second. Yes, they probably do all add up but not to the hours that I waste waiting for it to defrag.

I only run “old” computers. I’ve never had the latest twenty-billion GHz machine and I don’t want one, either. My computers are always JUST behind the top-of-the-line, in the comfortable zone. Currently, I’m using a 1.2GHz machine. It does EVERYTHING that I need it to. Theoretically, I should notice a larger difference after I’ve defragged a disk that someone with a top-of-the-line SATA super-fast harddrive. My computer runs fine, it’s comfortable, it hasn’t slowed down over the years I’ve had it (mainly due to good maintenance of the software I put on it) and my hard drive doesn’t fly all over the disk to pick up it’s data.

I work as an ICT Technician for some schools in my local area. The teachers often come to me for advice on their computers and I’m amazed how often many of them have been told to, or assume that they should, defrag their hard drives. They do it for everything from a virus infection to a BSOD. Guess what, it never works. It barely works for the purpose for which it’s intended. They seem shocked to learn that the last time I defragged was three years before I took my GCSE's (i.e. age 12 for you Americans).

My hard drive is behind the times but my computer runs fine, no matter how many times my disk has been filled and deleted (believe me, it’s several… about twice a year I have to seriously consider my storage on the computer, compressing, archiving, moving, deleting or, in extreme cases, upgrading). God knows what it looks like from a technical standpoint, but my Windows runs just fine, thank you very much. No chugging. No problems.

Defragging may well have a purpose for, e.g. file-storage servers. But then, excuse me, why the hell are they running a rubbish windows FAT filesystem that’s prone to all sorts of problems? All filesystems suffer from fragmentation to a certain extent but FAT’s gotta be one of the worse for it. The average home user cannot possibly benefit enough from a defrag to make it worth their while. Most people I know don’t even get close to filling a fraction of their harddrive in all the time they have a computer.

What do I tell these saddened people who come to me with their tales of computer woe, of games that won't load or of computers that take 10 minutes to boot? They invariably tell me that they were told to defrag and did so. My reply...

What a waste of time.