Rants


Mit der Dummheit kämpfen Götter selbst vergebens.
Against stupidity, the gods themselves contend in vain.
--Friedrich von Schiller

I think Schiller was actually an early computer user. I don't know about the rest of you, but I spend a lot of time contending in vain against the stupidity rampant in the computer industry. Sue got tired of hearing my contending and put together this list of my tirades against the various stupidities committed by various software suppliers, so she could cut me off with say #2, rather than listening to my whole rant again.

Rant Number Topic Rant
1 Prompt when installation directory does not exist. When a program uses Install Shield for its installer, you are given a chance to specify the directory where you would like the software installed. If you specify a directory that does not exist (99.44% of the time it won't exist) Install Shield comes back and says "Directory foo does not exist. Create it?" No, just install it into thin air! Of course the fucking directory doesn't exist! That's one of the things the installer is supposed to do. Of course I want the directory created. What fucking moron came up with this annoying prompt!?
2 What do you mean I don't have permission? I'm root!

This is an NT annoyance. (Yes, NT's God-like powers account is called Administrator, but I can't spell that consistently, so I always rename it root.) It seems to have one of two causes. The first is that the file has already been deleted, but, for some reason, NT reports a privs problem instead of file doesn't exist. (Error messages were never Microsoft's strong point.) The second is that the read-only attribute has been set. The read-only attribute is separate from the standard NT privs. So, is a user has the privs to delete a file, but the file has the read-only attribute set, NT reports an access denied error.

A related rant is when I have my Oracle DBA hat on and I get an odd Oracle error from some piece of code I'm running. I look up the error code and instead of telling me what the code means, the documentation just says "consult your DBA". I am the DBA. Just tell me what the fuck it means!

3 FoxPro doesn't really delete records. Sue has this one down as FoxPro, but it's really any software that treats me like an idiot "for my own good." Oh, the user just said to delete something, but the user is too stupid to know if he really wanted to delete it, so ignore the user's instructions and just move it somewhere else. I am not an idiot! When I say delete something, I mean delete it. I can count on the fingers of one hand the number of times that I've deleted something by accident. So, for the sake of that minuscule number of times when I don't want something deleted, SW takes it upon itself to ignore my instructions, which are valid in the vast majority of cases. The sensible approach is to actually delete it and then provide a command to recover the lost data if it hasn't already been overwritten with something. (e.g. Norton undelete)
4 Can't connect to GM sales and support db without setting up a connection; can't set up a connection without connecting. The first time you run GoldMine, it brings up a dialog to select what DB you want to connect to. Once you pick a DB, this dialog never comes up again, unless you get into GM and change DBs. So, if this DB ever becomes corrupt or obsolete, you can't get into GM to change DBs and you can't change DBs without getting into GM.
5 Software did not print part of document and/or documents it was told to print. Software printed entire document, wrong section, all documents or one document. Frankly, I don't ever remember ranting about this one, but software that doesn't do what it's told is really, really annoying.
6 A web site's continual rearrangement of site structure, making URLs to real information worthless (especially Microsoft or MacAfee). I think companies are getting better about this one. I can remember a day when Microsoft was changing their web site so often, that if you bookmarked a page, the bookmark would be useless within a week.
7 Applications that save files to the $WinNT directory and want full access therein. This little puppy is why Windows will never be as secure an OS as UNIX. There's nothing inherently broken about the NT kernel, but you just can't use all the security features that it provides without some dipshit application program wanting to write data files where it shouldn't. Let's take our user data, and maybe even temp. files, and put it in the same directory that contains the vital system files needed to run the computer. Why is it like pulling teeth to get developers to realize how mind-numbingly stupid this is!
8 A space is a delimiter, not an identifier character (spaces in database table and field names). It's bad enough when operating systems pander to those too stupid to find the underscore key on the keyboard by allowing spaces in file names, but when RDBMSs start doing it, that just makes my blood boil. <sarcasm>Typing:
select [first name] from user
is so much more readable than:
select first_name from user.</sarcasm> What users don't realize (but programmers damn well should and it's programmers who have to deal with database table names) is that using spaces in identifiers is a bad idea even when it's supported. Because no matter what user friendly coating is on the outside, inside a space is a delimiter. Treating it otherwise requires additional code internally. And additional code means additional places to have bugs. It's just not worth it, simply to avoid typing underscores.
9 Version numbers, such as NT 5.0 vs. Win2000, MacAfee 4.0 vs. 5.0 Remember the good old days when, if the current version of a SW package was 1.1 then you could know that 1.2 was a minor upgrade and 2.0 was a major upgrade? Then the marketing morons took over. Now we have the next major version after Windows NT 4.0 was not Windows NT 5.0, but Windows 2000. Of course, I suppose that the marketing people (and I use the term loosely) aren't stupid, just evil. They wanted the confusion of the Windows 2000 name to force the Windows 98 users (Face it. They can't be all that bright: they're running Windows 98!) into thinking that Windows 2000 is the next version of Windows 98 instead of Windows NT.
10 Disabled controls when he wants to use them. Disabling controls is a nice, compact way of communicating to the user that some operation is invalid in the current context. For example if there's nothing in the clipboard, then Paste is disabled on the Edit menu. This is a good use of the feature, because we always know that Paste is only disabled when there's nothing in the clipboard. So, if we can't paste, it's pretty obvious why. Where you run into problems is when it's not immediately obvious why an item has been disabled. There's nothing more frustrating than to have a menu of five options, four of which you couldn't care less about, and a fifth that's disabled. It's what you want to do, but there's no feedback about why you can't do it.
11 Help that is not context-sensitive. It's bad enough to have a dialog come up with some cryptic control and no help button, but what's worse is when there is a help button, but it doesn't bring up help related to the dialog. I mean, come on, if I wanted just general help, I'd select Help from the menu. A help button should bring up help specifically for that dialog.
12 Help that does not have the requested information. What is the point of having a help file if it doesn't contain any help? An example of this type of stupidity is a check-box that says "Enable mode-42 translation". The help has this to say: "Check this box to enable mode-42 translation". Well, no shit! I couldn't have figured that out on my own? What the fuck IS mode-42 translation?
13 Can't sneeze without needing to reboot windows. One of Microsoft's goals for NT 5.0 was to reduce the number of reboots required. So, when it was released, I installed IIS on my machine to play with and, sure enough, it didn't require a reboot. However, it also didn't work. I rebooted and IIS was fine.
14 .com web sites that should be .gov, .mil, .org, .net What is the flipping point of having multiple TLD's if everybody thinks the general population is too stupid to find a web site with a URI that doesn't end in .com? The domain that really ticks me off is goarmy.com. Do we really want to recruit solders so stupid that they can't figure out that the army's web site URI ends in .army.mil?
15 Automatic desktop shortcuts Every single program always has to think that it's the most import program in the universe, so, of course, you want to be able to start it quickly from the desktop. News flash people, I have lots of SW that I don't need every day. As an application developer you can't know how important this program is to me. So, ask before you plop that icon down on the desktop, because if every single program puts an icon on the desktop, the desktop is so cluttered it becomes useless.
16 Prompts to exit when user will not lose data or state.

