The case of the do-nothing programmers


  • ♿ (Parody)

    @joe.edwards said:

    Hey, Alex! Slummin' it in the sidebar with us proles? You should stop by more often.

    I do lurk quite a bit, but rarely have anything to add...but when I do comment, the CS email notifier thing keeps me coming back to the thread...



  • @Alex Papadimoulis said:

    I do lurk quite a bit, but rarely have anything to add...

    Feh. Not like I've ever had anything to add.



  • @blakeyrat said:

    @Alex Papadimoulis said:
    I do lurk quite a bit, but rarely have anything to add...

    Feh. Not like I've ever had anything to add.

    1+18,446,744,073,709,551,615


  • Considered Harmful

    @Ben L. said:

    1+18,446,744,073,709,551,615
    It's 0.


  • Trolleybus Mechanic

    I'll weigh in:

    @ObiWayneKenobi said:

    While I don't mind SOME embellishment, I think too much and you deviate away from pointing and laughing at bad code/stupid managers/lousy developers and into the realm of BOFH-style fiction.
     

    I tend to post more of these style stories. Mainly because those are the ones that get assigned to me. =)

    The reason a lot of this dialog and "drama" gets added is because its already there in the subtext of the submission. It's either there directly ("and my boss yelled at me and called me a turnip-humping gopher"), or indirectly ("my coworker told me BOSS X yelled a lot and used stupid insults.")

    Now, some of the submissions are ready-to-post as is-- and often, they are. Think about anything Snoofle posts. Something like that would be nearly direct to front-page with minimal changes:

    1) Spell check it

    2) Trim it a bit if needed for word count

    3) MAYBE change it from first person POV to third person ("Snoofle's boss was a goober" rather than "My boss was a goober").

    However, some submissions aren't that polished. Think about the least polished post you've seen by a new user on the sidebar. Got that in mind? Okay, it's less polished than that. Sometimes by several orders of magnitude.

    BUT there's often a really good story in there. The details are pretty much directly from the submission. That might be a piece of code, a stupid decision by a coworker, a mindboggling protocol put in by a boss, etc.

    So you strip out all the spelling mistakes, run-on sentences, nonesense, and tangents that are irrelevant to the STORY itself, leaving just these details. These are the true gems. These are the WTFs itself.

    At this point, you turn it into a piece of entertainment. You could just post those gems by themselves-- but then it'd just be The Daily Twitter Minor Complaint.

    "ASTRIX changed. Dial 9 for outside line. Fax tried country code 110, got 9-11 instead. SWAT showed up."

    "Boss is a jerk who thinks he can code. He made a change, fucked up system, yelled at me, fired dev team. #AnyoneKnowALaywer"

     Not really entertaining. I don't just want to tell you about a WTF. I want to tell you captivating story where you can [b]EXPERIENCE[/b] the WTF itself.

    So I put those gems back together in the form of a story. I use prose because that's my preferred writing style. I'll do my best to fill in all the details AS THEY WERE from the submission. I've even emailed submitters to ask for more details or to clarify a situation or two. But my main goal is to tell their story in an entertaining way. It has to have a good opening hook. The characters have to be believable and relate-able. There must be a satisfying conclusion. These are basic storytelling tenants. The President's daughter said so herself.

    THIS is the point where the finer details get massaged a bit. The main reason is brevity. The first thing I personally do is character compression/combination. It's a 500 word short story. If in the submission the main character went to get answers from three different co-workers, and half the word count is just him introducing those coworkers and tracking them down-- and those coworkers are virtually indistinguishable from each other-- and the fact that there's three of them serves no purpose-- I'll compress them into one coworker.  It's fewer characters for the reader to keep track of, and gets to the meat of the story much quicker.

     Same thing with just about anything else. Did this submitter of two identical dialogs with their boss? Fine, they had one. Did they include a code snippet that, while a WTF, isn't as good as the actual WTF? Drop it. They had to go up fifteen levels of bosses to get an answer? Maybe just describe the first two and last one.

    When it comes to the actual dialog itself-- as I said, some of it comes directly or indirectly from the submission. Since it's in prose, I wrap it in quotation marks. I might need to change it slightly so that it sounds like actual dialog, rather than a description of what was said. "My boss didn't have a good comeback except for some quiet remark about how he likes the color of the TPS reports" becomes In a whisper, BossDumbFace finally said, "... I just like purple."  It's the difference between forced exposition and dialog.

    Sometimes I need to reconstruct what most likely happened, or what was most likely said. From that I just pull a Jurassic Park, and finish the sequence with the frog-DNA of my own experiences and understanding of human nature. This often means just recalling dumb shit I've said, or that's been said to me. The boss' dialog from [url="http://thedailywtf.com/Articles/The-Tye-That-Binds.aspx"]The last Feature I posted[/url] came pretty much word-for-word from the mouth of a boss I knew who for all intents and purposes might as well have been the Submitter's boss.

    Finally, and I feel this is the most important part-- the story has to be interesting. As I said, I want the reader to experience the WTF, not just be told the WTF. For me, this means avoiding one of THE biggest mortal sin of writing: a story within a story. That layer of abstraction makes it nearly impossible to relate to the story being told.  I'm not telling you a story anymore. I'm telling you a story about the submitter telling me a story. Worse is when the submitter is telling me a story about something that happened to their coworker. Worse yet is me telling you a story about the submitter telling me a story about a coworker telling the submitter a story about something that happened to a former employee who the submitter never met. Big. Fucking. Whoop. It's boring. Valuable word count is being used to set up the framing story/stories that no one cares about. 

    I think the quintessential example I've ever posted is [url="http://thedailywtf.com/Articles/Trauma-Center.aspx"]Truma Centre[/url].  The original submission was fairly brief. It basically had company details, and that the story was told to submitter by a coworker about a completely different employee. There were enough details to infer everything that went down that day. But it was boring because of the multiple layers of abstraction. It would have just fallen flat if it had been "Hey everyone, this bad thing happened to a guy who worked with this guy's coworker. Kinda sucks, huh?". A story where you get to experience first-hand the build up to and the trauma of going through the experience was needed to do the submitter's story proper justice.

    So in conclusion: The heart and soul of the stories are as submitted. We wrap them in a story to elevate the WTF itself. All this is done in the interest in making sure the WTF experienced as justly as it deserves-- and to make sure the readers walk away not only entertained, but muttering to themselves "WTF".


  • ♿ (Parody)

    @Lorne Kates said:

    So in conclusion: The heart and soul of the stories are as submitted. We wrap them in a story to elevate the WTF itself. All this is done in the interest in making sure the WTF experienced as justly as it deserves-- and to make sure the readers walk away not only entertained, but muttering to themselves "WTF".

    Well put; describes the process well.

    Another example is ITAPPMONROBOT. I remember working closely with Jake on how to turn the following submission into a memorable story.

    __ Linux solution to Windows problems __

    I know what you think - yet another Linux vs. Windows story. But this story shows, both systems can co-exist in some form of symbiosis.
    At the beginning of 21-st century, namely 2001, a friend of mine asked me for an advice. He has just started to work as a system administrator at some middle-sized bank. They have had a lot of *NIX servers that were working just fine. But there was also one Windows NT-based server there with a *very* special application which was absolutely crucial for bank's business processes. The very special "feature" of this application was that it crashed quite often and took the whole server to the realm of BSODs with every crash. The old sysadmin was working in the server room and has had no problem resetting the server manually if needed. My friend, however, preferred remote administration from his sunny office (yea, i know, how weird it sounds - a system administrator who likes sunny places :-) ) so walking down to server room in order to restart a server was hardly an option for him.
    Fixing a program was not possible - no source code was available and the complete rewrite would take time which my friend didn't have.

    After a weirdest brainstorming i have ever participated at, we finally found a solution - he has built together a crappy PC with linux 2.4 on board and connected it to the server via a crossover cable.
    The sole task of this PC was to ping the alleged server and if it wasn't responding - eject /dev/hdc.
    The cd-rom drive opened itself and pressed the server's Reset button.

    The program was eventually rewritten, servers were upgraded and the Win-NT server thrown away, but little linux PC stayed there and was pinging different servers, working without having a second of downtime till it died of age early 2006. By the time, all servers were working just fine, so no one actually needed a replacement for it.

    I think we nailed it.



  • @blakeyrat said:

    @Alex Papadimoulis said:
    I do lurk quite a bit, but rarely have anything to add...

    Feh. Not like I've ever had anything to add.

    I liked your "Real Estate Howler."



  • @Alex Papadimoulis said:

    Another example is ITAPPMONROBOT. I remember working closely with Jake on how to turn the following submission into a memorable story.
     

    I understand better now the trials and tribulations of producing content for the front page.

    @Alex Papadimoulis said:

    holy thread derailment


     



  • @joe.edwards said:

    @Ben L. said:
    1+18,446,744,073,709,551,615
    It's 0.

    No, it's 18,446,744,073,709,551,615.99999999999999999999999... (repeating).


  • Considered Harmful

    To the .999…th power, over .999…, with a coefficient of .999….


  • Trolleybus Mechanic

    @dhromed said:

    I understand better now the trials and tribulationsTrials and Tribble-ations of producing content for the front page.
     

    Tribbled that for you.



  • @Lorne Kates said:

    @dhromed said:

    I understand better now the trials and tribulationsTrials and Tribble-ations of producing content for the front page.
     

    Tribbled that for you.

    • .9̅

  • Discourse touched me in a no-no place

    @Lorne Kates said:

    The main reason is brevity.
    Really? Can't say I've noticed myself - personally I find that quite a few of them are too long, if anything. I understand that part of the point of them is a creative writing outlet for some of those who do it however, so I don't expect it to change; and judging from others' lack of comments on it, it probably shouldn't.


  • Trolleybus Mechanic

    @PJH said:

    @Lorne Kates said:
    The main reason is brevity.
    Really? Can't say I've noticed myself - personally I find that quite a few of them are too long, if anything. I understand that part of the point of them is a creative writing outlet for some of those who do it however, so I don't expect it to change; and judging from others' lack of comments on it, it probably shouldn't.
     

    An average "short" story is 2000-5000 words. A frontpage article tends to be 500 or less, putting it in the "flash" category.

    Sidenote: I fully recognize the irony in using "brevity" in a wall-of-text 1000 word explanation. :|



  • @Lorne Kates said:

    Sidenote: I fully recognize the irony in using "brevity" in a wall-of-text 1000 word explanation. :|

    At least you didn't format it like a front page article.



  • @Alex Papadimoulis said:

    I think we nailed it.


    The original isn't as polished as Snoofle's posts, but it didn't need to be padded by 150%. Expanding it to 500 words would have given enough margin for improvement without going over the top.



  • @Alex Papadimoulis said:

    @joe.edwards said:

    You could probably imply who it is without naming a real company name.

    Bill, who worked for a company that rhymes with Mewlett Backard...

    Tony had just finished a long day at Sicromoft,

    Jim Bob, a first level support rep for TA&A

    The real company / real people are almost always an irrelevant fact. This isn't the Consumerist where we "out" companies because Someone Got Pissed. We tell stories that are based on real events, entertaining, and sometimes even educational.

    I think that's part of the thing though, I mean granted it's your site and you can direct the vision for it but I think that we NEED to out bad companies so other developers know to stay away. A lot of these places I'm willing to bet put on a very good facade of being a great place to work, and therefore sucker people in (hell most of the WTFs involve somebody who got suckered in by a smooth-talking tech head). There should be some kind of outlet to point out "Stay away from [company name], they use some proprietary crap called BobX" or "Stay away from [company], the manager there is a real bitch named Tye and doesn't understand tech at all".

    Kind of like how hobos have the signs that indicate if a place is good or bad. We need something like that for IT.


  • Considered Harmful

    ...And maybe when they discover no one wants to work for them anymore, they'll improve their practices!

    Nope, couldn't keep a straight face.



  • The danger of a trial in the court of public opinion is that we do not have all of the facts. One of the other editorial things we do to submissions is try and weed out any sour grapes- and there are a lot of those. We're only getting one side of the story (the submitter's), and they likely don't have the entire picture anyway. Many of them are submitting something which upset them, or at least annoyed them, which means they might not be explaining things in the fairest way.

    If you want a bunch of histrionics over complaints from random people on the Internet, go visit Consumerist.com.



  • @joe.edwards said:

    ...And maybe when they discover no one wants to work for them anymore, they'll improve their practices!

    Nope, couldn't keep a straight face.

     

    No, the idea would actually BE to put them out of business because nobody would work for them.

     



  • Doesn't matter. IBM's been putting out shitty software for decades, and they're still in business, and doing better than ever.

    What you do is when all the decent engineers leave because the workplace sucks, you invest in your sales force and hire the sleaziest people you can find, send them directly to the CEO or COO or CFO of companies (do not under any circumstances repeat DO NOT let the sleazy sales man talk to the actual IT people implementing the "solution"), pack them along with a high-limit corporate card you can use to buy lobster and Italian leather shoes and BAM there you go.



  • @PJH said:

    personally I find that quite a few of them are too long, if anything
     

    Ditto. Some articles are stories full of interesting events along the way, and some feel like unnecessary padding to delay the punchline.

    Compare BOFH tales: the early ones had much higher bastard-per-minute content; modern ones feel like someone's tried to spread a dilbert cartoon over 15 frames.



  • @ObiWayneKenobi said:

    I think that we NEED to out bad companies so other developers know to stay away.
     

    Plenty of other sites do that (fuckedcompany.com was one, IT shambles is another).

    I got the impression Alex's vision here was to out bad practise.

    The actual company involved is irrelevant - stupid occurs everywhere and is duplicated in droves. How many tales have you felt you'd experienced yourself?



  • @Remy Porter said:

    The danger of a trial in the court of public opinion is that we do not have all of the facts.
     

    That danger's not just confined to courts of public opinion: solicitors are selective in what facts are exposed to a jury to shape their opinion and influence the outcome.

    @Remy Porter said:

    One of the other editorial things we do to submissions is try and weed out any sour grapes- and there are a lot of those.

    Do you get a feel for what's a scathing attack versus unbiased observational reporting? Curious to know what taxonomy you employ.

     



  • @blakeyrat said:

    What you do is...
     

    This the voice of experience?

    I read in one book[1] how Big Blue were hated through a smug and complacent sales force which came crashing down when a competitor arrived over the horizon: companies took great delight in showing the IBM bod the door out.

    I've not worked in any place where I encountered a Big Blue Boy.

    [1] could have been "Insanely Great" or "Inside Intel" - can't remember which. Both enjoyable reads.



  • @Cassidy said:

    I've not worked in any place where I encountered a Big Blue Boy.

    You've never worked in government or healthcare I assume.


  • ♿ (Parody)

    @Cassidy said:

    I got the impression Alex's vision here was to out bad practise.

    Close, practice. We speak 'MUHRICAN.

    (actually, in my stories, I will often de-Britishized and de-Metricize the "facts", unless I want it to have a "foreign" feel)



  • @blakeyrat said:

    You've never worked in government or healthcare I assume.
     

    I've worked in the former but I wasn't invited along to the vendor wankfests presentations, presumably because I wasn't a decision-maker (so didn't justify the "oral sex and arse-fingering combo" freebie from the sleezy salesdroids) but was one of those IT people implementing and supporting the solution, so there was clearly no reason to attend.

    I mean, exposing me to its capabilities, listening in on discussions about expected operational usage, contributing to requirements specifications - I had better things to do with my time, like struggling with the capabilities of the previous solution that had been slipped into the infrastructure by circumventing the attention of any teams that were required to configure and support it.

    And yeah, a year of doing that and experiencing so much resistance to change plus daily WTFs (life became Dilbert) I jumped ship - within a year I'd doubled my salary and trebled my work pride and happiness.



  • @Alex Papadimoulis said:

    Close, practice. We speak 'MUHRICAN.
     

    Tomaydo, toemarto.

    @Alex Papadimoulis said:

    ... unless I want it to have a "foreign" feel)

    Don't want to cast aspersions here, but your surname suggests a possible Greek/Cyprite connection.



  • @Alex Papadimoulis said:

    @Cassidy said:

    I got the impression Alex's vision here was to out bad practise.

    Close, practice. We speak 'MUHRICAN.

    Close, English. Spelling the noun form with an s is bad practice even in countries that practise spelling the verb form that way.



  • @Alex Papadimoulis said:

    I do lurk quite a bit, but rarely have anything to add...but when I do comment, the CS email notifier thing keeps me coming back to the thread...

    Can't you disable it? I know I don't get email notifications of every single thread I posted to. Or did a time bomb in CS's code disable the "disable thread notification" feature so as to force you to upgrade to a newer, paid version?



  • @ekolis said:

    @Alex Papadimoulis said:
    I do lurk quite a bit, but rarely have anything to add...but when I do comment, the CS email notifier thing keeps me coming back to the thread...

    Can't you disable it? I know I don't get email notifications of every single thread I posted to. Or did a time bomb in CS's code disable the "disable thread notification" feature so as to force you to upgrade to a newer, paid version?

    I didn't think I got emails until I checked my spam folder. Nearly every message in there is from Community Server.


  • BINNED

    @Cassidy said:

    @Remy Porter said:

    The danger of a trial in the court of public opinion is that we do not have all of the facts.
     

    That danger's not just confined to courts of public opinion: solicitors are selective in what facts are exposed to a jury to shape their opinion and influence the outcome.

    As someone who has sat on 3 juries, I can confirm this. One of the most frustrating things about serving on a jury is knowing that relevant information is being withheld.



  • I also worked for "Yoyo Enterprisey Systems" ! I signed on in August of 09 and my experience was much the same (though I stuck it out for close to 2 yrs). My favorite part was where they wanted us to be excited and volunteer to move to Cupertino, CA on a Cincinnati, OH salary.  That place was so awesome - My "Batch" (as they liked to call their sets of 20 or so new hires) got to see the deepest and darkest WTFs of our Asian subcontinent colleagues, so I appreciate THAT learning experience.  Some gems from our codebase:

    if ($x) {
      // Do Y
    } else {
      // Do Y
    } catch {
      // You guessed it! Do Y
    }

    try {
      // Deep and convoluted maze of nested if statements and loops
      x = 1 / 0;
    } catch (DivideByZeroException) {
      // More code
    }

    In a PL/SQL Stored procedure:
    GOTO x:
    // Seriously? GOTO in SQL? kill me now...

     

     

    mod: linebreaks. -dh. we can totally weed out the Chrome users.



  • @jdraymon said:

    if ($x) {
      // Do Y
    } else {
      // Do Y
    } catch {
      // You guessed it! Do Y
    }

    Catch without try? You can DO that?

    @jdraymon said:

    mod: linebreaks. -dh. we can totally weed out the Chrome users.

    So it's only Chrome, and not "everything but IE"? Hmm, might have to give Firefox another shot then...



  • @ekolis said:

    Catch without try? You can DO that?
     




  • @joe.edwards said:

    @PJH said:
    @ObiWayneKenobi said:
    and I firmly believe these companies should be outed; after all it's not libel nor slander if it's true
    And therein lies the problem. If the veracity of the situations submitted is difficult to ascertain, you're potentially left open to legal action.

    You could probably imply who it is without naming a real company name.

    Bill, who worked for a company that rhymes with Mewlett Backard Inedo...

    Tony had just finished a long day at Sicromoft Inedo,

    Jim Bob, a first level support rep for TA&A Inedo

    ITFY


  • @Cassidy said:

    @ekolis said:

    Catch without try? You can DO that?

    FTFY


Log in to reply