- 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
You forgot the other big WTF: Netscape 6. Releasing a browser that could barely work was a real WTF and probably cost them whatever was left of their Netscape fans...
Admin
They should have put Paula in charge of that. :)
Admin
> a Netscape engineer who shan't be named once passed a pointer to JavaScript, stored it as a string
> and later passed it back to C, killing 30
31, my brain dropped core and I can't get it to reboot.
Admin
Clever post. I like the ones that don't deal exclusively with code.
Admin
*LOL*
PHB: Paula, are you done removing the popup blocker?
Paula: 95% completed, sir.
PHB: Brillant!
Admin
>Netscape engineer who shan't be named once passed a pointer to JavaScript, stored it as a string and later passed it back to C, killing 30
Please tell me you're joking about the "pointer -> string -> garbage" part, I believe the part about 30 dead victims caused by this effect though...
Admin
Quite a solid tale given the total absence of code. I especially like the blaming-AOL part, because, come on who doesn't hate AOL?
Admin
Oh, that's just beautiful. Truly an excellent WTF, and the fact that it can be blamed on marketing makes it all the better.
Admin
We really want to know more about this 30 part.
Did it kill 30 processes (WTF) ? or threads ? or connections ?
I have a hunch this has got something to do with the string processing functionality in spidermonkey.
After reading this submission, I think we must trademark the term "WTF suprressor".
Admin
Admin
I think it was just a funny figure of speach, rather than a fact... It is a great wtf indeed, but luckily netscape doesn't control a heart rate monitor or anything... A friend of mine is a testing engineer at a company that produces software for hospital equipment, she's dealing the sort of software that really really really has to work, come hell or high water. I'm talking robust with capital R... So far no casualties... :)
Admin
Pleeeeease tell me that's sarcasm. It's a news-story-like phrase, like "hurricane damages AOL headquarters, killing 30."
Anyhow, thanks for this WTF. I didn't realize how much AOL's influence affected Netscape's development and functionality after the acquisition...I'd wondered if AOL would do something like that but didn't follow the details too closely, and sure enough.
I think the main WTF here is AOL's idiocy and its let's-listen-to-marketing-above-all policy more than Netscape itself. It's a shame AOL is essentially no more, though, we're missing out on the possibility of many more AOL-related WTFs in the future..
Admin
Ack, I remember Netscape 7, and remembering that the only feature N7 vs. Mozilla 1.0 had was that Netscape 7 had an AOL Instant Messenger client built into it, while Mozilla didn't (it had Chatzilla). I also remember the WTF of Netscape 6 - I was a beta tester for it :-/
Admin
A strictly-conforming C program may convert an object pointer (though not a function pointer) to a string by casting it to void* and formatting it using sprintf with the %p format specifier (provided the receiving buffer is large enough for the output). Such a string may be stored in any suitable medium and later converted back to an object pointer of the original type (via sscanf) and used, provided it's used during the lifetime of the object that it points to, without invoking undefined behavior.
It's spelled out in black and white in ISO 9899-1999:TC2. The real WTF is that some people still haven't memorized every single word of the C specification. Geez.
(Prolepsis: Of course I agree pointer->string->pointer is not a Good Idea.)
Admin
Awesome post - best writing I've seen on The Daily WTF. Kudos etc.
By the way, did anyone chuckle at this home-brewed WTF?
Admin
Well,
Most of the features users want are not promised to them at all by the people that know better (i.e. the manager with a masters degree and no coding experience vs. the programmer with 10+ years of code slogging and a college dropout with a "C" average). The ones they hate are usually "undocumented features".
Cheers!
Admin
And so the young student found himself saying 'wtf?', and then he installed Opera for the first time, and the web was... good.
Great post, reminded me of that faithful weekend where I finally ran IE by choice for 20 minutes while I looked for alternatives.
Admin
FYI, the Joel On Software article mentioned can be found here
Admin
This is beyond a WTF--this is an OMG. I can't stop giggling.
Admin
This was one of te best WFT posts ever. Perfectly contextualized and unnoticeably codeless. Thanks for this great piece of software marketing history.
Admin
Someone who worked at Netscape in the early days said they hired 100 engineers before they ever hired a QA person. Explains a lot. Captcha is:clueless
Admin
Who doesn't...? How about Ted Turner, he did agree to AOL's takeover of Time-Warner.
No wait... maybe he does hate them. Within months his reported net worth went from $10B to $2B.
captcha: quality
Admin
Admin
What is so ugly about that code?
Admin
Speaking of marketing department-induced WTFs, are any other loyal Opera users really turned off by the Opera 9 propaganda (currently visible in the Sponsored By widget on this site)? Those "example" users are so stereotyped, none of them are actually like you at all, no matter who you are. If you follow the link and read the copy, it comes off like the campaign was designed by a high school student.
(Edit: Okay, so I clicked this ad, and I was lead to a user-friendly feature list instead of the crappy marketing stories. Maybe they ditched everything but the silly photos of supposed Opera users.)
Admin
They should get Herbert Kornfeld to be their spokesperson.
Admin
Ther is an opera ad? Where? All I see is the two BG girls. Why oh why can't we get BG Girls, beanbag girl and foosball girl all in one ad? I'd never log out!
As for todays WTF, isn't this how all companies release a product these days? Gone are the days where people actually took pride in the software they released to the public. Oh wait, those days never really happened did they. All good software releases were accidents corrected in the next version.
captcha=stfu (I think I will)
Admin
Oh Blake, this WTF was awesome, but I wish you'd used the opportunity to share some dirt about how the hell Mork happened. (Unless it's just "The guy didn't have a clue what he was doing," but, well, it's *got* to be funnier than that! Look at it!)
http://jwz.livejournal.com/312657.html
Admin
They seem a like a little weird choice for spokespeople, but I don't let things like that bother me. It's just advertising. Everything in advertising is fake.
Admin
aww, I haven't thought of paula in weeks!
Admin
Another WTF is the fact that AOL's core product was integrated with IE all the while.
Admin
The story with Netscape 6 is not so straight. Remember, by that time Netscape and all the Mozilla volunteers had worked for years, Netscape marketshare was going down, and there was basically nothing to show. So Netscape 6 was released in a hurry to put something at least barely usable out. It was known to be pretty horrible, but the marketing was well done and the press loved it. Until they tried to use it for a couple of days...
So yeah, it turned out to be even crappier than expected, and the backslash was pretty bad marketing.
But what most people fail to realize was that it was great for engineering. The web was full of articles how Netscape 6 failed in this or that. It was tracked pretty carefully by Netscape and the community QA, and bugs were filed. Netscape 6 included also the crash reporting tool (Talkback), and it sent tons of crash data back to Netscape. In about 6 months Netscape 6.1 was released, and it was an amazing leap from 6, mostly because of the enormous feedback from Netscape 6. And it just got better and better from there (barring marketing mishaps like 7 without popup blocking).
The first 20 million copies of Netscape 7.1 (I think, been a while), was downloaded in a lot shorter period than Firefox 1.0's 20 million, and there was no marketing push for 7.1 at all. So although 6 was a marketing disaster, by 7.1 there were a lot of people happy with the product and downloading it without any marketing effort.
Admin
I knew someone was going to bring up Joel's "never throw away the code" article.
Joel is dead wrong and so are you. In fact I recommend reading The Big Ball of Mud, as it's far more insightful and sheds light on the unfortunate and seemingly inevitable cycle of code becoming so bloated and tangled that it has to be thrown away, because it reaches a point where over 99% of developers' time is spent on maintenance or just plain scratching their heads. (I firmly believe it is possible to *not* end up having throw away a codebase, even after decades, but it requires much more diligence and skill than most programmers are willing to exercise, and it requires a manager with a clue where software development is concerned.)
I'm especially surprised that anyone still stands behind Joel's article, considering the success of Mozilla and the fact that it's brought an excellent browser to so many platforms. Looking back, throwing away the Netscape 4.x code seems like the best thing that's ever happened to the browser world.
Admin
Well, I doubt Mozilla proves anything either way. First, the Mozilla development was a death-march of feature creep and over-engineering. Who knows if it might have been a lot faster if they just fixed the old base? And Firefox is the real success story, not Mozilla, and its developers didn't throw away the Mozilla codebase, as ugly as it is (I love running into bugs in the Mozilla API, checking the code, and finding an unimplemented stub function).
Admin
You must be using a different meaning of 'working' to the one I am used to. Its CSS support in particular was unbelievably bug-ridden, and I understand the code was such a tangled mess that there was really no chance of CSS ever being made to work.
Admin
I actually liked Netscape 4, 6 and 7. Reason? I made a good living writing all of my CSS, HTML and Javascript code two and sometimes 3 times to get it to work right in IE, NS4.x and NS6+. Its unreal how many companies standardized on NS 4 and then 6. It made programming the web hell, and also very profitable at the same time. 3x the work == 3x the fees. :-)
Take care,
Brian
Admin
I don't think you quite got the point of Joel's article. It wasn't that code never has to be rehashed, sometimes extensively. As you and Joel both know, it does. The point is that throwing everything out and starting from scratch is the wrong way to go about that, especially if you want to be commercially successful. The correct and commercially successful way to rehash your code is to do it a bit at a time, moving this here, moving that there, untangling this knot, sweeping all the lint away from that other ball of mud over there, and at each step your code still does exactly what it did before, and you can still ship it if you have to. But after a certain period of time, you have a code base that bears almost no resemblance to the old one, but contains exactly the same well-tested functionality, and if you are even a little bit careful, no new bugs. For Joel this process took two weeks. For Netscape 4.x I can imagine it might have taken a bit longer, but not 3 years!
Admin
Throwing away the release 4 code was a WTF for sure since it was what killed the Netscape browser. Maybe refactoring the code wouldn't have worked, but we now know that the total rewrite was a WTF!
Admin
It may well be permitted by the standard, but it's potentially confusing to the programmers. (There's all sorts of standards-compliant but insane things that can be done with C, anyway - see the IOCCC for some examples.)
Admin
Admin
Yes, both of these are theories. Which one is more appropraite depends on the situation. I have encountered situations where cleaning up an existing code base was the right way to go and also times when trashing the current and starting over was right.
Regretfully I can't say I have always made the right decision the first time. With this in mind, you never delete your old code until your new fully written version is completed. You never know when you may need to fix a mission critical issue in the old code while it is still in production.
Admin
... my roomate likes aol!
... (maybe "report abuse" would've been the better button to click)....
Admin
Let me guess: You were designing the official web site of Leisure Suit Larry 4?
Admin
I don't feel myself clever enough to give general advice to everyone lkie "don't throw away your code" or "goto is evil" but I know one thing from my own experience. On numerous occasions I accidentally or deliberately threw away some pieces of code I had written and opted to rewrite it. The result, compared to the original one was always much better. I really don't know why, I suppose it was because I vaguely remembered the major pitfalls but forgot how I evaded them, but that's only a theory.
Admin
To throw out a horribly messed up project or to stick with it and try to mend it is perhaps the most complicated and delicate decision a manager has to make in this industry. That's why ithe wrong way is chosen so many times. Because if management has a clue, the project doesn't get messed up to the extent to force this decision.
Admin
32. My brain reformatted itself upon seeing this. It just couldn't handle it.
Admin
But that wasn't possible because she was bussy with the ActiveX sand-boxing code for IE.
Admin
This article should be taught at every university!
Just the other day I tried to explain to a coworker Conway's Law (without actually knowing that it was Conway's) in an argument about whether to tear down a layer in our product. It originally represented an organizational border but as the front lines have shifted since, now it's only an abandoned trench strewn with loose bits of barbed wire and land mines.
Admin
A fascinating and hilarious post! Thanks very much for posting this - it's really made my day.
Admin
Do you mean the Big Ball of Mud article? It was taught at my university. I had to read that entire page and write a short paper about it. This was in my Software Engineering 1 class. *shrug*
As for putting a C class pointer into JAVASCRIPT..... Putting it into a string may be supported but a JAVASCRIPT string? I think I'm now dumber having heard that...