This was written a few months ago. Oh, how much I have to add. I will include this here for historical reasons.
Ever used Windows? Ever been incredibly annoyed? The first implies the second.
Tab Completion Inferiority
XP's CMD.EXE shell supports tab-completion. That is, you type c:\pro[TAB KEY] and it'll expand "Pro" to "Program Files" or "Project" or PROGRA~1 or whatever the first file/directory is that begins with PRO. This is a very good feature that was likely blatantly stolen from the Unix world. I don't mind, but they could at least have done it correctly. Instead, MS decided to completely suckify it as follows: It doesn't put a \ at the end of a tab-completed directory.
Instead of typing
to get to
"c:\documents and settings\[username starting with c]\desktop"
you get to type
etc. etc. Is there any reason anyone would ever, ever need to do something to a directory and not want a slash on the end? Extremely rarely perhaps, but almost never. Is there a case where a \ on the end of a directory name will prevent a directory-specific command from working? Not that I know of. Is it true that 99% of the time, you will be working on FILES, not DIRECTORIES, and so tab-completing FILENAMES should be the whole point? Yes.
Add to this CMD's poor quoting mechanism. In bash in the Linux world, filenames can have spaces in them, and to type it you just put a slash before the space. Or quote it.
is the same as
Bash will use the slashes when tab-completing. Windows on the other hand will stick the ENTIRE PATH into quotes. This means that if you type
you end up with
"c:\documents and settings"
In quotes, WIHTOUT A SLASH. So what do you do? You put a slash at the end, OUTSIDE the quotes.
"c:\documents and settings"\
At this point, pressing a letter and tab to continue completion will stick the WHOLE THING BACK INTO QUOTES. So that you keep appending \ to the quoted string.
In general it's clumsy and it makes me sad. It's too sad to type any more about.
Accursed File-Locking Mechanism
Windows will lock files for seemingly any reason whatsoever. If a program is accessing a file, chances are very good that the file will be locked.
I've lost count how many times I'm trying to delete a file, and Windows waits 10 seconds, then plays the loud annoying "DOOMP" error sound and displays a modal dialog box "Access is denied". Now, it doesn't matter if I'm the one who CREATED the file 2 minutes ago, if I'm the only one who ever ACCESSED the file, if I'm the one who started the program that may or may not be ACCESSING the file right now; Windows often decides that I, the user, must be protected from my own supposed stupidity. If I'm the administrator, and I say delete a file, then delete the file. I don't care what program is accessing it.
I have some ideas on how to correct this problem, though.
- Implement an internal counter for each file. Every time I futilely click a file and press Delete while begging Windows to get rid of the file, increment the counter by one. When it hits some level where I've been suitably tortured, say 20 or 30, delete the file no matter what. Just to save a tiny, tiny bit of my sanity.
- Even better, create a mouse which is pressure-sensitive and can register different responses depending on how hard I press the buttons. I believe the number of times Windows gives me "DURRRRRRRRR, Access is denied!" messages is directly proportional to the force I use to press the buttons on my mouse. After registering a certain amount of brute force beating on the mouse, say, close to the point where the mouse is about to be physically destroyed, then delete the file, no questions asked.
- Fix your freaking operating system, MS.
Go to a directory with two subdirectories that start with different letters. Let's say, "recycled" and "source". Now let's say I want to rename "source" to "restricted". Open up Explorer, and click on the "source" directory to select it. Now, click its name again once, to rename it. Immediately (as quickly as possible) press R on your keyboard to start typing the new name. What do you think will happen?
If you said "Windows will cause you to start typing a new name for 'Recycled'", you're right! There's a noticeable lag between the second click, and the point where Windows starts registering keypresses as part of a filename. During that lag your keypresses will affect other things, in this case doing a type-ahead-find maneuver and selecting the first file or directory whose name starts with an R.
Do you know how many times I've renamed my recycling bin at work? All because I type more quickly than Windows thinks. "click type a name enter Oh wait, where the heck is my recycling bin?" We covered eliminating race conditions in my second year at college, you'd think billions of dollars worth of programmers would find this one and fix it after 20 years worth of operating system development. Clearly my expectations are too high. Sucky Performance
Whoever said that Windows XP Pro has good performance clearly never used my computer. It's a 3 GHz machine, meaning it likely has more computing power than all the computers in the world combined as of the early 70's. However, such monumental tasks as opening the Start Menu seem to be beyond its abilities.
Oh yeah, it will open the Start Menu. But there are times when it opens so slow that I can literally watch the pixels of the menu being drawn upon my screen, line by line, slow enough that I could count them. I would count them, perhaps out of morbid curiosity, if not for the mind-numbing rage I always feel at this point.
Ever hear of "pre-empting I/O"? When some stupid process is furiously dumping data to my hard drive, or (just as likely) when Windows itself is busy thrashing as it starves itself of RAM, how about doing that crap in the background, and at least give a semblance of appearance that I, the user, actually retain control over what's going on? If I click the mouse, how about allocating the couple hundred or thousand cycles of CPU time required to update the screen? I could draw a Start Menu mysel with a crayon faster than Windows often does it for me.
This problem could probably be solved by reinstalling Windows, of course. During which time I'll be without the use of a computer. Being a programmer, computers tend to make my job a whole lot easier, to say the least. If you added up all the productivity lost due to millions of users having to reinstall Windows twice a year as it slowly implodes under its own weight over time, I'd imagine the sum would be astronomical. Who pays for that? Why, we the customer.
Thank you MS, may I have another?
Thank you MS, may I have another?