• AndrewB (unregistered)

    Where is the rest of the story?

  • Frits (unregistered)

    //You call that a factory? Problem p = new Problem(); WTF wtf = WTF::WTFFactory(p);//Now this is a factory.

  • (cs) in reply to AndrewB
    AndrewB:
    Where is the rest of the story?

    Yeah, that's what I was wondering. TRWTF is leaving us hanging like that!

  • JohnB (unregistered) in reply to AndrewB
    AndrewB:
    Where is the rest of the story?
    You're a bit late to ask that because it's no longer "Paul Harvey" but "the late Paul Harvey" Wikipedia is your friend.
  • fw (unregistered) in reply to AndrewB

    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

  • lockser (unregistered)

    What exactly is wrong with your HTML rendering?

  • anonymous coward (unregistered) in reply to lockser
    lockser:
    What exactly is wrong with your HTML rendering?

    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.

  • JoLoCo (unregistered) in reply to lockser
    lockser:
    What exactly is wrong with your HTML rendering?

    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!

  • Frz (unregistered) in reply to anonymous coward
    anonymous coward:
    Well, for starters, it's not using CSS to style the emphasis. Using HTML for style rather than structure, very naughty.

    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...

  • Anonymous Cow-Herd (unregistered)

    I thought about using the <wtf> tag, browsers can work around unclosed tags, right?

  • (cs) in reply to anonymous coward
    anonymous coward:
    I like the idea of measuring code in feet.
    I can see the ads now... "Developer wanted for 12 feet of Java and 2 1/2 feet of PHP"
  • (cs)

    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....

  • belcat (unregistered)

    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)

  • Dysan (unregistered)

    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.

  • (cs) in reply to belcat
    belcat:
    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.
    I'm certain that looking back he doesn't regret it at all. Especially if it got him fired.
    belcat:
    I guess a lot of geeks just have no tact at all?
    Tact is a mechanism to cope with idiots. For better or for worse most of us have a very low tolerance for bullshit. Bad for human relationships, but at least it tends to produce better code...
  • Jef Claes (unregistered)

    That last line was awesome.

  • Central Harlem Anonymous (unregistered)

    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.

  • katastrofa (unregistered) in reply to DOA
    DOA:
    Tact is a mechanism to cope with idiots.

    Tact is a mechanism to make other people cope with YOU.

  • (cs) in reply to belcat
    belcat:
    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)

    I like the idea of a rewrite of seven foot of code being classed as "modernizing" :)

    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.

  • (cs)

    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).

  • Rocky Mountain Coder (unregistered) in reply to DOA
    Tact is a mechanism to cope with idiots.

    An entire lifetime's worth of customer relations skills distilled to one sentence.

    I nominate DOA for DailyWTF Poet Laureate.

  • (cs) in reply to fw
    fw:
    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...!
    Hmm. A thousand lines is perhaps a little long for such a method...

    (At 6pt, there's 12 lines per inch and 1008 lines in 7 feet. At 8 feet, you've got 1152 lines.)

  • Alex (unregistered) in reply to belcat
    belcat:
    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)

    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?"

  • RBoy (unregistered) in reply to belcat
    belcat:
    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).

    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"?

  • Scott M (unregistered)

    TRWTF is that they were using AppleScript. shudder

  • barc0001 (unregistered) in reply to RBoy

    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.

  • (cs) in reply to spenk

    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.)

  • Carl (unregistered) in reply to katastrofa
    katastrofa:
    DOA:
    Tact is a mechanism to cope with idiots.

    Tact is a mechanism to make other people cope with YOU.

    Tact is a mechanism to make other people, who are idiots, cope with truth. If they were not idiots, their non-idiot brains would have already arrived at the one and only Correct Solution (TM) hence there would be no need to interact with them, tactfully or otherwise.

  • Rookierookie (unregistered) in reply to Heron

    A feel-good ending. I don't believe you.

  • Geek Prime (unregistered) in reply to belcat

    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.

  • (cs) in reply to barc0001

    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.

  • somedude (unregistered) in reply to ZPedro

    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.

  • BSDGuy (unregistered)

    LOL, YES THAT IS AWESOME!

  • Jorge (unregistered)

    Screw the hedge funds... was that a Sonic the Hedgehog reference in the factory metaphor?

  • Kuuharava (unregistered)

    Oh well would you look at that. Yet another article straight from things-that-never-happened.txt

  • J. Pablo Fernández (unregistered)

    You can already listen to this post at http://hearablog.com/site/24/The-Daily-WTF#186

  • EmperorOfCanada (unregistered)

    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.

  • (cs)
    In a move that may not have been the wisest career choice

    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.

  • (cs) in reply to DOA
    DOA:
    Tact is a mechanism to cope with idiots. For better or for worse most of us have a very low tolerance for bullshit. Bad for human relationships, but at least it tends to produce better code...

    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.

  • JuicyBrain (unregistered) in reply to katastrofa

    That is exactly what he was saying... :-P

  • JuicyBrain (unregistered) in reply to katastrofa
    katastrofa:
    DOA:
    Tact is a mechanism to cope with idiots.

    Tact is a mechanism to make other people cope with YOU.

    That is exactly what he was saying... :-P

  • anonymouse (unregistered) in reply to dkf
    dkf:
    fw:
    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...!
    Hmm. A thousand lines is perhaps a little long for such a method...

    (At 6pt, there's 12 lines per inch and 1008 lines in 7 feet. At 8 feet, you've got 1152 lines.)

    Double those figures. There were 2 "screens" per page.

    At "over 7 feet", there's over 2016 lines of code...

    captcha: laoreet

  • Sponjk (unregistered)
    TRWTF is that they were using AppleScript. *shudder*
    Is that so much different than VBScript?
  • (cs) in reply to anonymouse
    anonymouse:
    Double those figures. There were 2 "screens" per page.

    At "over 7 feet", there's over 2016 lines of code...

    You're right. I didn't pick up on that. ☹

    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.

  • Darius (unregistered) in reply to barc0001

    "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.

  • (cs)

    TRWTF is the "ShareThis" button and it covering the comments link with its iframe if you inadvertently mouse over it.

  • (cs) in reply to Zemm
    Zemm:
    TRWTF is the "ShareThis" button and it covering the comments link with its iframe if you inadvertently mouse over it.
    Yeah, it's kind of annoying.

    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.

    • Not that in a lot of cases Daren is probably right, I've worked at such places too.

    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.

  • Its not me (unregistered) in reply to RogerWilco
    RogerWilco:
    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.
    The original thread had comments by the real Daren and even a co-worker who saw the actual printout. Apparently he didn't get fired..
  • Its not me (unregistered) in reply to Its not me
    Its not me:
    The original thread had comments by the real Daren..

    and an indication of the outcome on Page 4 (I dont recommend reading it directly, it degnerated into a SI units vs Imperial flamefest)

    Yes:
    For those that are interested in the outcome:

    On that particular day, the director shrugged it off. He is a pretty smart guy, and even understands about bad code, but he is very heavily vested in this consulting company (in that he was one of the main people that wanted to bring them on board) so they're somewhat of a sacred cow, and can't be criticized.

    Epilog: he has now been promoted to Vice President; I left that job over a year ago and am happily toiling away at a new, less-WTFy job.

    captcha: facilisis, a facile goddess?

  • (cs)

    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?

Leave a comment on “Classic WTF: Smooth, Like a Factory”

Log In or post as a guest

Replying to comment #:

« Return to Article