- 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
Where is the rest of the story?
Admin
//You call that a factory? Problem p = new Problem(); WTF wtf = WTF::WTFFactory(p);//Now this is a factory.
Admin
Yeah, that's what I was wondering. TRWTF is leaving us hanging like that!
Admin
Admin
so you would recommend having a Page_Load method which is 8 feet long when printed in 6pt text? Glad I don't work with you...!
The story ends up with Darren getting fired for wasting paper.
captcha erat quod erat demonstrandum
Admin
What exactly is wrong with your HTML rendering?
Admin
Well, for starters, it's not using CSS to style the emphasis. Using HTML for style rather than structure, very naughty.
I like the idea of measuring code in feet.
Admin
I have to get away from working with HTML - I read that and saw nothing wrong with it. In fact, I even imagined the italics!
Admin
Actually it's using html exactly the way it's intended to. It marks it as emphasis (not as italics would have been evil) how that is represented to the user is up to the style. In fact NOT using here wouldn't be w3c compliant...
Admin
I thought about using the <wtf> tag, browsers can work around unclosed tags, right?
Admin
Admin
Might have been a bad career move, but OH so satisfying! Definitely extra points for style. And, getting fired from a place like that, could be a Good Thing....
Admin
The WTF is the complete lack of tact Daren S had. He could have suggested it just needed a few improvements, or something more tactful considering the directory didn't like to be proved wrong (by Daren criticizing the code he paid a lot for). He could even have suggest it just needed "modernizing" (the directory would not have known any better anyway).
It's amusing how many people didn't see this, I guess a lot of geeks just have no tact at all? (and yeah, this statement has no tact neither)
Admin
I will definitely have to remember that way of getting the point across. Not as a first try, mind you, but after having tried normal channels. The visual aid like that are quite helpful.
Admin
Admin
That last line was awesome.
Admin
I'm neutral on this one. Hedging at a large financial institution is mission-critical. If the software behind it works, don't mess with it. If you want to improve it, canvass the stakeholders and design a better implementation with their input and approval, and with appropriate resources allocated to make sure the process is completely smoothly.
The Mac may have been doing something with that data other than running a single Applescript (faxing it to a regulator, for example). The inefficient processes he spotted elsewhere in the process may have been relied upon by other software or human procedures he knew nothing about. Never mess with something like that unless you have spoken with everybody involved.
Admin
Tact is a mechanism to make other people cope with YOU.
Admin
Then again I would hate to have to justify why I was spending so long "modernising" the code when it obviously worked in the first place.
I think this is just an impressive and satisfying way of handing your notice in, a way I would like to have the nerve to do myself.
Admin
This is, so far (it was at the time, and still is today) the only time AppleScript was ever involved in a Daily WTF. Reminds me of this, in fact (except Joel's story was fiction, I hope).
Admin
An entire lifetime's worth of customer relations skills distilled to one sentence.
I nominate DOA for DailyWTF Poet Laureate.
Admin
(At 6pt, there's 12 lines per inch and 1008 lines in 7 feet. At 8 feet, you've got 1152 lines.)
Admin
True. If that dude were less confrontationalist about this, he would be allowed to stay or even refactor the code. Suggesting to "modernizing" the code is a brilliant idea. Although it has to be said with a straight face. The conversation should be something like following:
"Hi, I came over this code. It appears to be rather old, and is quickly becoming a huge maintenance problem. Just consider those bugs... May I please spend a few days to modernize it?"
Admin
What, did you only read the last few lines of the story? Did you not read the sections where "Daren" made slight changes that would have been rather large time savers (or at least hassle removers)that were dismissed because there were "work arounds"?
Admin
TRWTF is that they were using AppleScript. shudder
Admin
One of the things I don't think people are getting is that this is in the financial industry. I work IT for a financial company and I'll tell you, you just don't make changes because you think you can do it. If something does go subtly wrong, it can have huge financial consequences that will cause heads to roll.
The director in this story is sticking to his workarounds because they've been proven to have the output results the company expects, and perhaps the time and energy it would take to test Darin's modifications to certify that the results are the same is more effort than it's worth. All Darin sees is some ass who won't let him fix a "simple problem", and the Director sees some clown who wants to start screwing with a certified process to unknown effect.
Admin
I feel for Daren. One of my tasks at a previous employer was to add an option to a context menu. My manager had written the code that generated the existing context menu, and the additional option would require a new source file, a pair of new classes, a new handler function, and several additional "else-if" clauses in the already unwieldy menu handler. (Not to mention that MFC's context menu classes are less than friendly.)
Anyway, that set of changes was going to take probably three hours, not including sifting through the two thousand lines of code to figure out what I actually had to change.
Fortunately, a co-worker had recently written a very simple and clean menu handler class that eliminates almost all of the legwork of creating and handling a context menu.
So I had to choose between spending 3+ hours grafting another option onto the existing heap of code, or I could spend... a lot less than that rewriting the whole thing with the new menu handling class.
I chose the second path; the new code was about 200 lines of code (instead of 2000) including the new menu option; it's far more maintainable (new options need just one addition in one place, rather than a dozen additions across multiple source files), and two source files were no longer necessary. It took me probably two hours.
A few days later, a co-worker was wondering about the two now unnecessary source files. (Visual SourceSafe doesn't remove 'deleted' source files when you update your working copy. Yes, VSS is TRWTF; that's a story for another day.) I explained that they were no longer necessary and he should delete them. My manager overheard, and after looking over my code he called me into his office, furious.
"These changes were beyond the scope of your assignment."
Technically, he's right - I was only assigned to add in a new menu option. But surely improving the code that's directly related to my assignment is a good thing, especially if it saves time?
Nope. He told me I was not to touch any code except what's directly assigned to me, from then on. I replied with this:
"If you're not going to let us improve code that's related to what we're doing, then your codebase is going to suck, and I don't want to work on it anymore."
He fired me on the spot. I have no regrets. (His boss re-hired me the same day as the company IT guy, with a raise. I didn't even change desks.)
Admin
Admin
A feel-good ending. I don't believe you.
Admin
Being an ex-geek who now manages geeks (no, not quite director-pointy-hair level) I must say you are correct, geeks have no tact. The higher the intelligence, the higher the quirkiness (read-lack of tact), as well as the longer with the company, the shorter the tact.
I love my geeks and their absolute lack of tact.
TRWTF is there is no WTF in this story.
Admin
I'd agree with barc0001, except for one thing. There were goddamn manual steps in the process (it's more like a process than software) that the changes proposed to eliminate. Surely the risk of errors is greater with any manual intervention than with an automated replacement.
Admin
Did something very similar once. When the project manager asked why I estimated 2 weeks to make changes to a registration process, I told him I will get back to him in a few minutes. Hobbled together all the code for the 'simple' 5 input form and the update/insert statements. Put it in a word doc at size 6 font, and printed the whole thing out. Went to his desk, and in a dramatic (or drama) fashion, held up the stack of papers saying "THIS is your legacy code for the registration process." Then dropped all 50 something pages on his desk, intentionally making sure it would fall as flat as possible for maximum sound affect. Fortunately, the man was not a total idiot, and I didn't get fired. In fact, a few months later, we got to rebuild the thing.
Admin
LOL, YES THAT IS AWESOME!
Admin
Screw the hedge funds... was that a Sonic the Hedgehog reference in the factory metaphor?
Admin
Oh well would you look at that. Yet another article straight from things-that-never-happened.txt
Admin
You can already listen to this post at http://hearablog.com/site/24/The-Daily-WTF#186
Admin
Just to be pedantic, yet slightly relevant, modern factories tend to be freakishly clean. There are some wonderful pictures of car factories in the 70s that have every surface covered in grime with dead bits of cars scattered everywhere. Then you often find a newer picture from the same perspective of the modern car factory. At first they are completely different but then you realize that the nice perfectly clean place has the same beams and whatnot. The same with computer development. I have been in places that were also covered in grime and the code was like an American car from the 70s. A big gas guzzling, creaky, pile of scrap. Usually the employees here were fat slobs with food on their "quirky" t-shirts. These people joke about having Dress up Fridays.
But I have also been to computer development places where there is light and adequate organization. The developers are happy and their code clean. The code produced is like a German sports car. The people here all are generally fit and dress like Steve Jobs. These people don't have a special Friday dress code as they all think that it would just be stupid.
But to also carry this too far I have been in clean places like a Soviet model factory. They pretended they were like the good code factory but the management sucked and the employees hid in scared bunches wondering what terror was coming next. "We'll pretend to work if you pretend to pay us." The code produced here was even worse than the 70's car factory style places. Here they dress in Khakis and blue semi-oxford shirts. They have casual Fridays here.
Admin
Quite the contrary; I think it was probably the wisest career choice Daren could have made.
To finish out the story, let's see here...
Daren's face grew ashen as he saw The Director's eyes narrow as he stared at over seven feet of code. "What... is... this?!" The Director roared, rising to his feet. His shadow seemed to loom across the small office and engulf Daren. "This is the code!" Daren stammered, his nerves turning to jelly. "DO YOU KNOW HOW MUCH PAPER YOU JUST WASTED?!" The Director clenched his fists so hard his knuckles were turning white. "You've been changing things since you got here, with your improvements and modifications. I'VE HAD ENOUGH. GET OUT OF MY OFFICE. GET OUT OF THIS COMPANY. DAREN S, YOU'RE FIRED!" The Director screamed in a voice reminiscent of the WWE's Vince McMahon.
Before Daren could utter a word of protest, he was dragged away by security and never seen by any employee of Initrode Global ever again. The poor guy didn't even have a chance to finish his lunch. Legend has it that Daren's half-eaten turkey sub haunts the halls of the office after hours, looking for Daren to finish eating it. As for The Director, he remains in power to this day, ruling with an iron fist and making sure everything in Initrode stay just the way they always have been: smooth, like a factory.
Admin
I see you've never actually worked in a coding shop of any kind. None of my coworkers displayed any tact ever and yet produced total shite as code.
Admin
That is exactly what he was saying... :-P
Admin
That is exactly what he was saying... :-P
Admin
Double those figures. There were 2 "screens" per page.
At "over 7 feet", there's over 2016 lines of code...
captcha: laoreet
Admin
Admin
That's quite a lot of code. In fact, in all the code I deal with, exactly one function is longer than that (it's really just a nasty big switch that implements a bytecode engine and which is quite resistant to being shortened without crippling performance). Writing that much in a high level language? (OK, it's VB so "high level".) That is run frequently? Nasty indeed. No wonder our protagonist wanted to refactor a bit.
At least it wasn't GWBASIC.
Admin
"One of the things I don't think people are getting is that this is in the financial industry. I work IT for a financial company and I'll tell you, you just don't make changes because you think you can do it. If something does go subtly wrong, it can have huge financial consequences that will cause heads to roll."
You do understand concepts such as risk management and change control? No-one is advocating ad-hoc tinkering with a live system. A well designed system does not have unpredictable subtleties. Computers are not unpredictable in the right hands.
"The director in this story is sticking to his workarounds because they've been proven to have the output results the company expects... to start screwing with a certified process to unknown effect."
The point that you are not getting is that the process was provably NOT working. And the director is a fool for thinking that it is. The story demonstrates quite clearly that he does not understand the nature of his own business.
"The output results the company expects" means diddly squat against the cold hard light of reality (have you seen the economy lately?).
Under such circumstances, there would be no way of ever proving the results were valid and reliable, no matter how much testing is done (especially as huge chunks of processing are not automated). Any certification process that passed the system would have to be fraudulent or flawed.
The big mistake for companies in this situation is to assume that the results they are getting to date have been correct. The impetus against improvement is often down to avoidance of the painful revelation that they have been incompetent up to now.
It shocks me that you are implying that you would let such serious matters slide under the carpet without mention and that any changes you would make if you tried would necessarily be "screwing" with "unknown results" (others might be more scientific and rational in their approach with more predictable results).
In the same position, I would consider it professional duty to make a song and dance about the state of the system.
Admin
TRWTF is the "ShareThis" button and it covering the comments link with its iframe if you inadvertently mouse over it.
Admin
As to the article: unless a little more is known about at least the motives of the boss, I'm not even sure this is a WTF, it could be that Daren is indeed just not aware of the bigger picture.
As to the tact thing: Often both good and bad programmers/"IT professionals" have little tact. In some cases I have yet to learn myself how to communicate to certain types of managers though.
Admin
Admin
and an indication of the outcome on Page 4 (I dont recommend reading it directly, it degnerated into a SI units vs Imperial flamefest)
captcha: facilisis, a facile goddess?
Admin
So, an IT guy acts like an arrogant dickhead and is then indignant when he's not taken seriously? Sounds like SOP for TDWTF.
This forum is full of people who whine incessantly about "idiots" who won't let them fix problems - and whose only response to that is to whine more loudly, 'fight the system', and bitch to each other about how stupid everyone else is for not listening to them.
Two options, guys - either man up and find a strategy for fixing the problems more realistic than tilting at windmills by yelling about how you're RIGHT RIGHT RIGHT, or leave the damn business you're in and do something else. You're smart. Start your own company; move to a small company that understands quirky people; change your career entirely.
There seems to be a huge quotient of people here who scorn their industries, their bosses, their coworkers, their customers, the work they do, and believe that they aren't making good money and have no security. So what the hell are you doing with your lives, people? Does being able to self-righteously post on TDWTF really make up for hating everything and everyone around you?