The greatest software design blunders of all time
-
I'm sure you know far better than I. The last time I saw a Unix prompt was 1989. My impressions at the time were in comparison to CP/M and DOS, so it was quite the impressive critter.
Christopher Duncan www.PracticalUSA.com Author of The Career Programmer and Unite the Tribes Copywriting Services
OK, well for that comparison it might be better. But that's a pretty low bar :)
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
-
Sorry, but we'll have to agree to disagree. IMHO unix is a poorly designed system from the ground up. Some of these problems can be attributed to limitations on computer systems back in 1969/70 when they were first building it, but in 2009 there's pretty much no excuse to retain so much of the poorly built legacy design. It may be easy for an kernel developer to program for, but from a userland developer's POV it's a piece of crap. Security that's built on 32bit bitmasks? In 2009? C'mon, that was completely lame in the 1980's. Building a system that is almost wholly dependent on text processing for sending data back and forth, file storage, etc, and then creating/depending on a "systems" language that has no concept of a string as a basic data type and instead relies on a null termination character for a string's ending? WTF??
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
Jim Crafton wrote:
Security that's built on 32bit bitmasks? In 2009?
Unfair. Pretty much all modern Unix variants have some form of ACL.
Jim Crafton wrote:
then creating/depending on a "systems" language that has no concept of a string as a basic data type and instead relies on a null termination character for a string's ending? WTF??
How is Windows (or any other modern OS) different in this regard? Besides, what is an alternative? Do you seriously suggest a GC-dependent string class for kernel development?
-
Jim Crafton wrote:
Security that's built on 32bit bitmasks? In 2009?
Unfair. Pretty much all modern Unix variants have some form of ACL.
Jim Crafton wrote:
then creating/depending on a "systems" language that has no concept of a string as a basic data type and instead relies on a null termination character for a string's ending? WTF??
How is Windows (or any other modern OS) different in this regard? Besides, what is an alternative? Do you seriously suggest a GC-dependent string class for kernel development?
Nemanja Trifunovic wrote:
Pretty much all modern Unix variants have some form of ACL.
Yeah but that's been a very recent development, something that's only become widespread in the last couple of years. ACLs have been around forever. And *still* dealing with the bitmasks are the primary way of dealing with file permissioning. OpenVMS had them in the early 80's, and NT had them from the outset in early 90's.
Nemanja Trifunovic wrote:
How is Windows (or any other modern OS) different in this regard? Besides, what is an alternative? Do you seriously suggest a GC-dependent string class for kernel development?
No, the simple solution is a string class/data type that has it's length encoded with it. Searching for null terms, and dealing with (or failing to deal with) mal-formed strings has been one of the biggest source of errors, buffer overflows, etc for decades! Just about every major language out there has some concept of a string, and a string length in the data type, instead of doing what C does. You certainly don't need a GC for that. Windows is slightly different in that string/text data is not the primary representation for just about everything like it is in unix. Much of the data is in structs and in binary form. In the Windows kernel plain C-style strings are not used (or didn't used to be when I last looked), instead there is a string like struct that contains the string length (the same kind of thing that OpenVMS uses) as well as the string buffer. However, that said, the fact that Windows uses plain C-style strings in it's user land API's *is* stupid.
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
-
Jim Crafton wrote:
Unix. All of it.
Including Mac OS X? ;P Seriously, I like Unix. It is a very geek-friendly system. Of course, the GUI part is horrible (except Mac OS X?), but why would you even want to run a GUI desktop system on Unix?
Nemanja Trifunovic wrote:
why would you even want to run a GUI desktop system on Unix?
Or OpenVMS, or DOS...
-
Also I might be wrong but I'm sure my old Windows 2000 had this on the logon screen as well.
-
Rajesh R Subramanian wrote:
I had to debug a fairly large C program (with fairly large number of bugs) on an AIX machine (VI editor. Yes.)
You debugged a program with vi?
Rajesh R Subramanian wrote:
OK, Nemanja is not going to agree with us, but what the hell.
Well, I am not going to argue that you never want to go back there :)
VI was the "IDE". DBX for debugging. For me, the editor, debugger, the OS, and everything else (including the Unix nerd whom I worked with) all looked the same. Totally blank. :)
It is a crappy thing, but it's life -^ Carlo Pallini
-
In an effort to make our own mistakes look more reasonable, I invite you to post the big and high-profile blunders others have made. The scope is broad; anything from user interface to file formats goes. To get us started, I'll suggest this: MS-1: No way to switch input locale when logging on to windows. This is just brilliant. If you've defined a password using a different input locale from the system default (perhaps because your keyboard isn't made for the default locale) you'll find yourself in an ackward situation after a reboot. You can't see what you're typing, it isn't what's printed on the keys you press, and you've got maximum 3 attempts to get it right... Of course, the password is sure to contain special characters, making everything harder yet! Any others?
I'd have to say MS Access. It just sucks. I'm currently working on a project to convert several Access97 databases and programs into C# and SQL Server. Been going on two years now. Just when I think I'm done, I'm not. It just won't die. X|
-NP Never underestimate the creativity of the end-user.
-
In an effort to make our own mistakes look more reasonable, I invite you to post the big and high-profile blunders others have made. The scope is broad; anything from user interface to file formats goes. To get us started, I'll suggest this: MS-1: No way to switch input locale when logging on to windows. This is just brilliant. If you've defined a password using a different input locale from the system default (perhaps because your keyboard isn't made for the default locale) you'll find yourself in an ackward situation after a reboot. You can't see what you're typing, it isn't what's printed on the keys you press, and you've got maximum 3 attempts to get it right... Of course, the password is sure to contain special characters, making everything harder yet! Any others?
Keyboard Error - Press F1 to resume
The StartPage Randomizer - The Windows Cheerleader - Twitter
-
dojohansen wrote:
I am saying it's stupid not to let the user who's attempting to log on to choose the locale he or she wishes to use for the login attempt
And all I'm saying is that it's stupid to have all locales installed on all PC all over the world just in case somebody didn't configure his PC to support his password preferences.
dojohansen wrote:
I suppose it's too much to ask for Americans to understand the first thing about locale-related problems
Yeah, blame Americans, seems reasonable :) But this should go in Soap Box/Back Room.
dojohansen wrote:
If you would be kind enough to explain to me why choosing ANY locale that the machine is ABLE to support just for login would be a "blunder" I am all ears.
I specifically referred to installing locales using log-in screen, but hey why should you bother to understand what people are saying when can rant.
Mladen Jankovic wrote:
I specifically referred to installing locales using log-in screen
Yes, implying I had said so too. I did say "add locales", so perhaps it's understandable that you missed what I meant: to the list shown to the user trying to log on. Your reply was nevertheless very much against the spirit of the thread, which was to make our own mistakes seem more reasonable. I guess you just didn't see the humour in it. As for this specific design, I don't know why my XP doesn't show the "NO" locale (though from what someone else posted it seems there's a login user and the locales associated with this user will be displayed), but I know it's installed.
-
I'd have to say MS Access. It just sucks. I'm currently working on a project to convert several Access97 databases and programs into C# and SQL Server. Been going on two years now. Just when I think I'm done, I'm not. It just won't die. X|
-NP Never underestimate the creativity of the end-user.
I like the reporting in access, but the rest of it can die a horrible death!
- S 50 cups of coffee and you know it's on! Code, follow, or get out of the way.
-
I like the reporting in access, but the rest of it can die a horrible death!
- S 50 cups of coffee and you know it's on! Code, follow, or get out of the way.
It's out of the box edit grid does more than the asp.net equivalent in that access's will create a dropdown box for a foreign key lookup table via the gui vs having to manually muck around and edit the aspx itself. Discovering that blew my the time estimate for my first asp.net app out of the water; since I had assumed it would be least as capable as a 10yo POS application. :doh:
The latest nation. Procrastination.
-
It's out of the box edit grid does more than the asp.net equivalent in that access's will create a dropdown box for a foreign key lookup table via the gui vs having to manually muck around and edit the aspx itself. Discovering that blew my the time estimate for my first asp.net app out of the water; since I had assumed it would be least as capable as a 10yo POS application. :doh:
The latest nation. Procrastination.
Not sure if you can really compare Access vs. ASP.NET, but yeah, Access does a lot of the nitty gritty stuff for you, allowing a bubble gum chewing secretary to look like a computer genius to the boss! :-D
- S 50 cups of coffee and you know it's on! Code, follow, or get out of the way.