• (cs)

    Sounds like a Snopes-style urban legend.

  • facetious (unregistered)

    So now that he's one with Codethulu ... does he control the souls of those thousand orphans?!

    An army of orphan souls! Sweet!

  • Phaedrus (unregistered) in reply to ZeroSum

    Oh, I don't know.  I can think of one project - here in Atlanta - that bears a strange resemblance.  If the system happened to use an expert system derived from one intended for military aircraft (developed and reused by one of The Great Old Ones), then the resemblance is complete.

  • (cs)

    So does it take a full thousand orphan souls to summon the Codethulhu, or can I get by with just 997? I got outbid at the last second on ebay for those last 3.

  • (cs)

    What, Demonbane hasn't came to safe innocent yet?!

  • (cs)

    I once worked on a Dell SatanicEdge sever, except it was called a Compaq.

  • Kristoff K (unregistered)

    As evil as it sounds one feels almost sympathetic to whoever came up with the decompilation plan. The way it looks it was either that or throw away milions of dollars
    Not using source control however... This is really WTFy to the max, perhaps a codebase would have formed over time.

    Another WTF: Maybe I'm idealistic but wouldn't you ensure by contract that you would have guaranteed maintenance posibilities or sourcecode access? Who hired those Great Old Ones? A temple-slave?

  • Franz Kafka (unregistered)
    Alex Papadimoulis:

    The Great Old Consultants worked day and night to create the great system that would come to be known as Codethulhu. They used only the most diabolical of materials: a Dell SatanicEdge sever, J2EE (Java 2 Evil Edition, not to be confused with Java 2 Enterprise Edition), and the souls of a thousand orphans. Once their work was complete, the Great Old Consultants vanished, never to be seen again.

    Tried as they might, the company was unable to summon back the Great Old Consultants. This was particularly problematic because the Great Old Consultants took with them, the source code. With no source code available, there was simply no way to fix bugs and make changes to their custom, multi-million dollar software. That is, until one engineer had an idea: they could decompile the Java bytecode.

     

    I love this part - what idiot orders up a custom supply chain app without getting a maintenance contract + code? 

  • LRB (unregistered) in reply to facetious

    One of the 1st shops that I worked in had a similar problem.  They had a custom coded COBOL application on a WANG minicomputer.  They then lost the source code.  However one of the original coders was willing to come back and make key changes for an astronmical rate.  Fortunately all my work was on PC systems replacing the parts of the ugly monstrocity.

     I've know several other companies that have either lost the source code to key applications or pay through the nose for consultants to build them a custom application only not to insure that they got the source code.  Seems to be a much more common problem that one would think.  Of course that doesn't make it any less stupid.

  • (cs)

    Mental not for future interviews: Ask whether development and maintenance is done on:
      a. Source code
      b. Decompiled byte code 
      c. Assembly language (or the bit equivalent version)

  • (cs) in reply to Franz Kafka
    Anonymous:
     

    I love this part - what idiot orders up a custom supply chain app without getting a maintenance contract + code?


    A first-timer.  Note they had no in-house developers, and it would appear this was their first significant custom software.
  • (cs) in reply to LRB
    Anonymous:

    Seems to be a much more common problem that one would think.  Of course that doesn't make it any less stupid.


    Very common.  It's why some corporates are running very old hardware, and some others are very thankful for companies like IBM that maintain incredible backward-compatibility of bytecode  (no, bytecode isn't just a Java thing), emulations and virtual machines..
  • An Orphan (unregistered) in reply to swordfishBob
    swordfishBob:
    Anonymous:
     

    I love this part - what idiot orders up a custom supply chain app without getting a maintenance contract + code?


    A first-timer.  Note they had no in-house developers, and it would appear this was their first significant custom software.

    Caveat Emptor...

     Still, not putting it in source control even after decompilation...

  • JL (unregistered)

    Not getting (or keeping?) the source code in the first place was unbelievably foolish.  And then they continue to throw away any recovered source?  Crazy.  I mean, keeping the decompiled source means that at least you have the original source of the patches, and developers can leave each other breadcrumbs on how the system works.  It must be a very non-technical company not to have anyone that understands the importance of source code.  This is like throwing away your car keys once you get your car started.
     

  • (cs) in reply to swordfishBob
    swordfishBob:
    Anonymous:
     

    I love this part - what idiot orders up a custom supply chain app without getting a maintenance contract + code?


    A first-timer.  Note they had no in-house developers, and it would appear this was their first significant custom software.


    They probably didn't even know that source code was something that they COULD request let alone it is something that they SHOULD request.

    I'll bet they were a lot like my first job.  Not "first significant custom software" but first any software.  The project was run by someone who knew nothing about making software and developed by consultants.
  • (cs) in reply to Kristoff K

    Anonymous:

    Not using source control however... This is really WTFy to the max, perhaps a codebase would have formed over time.

    If it's not in a control system, it's not code. It's just a bunch of text. 

  • (cs) in reply to hbr17
    hbr17:

    Mental not for future interviews: Ask whether development and maintenance is done on:
      a. Source code
      b. Decompiled byte code 
      c. Assembly language (or the bit equivalent version)

    I ask, "What part of the codebase would you most like to change, and why?" 

  • An Orphan (unregistered) in reply to themagni
    themagni:
    hbr17:

    Mental not for future interviews: Ask whether development and maintenance is done on:
      a. Source code
      b. Decompiled byte code 
      c. Assembly language (or the bit equivalent version)

    I ask, "What part of the codebase would you most like to change, and why?

    Good interview question - though I might modify it with something like: "If you could do it over again, what would you do differently, and why?"

  • no name (unregistered) in reply to JL
    Anonymous:

    Not getting (or keeping?) the source code in the first place was unbelievably foolish.  And then they continue to throw away any recovered source?  Crazy.  I mean, keeping the decompiled source means that at least you have the original source of the patches, and developers can leave each other breadcrumbs on how the system works.  It must be a very non-technical company not to have anyone that understands the importance of source code.  This is like throwing away your car keys once you get your car started.
     

     

    I can't believe the developers didn't keep one on the side anyway, official company policy or not.  I have to "bend" (i.e. smash into tiny little pieces) so many rules just to do my job properly it's not even funny. 

  • Nataku (unregistered) in reply to themagni
    themagni:

    Anonymous:

    Not using source control however... This is really WTFy to the max, perhaps a codebase would have formed over time.

    If it's not in a control system, it's not code. It's just a bunch of text. 



    Pedant attack : Actually, its still a bunch of text - its just safer.  Its only code when something tries to read it.
  • (cs) in reply to ZeroSum

    ZeroSum:
    Sounds like a Snopes-style urban legend.

    What, that a company hired consultants to do a system, who took the source with them when they left? You only wish. Stuff happened a lot in the late 90's and, with the .Bomb following close thereafter, many of those consulting companies ceased to be, and that code vanished, never to be seen again.

    Stupid decision on their part not to decompile it all, and then work from that as though it were the original source...that's the best thing you can do in that situation; cut your losses and move on.
     

  • Cornered (unregistered) in reply to themagni

    themagni:
    If it's not in a control system, it's not code. It's just a bunch of text.

    Really?  I guess my personal scripts aren't code, then; they're just a bunch of text that, by some cosmic coincidence, my computer repeatedly interprets in a way that makes it do what I want it to do.

    I didn't know that.  Thanks. 

  • (cs)

    Doesn't it seem that the stupidity of the decision is directly proportional to the size of the corporation making it?

  • David Vallner (unregistered)
    Alex Papadimoulis:

    J2EE (Java 2 Evil Edition, not to be confused with Java 2 Enterprise Edition)


    So. Anyone with graphics skills to get a logo for "Java 2, Evil Edition" mugs?
  • (cs) in reply to An Orphan
    Anonymous:
    themagni:
    hbr17:

    Mental not for future interviews: Ask whether development and maintenance is done on:
      a. Source code
      b. Decompiled byte code 
      c. Assembly language (or the bit equivalent version)

    I ask, "What part of the codebase would you most like to change, and why?

    Good interview question - though I might modify it with something like: "If you could do it over again, what would you do differently, and why?"

    WOW.

    That question applys to so many things (marriage comes immediately to mind)!

  • An Orphan (unregistered) in reply to David Vallner

    Anonymous:
    Alex Papadimoulis:

    J2EE (Java 2 Evil Edition, not to be confused with Java 2 Enterprise Edition)


    So. Anyone with graphics skills to get a logo for "Java 2, Evil Edition" mugs?

    I will happily volunteer to be the first to buy one :)

  • An Orphan (unregistered) in reply to ParkinT
    ParkinT:
    Anonymous:
    themagni:
    hbr17:

    Mental not for future interviews: Ask whether development and maintenance is done on:
      a. Source code
      b. Decompiled byte code 
      c. Assembly language (or the bit equivalent version)

    I ask, "What part of the codebase would you most like to change, and why?

    Good interview question - though I might modify it with something like: "If you could do it over again, what would you do differently, and why?"

    WOW.

    That question applys to so many things (marriage comes immediately to mind)!

    If you listen carefully, the stuff NOT said in the answer (usually) means even more than the stuff that's mentioned (and I am happily married, thank you)

  • Trotsky (unregistered)

    I love the Metallica reference in the title....great stuff Alex!

  • (cs)

    Resistance is Futile.  You will be Assimilated.

    <captcha: all share the same fate />

  • sewiv (unregistered) in reply to Trotsky

    Anonymous:
    I love the Metallica reference in the title....great stuff Alex!

     

    I sure hope that's sarcasm. 

  • Moo (unregistered) in reply to Trotsky

    Well I just learned that Metallica has a song that makes Lovecraft references... who knew?

  • El Quberto (unregistered)

    I like the no checking in of decompiled source code. Prevents the source from being stolen and someone finding security holes in it.

  • (cs) in reply to Moo

    Anonymous:
    Well I just learned that Metallica has a song that makes Lovecraft references... who knew?

     

    I learned that Hemingway wrote a book about a Metallica song. 

  • (cs) in reply to Satanicpuppy
    Satanicpuppy:

    ZeroSum:
    Sounds like a Snopes-style urban legend.

    What, that a company hired consultants to do a system, who took the source with them when they left? You only wish. Stuff happened a lot in the late 90's and, with the .Bomb following close thereafter, many of those consulting companies ceased to be, and that code vanished, never to be seen again.

    Stupid decision on their part not to decompile it all, and then work from that as though it were the original source...that's the best thing you can do in that situation; cut your losses and move on.
     

    I didn't mean I didn't believe it, just that it was written in a similar style to many urban legends listed on Snopes. 

  • (cs)

    Alex Papadimoulis:
    The company decided against using source control to store their decompiled code. Instead, modules were decompiled on a "need-to-alter" basis, and then re-compiled and deployed once the code changes had been made.

    That's the biggest WTF of the lot.  I've worked with decompiled java.  It's really not that bad.  It can take some serious head scratching to figure some things out at first, but you gradually de-obfuscate the code as you work.

    But to throw all that de-obfuscation work away every time you make a change?  That truly is insanity.

     

  • (cs) in reply to hbr17
    hbr17:

    Mental not for future interviews: Ask whether development and maintenance is done on:
      a. Source code
      b. Decompiled byte code 
      c. Assembly language (or the bit equivalent version)

    d. IC masks

  • Patrick (unregistered) in reply to Franz Kafka

    Somebody who isn't an engineer and has no clue what this thing called, "source code, " is or the difference between source code and a program.  They just see it as software.  Some clever contractor didn't provide that as part of the terms in the contract in hopes that s/he would have to come back and modify it at whatever rate the company needed.  Now a real WTF would be if the company negotiated the source code out of the contract in hopes that they could save some money by decompiling it and then maintaining it..  Otherwise, it's just a matter of being duped by the contractors...imo.           

  • (cs)
    Alex Papadimoulis:

    And when the original code is developed by the Great Old Consultants, it becomes much worse than "not very pretty." It becomes pure evil.

    I even lol'd on this. :D

    The way the story was told is a masterpiece! Great picture too.

  • (cs) in reply to Trotsky

    Anonymous:
    I love the Metallica reference in the title....great stuff Alex!

    Yeah.  A lot like all the people that talk about "Godzilla".  I didn't think so many people even knew that Blue Oyster Cult song!

  • (cs)

    I am genuinely chilled from reading this.  How many "Java/J2EE contractors needed for a one-to-three month contract" ads have I seen?  Dozens, surely.  Any one of them might have been this landmine of a WTF.

  • (cs) in reply to Franz Kafka
    Anonymous:
    Alex Papadimoulis:

    The Great Old Consultants worked day and night to create the great system that would come to be known as Codethulhu. They used only the most diabolical of materials: a Dell SatanicEdge sever, J2EE (Java 2 Evil Edition, not to be confused with Java 2 Enterprise Edition), and the souls of a thousand orphans. Once their work was complete, the Great Old Consultants vanished, never to be seen again.

    Tried as they might, the company was unable to summon back the Great Old Consultants. This was particularly problematic because the Great Old Consultants took with them, the source code. With no source code available, there was simply no way to fix bugs and make changes to their custom, multi-million dollar software. That is, until one engineer had an idea: they could decompile the Java bytecode.

     

    I love this part - what idiot orders up a custom supply chain app without getting a maintenance contract + code? 

     

    You would be surprised how frequent I'm sure such things happen.  Working through my national company's supply chain, myself and the project manager ended up doing the vast majority of necessary changes to the contract for a new piece of software we recently bought. Keep in mind that neither of us had EVER worked on drafting a software contract or purchasing such expensive software before.  And this was WITH a lawyer in supply chain management that was supposedly going to do the software contract for us as a part of our project, but he mainly just gave us templates to amend on our own and then presented them to the company we were purchasing from. WTFery goes on daily in just about every company, I imagine.

  • nop (unregistered) in reply to cavemanf16

    LOL!

    And love the picture, too. That's great stuff right there. Really sums up the whole story.

  • (cs) in reply to db2
    db2:
    hbr17:

    Mental not for future interviews: Ask whether development and maintenance is done on:
      a. Source code
      b. Decompiled byte code 
      c. Assembly language (or the bit equivalent version)

    d. IC masks

    I lost 20 sanity points just reading that witty reply.

  • steven22 (unregistered) in reply to nop

    When I got to job interviews I ALWAYS ask if they use source control.   Of course, that doesn't always help.   Because if no one is enforcing the use of source control, then....

    Whenever I start a new job, one of the first things I do (once I wrangle a source safe account from the admin) is to do a search for checked out code.  To see how much code has been checked out since 2003.  It's usually a lot.

  • chocobot (unregistered)

    James C,

    Do you need to borrow my Powder Blue Leisure Suit of Immunity to Insanity +5 and my Cowboy Boots of Protection from Evil +3?

  • (cs) in reply to swordfishBob
    Anonymous:
     

    I love this part - what idiot orders up a custom supply chain app without getting a maintenance contract + code?

    For example one of my clients. Fortunately, they had some IT people who strongly urged them to make a maintenance contract, so they have a maintenance contract for adding new features and bugfixes. However, they don't have the source code (just as it was written in the contract) and the program is distributed as precompiled PHP bytecode.

    Anonymous:

    Anonymous:
    Alex Papadimoulis:

    J2EE (Java 2 Evil Edition, not to be confused with Java 2 Enterprise Edition)


    So. Anyone with graphics skills to get a logo for "Java 2, Evil Edition" mugs?

    I will happily volunteer to be the first to buy one :)

    I'll buy the second one! :)

    Also, I would very much appreciate, if only possible, to have mugs with a TDWTF logo and a custom text. I'd like to get a mug with the text "it works as coded".

  • (cs) in reply to Jackal von ÖRF
    Jackal von ÖRF:

    I'd like to get a mug with the text "it works as coded".

    Definitely the most memorable phrase spoken by the guy who said it.  One of these days, I'll submit some of the other stories and phrases.  Maybe we can make a collector's set? :P 

  • Steve (unregistered)

    "Decompiled code is not a very pretty thing. Many of the "niceties" of Java code -- comments, variable names, differentiation between FOR and WHILE loops -- are simply non-existent."

    No comments?  Not trying hard enough.  When I have to do that sort of thing, I at least comment things with hard coded Strings so that the comment survives decompilation...  Sure, you have to play with them a bit so they aren't optimized out, but at least you can tell what the code does next time you decompile it. 

  • (cs) in reply to Jackal von ÖRF
    Jackal von ÖRF:

    Also, I would very much appreciate, if only possible, to have mugs with a TDWTF logo and a custom text. I'd like to get a mug with the text "it works as coded".

    I'd buy a mug decorated with "The Call of Codethulhu" and that awesome pic. 

  • (cs) in reply to themagni
    themagni:
    Jackal von ÖRF:

    Also, I would very much appreciate, if only possible, to have mugs with a TDWTF logo and a custom text. I'd like to get a mug with the text "it works as coded".

    I'd buy a mug decorated with "The Call of Codethulhu" and that awesome pic. 

     

    Me too. 

Leave a comment on “The Call of Codethulhu”

Log In or post as a guest

Replying to comment #:

« Return to Article