The worst part about SW that exhibits this design flaw is that it makes you question yourself. "What do you mean, 'Are you sure you want to exit?', I saved that file! Didn't I?"

The most horrible example of this was Word Perfect 5 for DOS. You'd be writing a document, saving periodically, then go to exit WP. "Do you want to save the file (Y/N)?" Hmm, I thought I saved it, but better say yes to be sure.

"What is the filename?" Filename? Damn it, use the same damn filename I've used every single time I've ever saved this stupid document. Hit return to convince WP to do what it should have done without asking me.

"The file exists. Do you want to overwrite it?" Yes, of course it exists you stupid piece of shit! If I save a document 100 times it already exists for 99 of those times. Hit return again.

"Do you want to exit?" AAAAAGGGGGGGG!!! Yes, yes, you brain-dead bug-ridden piece of shit, just let me out!!! By this time, I'm foaming at the mouth and screaming at the top of my lungs. Fortunately, when I was forced to use WP, I was in an isolated lab.

17 Adds start menu option to current user instead of all users when installing. When Windows NT first came out and introduced the concept of multiple accounts to the Windows world, you could excuse Windows SW vendors for not getting the concept. But that was eight years ago! There's no excuse for it today. I mean, come on, it's not rocket science.
18 Generic nonsense screaming. GOD-DAMN BUG-RIDDEN PIECE OF SHIT!! I think that qualifies.
19 NT method of resolving shortcuts:local drive converted to UNC, and back to local drive. This one is beyond stupid. I just can't believe that anyone with an IQ higher than a house plant could come up with something this stupid. I can't even think about this one without my blood pressure going through the roof. See Microsoft's knowledge base article Q158682 for the details.
20 Temp files that aren't deleted Is it really all that difficult to clean up your temp files when your program exits?
21 Temp files not in the temp directory. This is just lazy, sloppy programming. The TEMP environment variable that gives the programmer a place to put temporary files has been around at least since the days of MS-DOS 3.3 (released April, 1987) (It may have been introduced earlier, but my personal experience with DOS only goes back to DOS 3.3, so I don't know.)
22 Viewing design of linked tables in Access and getting that warning. I know it's a linked table. I know I can't edit its definition. Will you just show me the God-damn table structure and let me get on with my work?!
23 It is the job of the operating system to isolate each process and prevent it from executing any illegal operations
24 Access gives no information on linked tables.
25 Web site searches that return no information matching any keyword. Microsoft is particularly good at this. If I had a dollar for every time I searched the knowledge base, found nothing, then searched Yahoo! with the exact same keywords and found a link to a MS page, I could afford to retire.
26 Web sites that use umpty-zillion cookies for no reason. Cookies have two reasons for existing: shopping carts and easy login for low security sites. I'm going to refuse any other use of cookies. The prompt me mode for handling cookies is virtually useless for the multi-cookie sites, 'cause who wants to sit there and say No to 50 million cookies? And it's not like cookies only store a few bytes and you need to use lots of them. A cookie can be as large as 4K (RFC 2109 section 6.3).
27 Charging for drivers, even upgrades. This is just really sleazy. Your product is the HW. That's what you charge for. To charge extra for the SW needed to make the HW work is a rip-off.
28 E-Z pass lanes in turnpike entrances and exits It's not that I'm agin E-Z Pass, per say, it's just that the mixture of E-Z Pass lanes and non-E-Z Pass lanes is dangerous. No E-Z Pass lanes: OK. All E-Z Pass lanes: OK. Mixture of the two: someone's going to get hurt. Even with the small amount of driving I do, I've almost been run over several times trying to merge right while some idiot comes out of the E-Z Pass lane doing 80.
29 Web pages that open new browser windows. If I wanted a new God-damn, fucking window I would have opened a new God-damn, fucking window!!!!! The number one feature I want in a browser is when an anchor tag specifies a new window, the browser should ignore it, then hunt down the author of the web page and cause an electrical surge to incinerate his body.
30 IE setup running when logging in as root; unable to tell setup to fuck off. The first time an account logs on after IE has been installed or updated, Windows runs a little program to create the users settings. If you've just upgraded IE, this is handy. If you haven't and are logging in to fix some other problem it's really fucking annoying to have to wait while the system configures a component you have no intention of using.

Last updated: October 28, 2001