- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
CVS does that: http://www.google.com/search?num=100&hl=en&safe=off&q=cvs+%22i+hate+you%22&btnG=Search
Admin
CVS is just more honest than SourceSafe, where with every five-minute check-in or check-out process, you could swear it was cursing you under its breath.
Admin
That pales on comparison to an error message I accidentally left in my Beta product....
"Something's f***ked, please call tech support"
of course, I spelled it all out without the wimpy asterisks....
Admin
Well....
I also got a call once from Tec-Support since I left an Error Message in my Code telling the User "You should not get here...." (Only was possible due to some seriously messed up configuration)
But the Hotline was quite confused by that message ;)
Admin
So what was running through your head after realising that?
Admin
Someone explain this one
Admin
It's just a silly canned error message.
Admin
It's always great fun explaining to the boss/coworkers why your "THIS SHOULD NEVER HAPPEN" error condition popped up and stopped a production process. It's even greater fun when you are the boss.
Admin
I got away, but only since another Department was responsible for the configuration ;)
Admin
The error messages returned by my FTP server (http://www.ccil.org/~cowan/publish-ftpd) are similar, if not quite so offensive -- they are not meant to be displayed to end users, of course. Here's a selection of them.
202 I see no accounts here. 502 Who knows what this command ever meant? 221 So long, it's been good to know you. 504 That type/mode/structure is obsolete quite. 550 Read-only file servers don't implement $verb. 200 Nothing will come of nothing; speak again. 200 Very well, you are a$n $arg. 500 Mama don't allow no "$_" around here. 530 Don't know yah! Don't know yah! Don't know yah!
Admin
The nice thing is that, when the authentication is accepted, CVS responds with
"I LOVE YOU"
Makes me feel all warm and happy inside.
Admin
This is a great example of it, the connection was refused for some reason. There's actually no way to know that from the program (unless you want to parse error messages) as the program just sees an "IOException" which really means nothing.
It could be the connection was refused, it could be that the network adapter is down, it could be no route to host, it could be that the connection timed out, there's absolutely no way to know. In some frameworks it could even be a misspelled domain name - this should be an "UnknownHostException" but most programmers don't realize that, since URL.openConnection() only says it throws IOException, so they just catch IOException.
In any case, Java error reporting almost always winds up being "dump the message to the user" so some exception somewhere gave an error message "I HATE YOU" and it bubbled up in meaningless Exception objects until finally it just got dumped to the user since there was really no better way to handle it.
Java abhors useful error messages.
Admin
Admin
That has to be a winner... it certainly beats the message a co-worker of mine once left in a system: "Please enter something sensible". The customer was not amused when he got the message after entering what he thought was quite sensible.
Admin
Haha, This reminds me of those late night 'been up coding for 30 hours to get the project done' nights. For some reason the first place my insanity crops up is error messages.
I remember the day when my code spit out an error message: "This needs more cowbell." (I believe it was a "I can't imagine a situation where this error would ever be thrown but I'll handle it just in case" error.)
Admin
I got ahead of the team on a web project. We had a solid design patern in place, though, so I made a mock-up that I figured would be close to what the designers were going to create.
The page was to be a bit of a hub and link to related articles. But that data didn't exist yet. Thus, I coded:
<a href="xxx">xxx</a>
This wasn't a big deal, but then IE 4 came out mid-dev cycle and it got clever and slapped on the www. and .com and presto! A working url! Woot!
Admin
Admin
Nice. Blame the language for a programmer's laziness. Isn't UnknownHostException a subclass of IOException? Couldn't the programmer could have caught UnknownHostException and said something nice "You are dump and spelled the hostname wrong." ?
Admin
Admin
Take this example. The user has saved attempted to save a file. You get an I/O exception. What caused it? Was it:
Incorrect file system permissions?[1] File system is out of space? File locked by another process? Hardware failure? (Disk removed, for example.) Network failure? (For network mapped drives.)
Another fun example is network I/O. Was the I/O exception caused by:
No route to host? Connection timed out? Connection refused? Connection reset by peer?
All of those are represented by IOException with no way to differentiate between them. (Especially because the error results will be different on different platforms.)
There's a reason almost all error messages by Java programs boil down to "something bad happened" with an option to view the stack trace. You have to pray that the underlying exception gave a useful error message, because there's no way it can be synthesized otherwise.
[1] Before anyone suggests it, the results from File.can{Read,Write,Execute}() are completely bogus. canWrite() on the current user's "My Documents" under Windows always returns false, for example.
Admin
Yeah. I tend to be quite creative in various "shouldntHappen()" exceptions - usually ones accessible only by hacking attempts (say, the guy prepares a special POST content to trigger an SQL injection and gets "Error: Nice try but no banana", "Sorry, but this variable is protected against hacking", "You don't want this value to be negative. Really." and such.
Admin
Bah. CVS doesn't have to tell me. It finds new ways to show me how much it hates me every day.
Admin
I know this is a bit rude and I'm sorry, but did anyone else really prefer the Pop-up Potpourri layout to Error'd?
Sometimes I ended up giggling my head off at Potpourri, and that's why I kept coming back. That never happens with Error'd, because you just get a smidgeon of programmer miscalculation and it's often not really very funny on its own. (There were always some duds, but they still somehow worked when they were surrounded by stupidity.)
Can we... have it put back the way it was, please?
Admin
The IOException is actually a subclass of IOException. If you care, then catch the specific exception. Otherwise, STFU and GBTW.
I haven't messed with File based stuff, but a lot of the permissions errors are FileNotfound errors.
Admin
/me wholeheartedly agrees with the whole above post BTW...the link to the pop-up potpourri list is http://worsethanfailure.com/series/Pop-up_Potpourri.aspx
Admin
Nearly as good as this:
http://www.toothpastefordinner.com/041007/you-a-dick.gif
Admin
Reminds me of when I forgot to change a "the test worked" message before checkin... my coworker was awful surprised the next day when she clicked a button and got a popup message saying simply:
fuck you
Man, was my face red when she asked me about it.
Much safer to use something like 'foo.' (Or even a useful message, imagine that!)
Admin
You are dumb and spelled 'dumb' wrong.
Admin
I wrote a "how to use CVS" guide for the company.... I used the example for tags of SOMETHING_SENSIBLE_1_NAME_checkin
Guess how many tags in the suppository are "SOMETHING_SENSIBLE_..."?
Admin
That just reminds me of this one accident in my previous company, where we had a "data server", which was a perlish abstraction for SQL. WTF for itself. But someday, our Sysadmin was out at a customer to fix a problem with said data server. Luckily, you could access it with telnet. Only problem: Customer is watching our sysadmin test that thing, when he mistyped something and the response was
Customer was certainly not amused.
Admin
Heh. I just got through watching Deja Vu. One of those "now that's 2 hours I'll never get back" type of movies. One of the only redeeming parts was when they needed to up the juice on their machinery and one guy said "we need more cowbell". I giggled, i quickly decided it wasn't worth explaining to my wife, she was born in Taiwan and i usually get dirty looks when i try to explain bad SNL to her.
Admin
What the Fuck?
You can type "f u c k" into a production program that other people might see. But you can't annonymously type in on a forum that used to be titled "thedailywtf?"
Just last night I tired to click a link on one of the lousy php forums. The link didn't work. Took me a while to realize that silverfishlongboard turned into silverfithingyboard.
Admin
The real wtf is that www.thedailywtf.com no longer directs here. Way to go alex.
Admin
At least that error means something. Better than the time my friend forgot to take out a debug statement that made a pop-up saying "FURBY!FURBY!FURBY!FURBY!FURBY!"
Admin
Speak for yourself. I just got to the site by going to "www.thedailywtf.com"
Admin
Yeah, I did one of those too, except it was up on stage being demo'd as part of an Apple OpenDoc presentation at a WWDC.
My boss shrunk, but apparently it was quite the hit =-)
Admin
Why would you blame Java, when you should really be blaming the lazy ass programmers who are too lazy to implement proper error messages?
Admin
Admin
I don't know Java well enough to know if it differentiates between different errors with sufficient precision, but in general...
If you are using exceptions, and have to parse a message that was passed up in the exception to find out what went wrong, the code throwing the exception is already screwed up.
Actually I will take that further... if you're parsing error messages at all to find out what happened, you should be looking for a better way. (Sometimes there isn't one, for instance on a system boundary. But look for one.)
Actually, it now occurs to me that you might have meant that to mean that getMessage can be displayed as an error message to the user. If that's what you meant, then never mind. (Although, this post today is a great example of why even this is often a bad idea, even if it is the least bad.)
Admin
From what I'm reading, he's saying that it's Java libraries themselves that are lacking in the good-error department.
Admin
I once found an error message in a program I was helping to work the failure out of: "You suck."
Admin
Oh, I beg to differ. "authentication fails" is failure, "I HATE YOU" is worse than failure.
Admin
Considering the nice and usefull Segmentation Fault core dumped messages I used to get back when C was still a man's language, I think Java is very verbose. ;)
Seriously, it can be very frustrating with deeply nested exceptions. Quite often you could be miles from the cause. However, it does at least give an indication.
I can imagine that in some cases it is even dificult to give a reasonable error message. Windows and unix have very diffrent file systems which aren't 100% compatible. If you want to be system independent this might give a bit of a headache with trying to figure out what is wrong. I do think it's possible, but I can imagine someone not wanting to bother.
Actually when Java first came out someone just learning to program asked me for help with their code. After having 'learned' that Java has no pointers I sort of started fuming when I got a NullPointerException. I still think its stupid. Java doesn't have pointers. It could just have said variable is not initialised, or something. Yes, under the hood it might be a null pointer, but for the programmer that is completely irrelevant. Didn't look at Java again for years. Oh, ok, I was also upset about the hard typing, which is fine for others but not for me. And the c style syntax which made me think I knew what I was doing, when in fact, I didn't (which never stops me from...well anything really).
Admin
Oh come on, Java's exception handling isn't that bad. In your IOException case there's a whole bunch of subclasses that will tell you what happened. For example:
You're talking through your hat if you think Java has no way of telling the programmer the exact cause of the error.
Admin
Surprized no one mentioned the old classic in RSX11M...
Type in "Fuck you" and the console and it replied
Fuck you too!
Then logged you off
Admin
A friend of mine once used "Unknown error. Hit any user to continue." as a 'you can't get here' message. Months later he was called by a user who said: "I tried it, but it didn't work!"
Admin
Admin
I've allways loved to use "Incompetent user".
Just haven't had the guts to leave it in to go live (yet?)
Admin
I used to work for a firm that writes warehouse automation software. They had a classic complicator, who inevitably went off to work for a bank where crap code is king, but not before he'd embarassed us in front of a client. How did he manage this? By implementing some new screens based on a library of nice "widgets", that followed our in house interface guidelines and included a menu item for online help. While showing these new screens to a client, one of our managers selected the online help to be informed that:
"Some systems include online help. This one doesn't."
The brown stuff made contact with the rotating thing, and the complicator got a complete bollocking.
Admin
Not initialized isn't the proper warning; you can explicitly set a reference to null.
Should be called a NullReferenceException. It's not a major WTF, but it is an example of one of the little inconsistencies around Java.