• nombody (unregistered)

    The real WTF is that these consultants turned down the contract. Instead they could have milked it and rebuilt the app anyway.

  • Polar (unregistered)

    Fist!

  • (cs)

    I feel guilty at laughing, but then I realize that the company could have hired someone competant to do the job in the first place, but chose to cheap out, and so sort of got what they had coming.

  • (cs)

    For what they're apparently willing/able to pay in "support" and maintenance and etc. I bet I could have taken on the maintenance contract while actually replacing the system over 6 months.

  • RandomDreamer (unregistered) in reply to nombody

    These consultants didn't take advantage of the situation. Or rather, they knew not to bit off more than they can chew?

  • dag (unregistered)

    "Though easy to fix through CreateMutex(), Robert was amazed at all the code the programmer must have used to create this feature."

    No code needed, surely, just set the remote desktop server to only allow one connection.

  • AndrewB (unregistered)

    Access databases with VARCHAR(100) and no relationships... I've been there, and the project failed.

  • john freeze (unregistered)

    forget that ajax shit.. that's what I call a full featured brillant web application..

  • FDF (unregistered)

    Now that's just brillant. A web application without any of the limitations of a web application.

  • (cs)

    I guess I missed the WTF. I always make applications to be limited to a year's worth of workability. How else will I be able to prove to them that they will ALWAYS need me around, especially on retainer!

  • my name is missing (unregistered)

    I think I knew that programmer, or at least his alien clone. The similar guy held a $40M a year fabric company hostage with a complex system rube goldberg would have been sick maintaining. We were brought in to replace him only the week he was on vacation so he wouldn't know. They were afraid because he also held all of their passwords including the entire accounting system. Another of his "ideas" was to protect servers from attack using elaborate (and expensive) metal shields.

    We couldn't run away from there fast enough.

  • (cs)

    Jesus.

  • NightGod (unregistered) in reply to my name is missing
    my name is missing:
    I think I knew that programmer, or at least his alien clone. The similar guy held a $40M a year fabric company hostage with a complex system rube goldberg would have been sick maintaining. We were brought in to replace him only the week he was on vacation so he wouldn't know. They were afraid because he also held all of their passwords including the entire accounting system. Another of his "ideas" was to protect servers from attack using elaborate (and expensive) metal shields.

    We couldn't run away from there fast enough.

    I don't even know how to respond to that. Metal shields? Seriously?

  • Fraggle My Rock (unregistered) in reply to Robajob
    Robajob:
    Jesus.

    You said it man, nobody f*cks with the Jesus.

  • Easter Bunny (unregistered) in reply to AndrewB
    AndrewB:
    Access databases with VARCHAR(100) and no relationships... I've been there, and the project failed.

    Hmmmm.

    Add in 2+ GB of data and I've been there too.

    Honestly. Why do most programming horror shows involve Access? Can't we petition Microsoft to dump that POS?

  • (cs)

    poor chump indeed!

  • Walleye (unregistered) in reply to NightGod
    NightGod:
    my name is missing:
    I think I knew that programmer, or at least his alien clone. The similar guy held a $40M a year fabric company hostage with a complex system rube goldberg would have been sick maintaining. We were brought in to replace him only the week he was on vacation so he wouldn't know. They were afraid because he also held all of their passwords including the entire accounting system. Another of his "ideas" was to protect servers from attack using elaborate (and expensive) metal shields.

    We couldn't run away from there fast enough.

    I don't even know how to respond to that. Metal shields? Seriously?

    Yes, and the operators had to wear tinfoil hats so the space aliens couldn't read their minds.

  • mizchief (unregistered)

    Poor chump? Hell I would update two buttons and add a db table once a year for $10,000 a month! Would spend the other 50 weeks of the year creating intresting software.

  • therealwtf (unregistered)

    The real WTF is the fact that RDN's web site wouldn't load after 30 seconds.

    Way to go MS! capta: vista

  • Patrick (unregistered) in reply to nombody
    nombody:
    The real WTF is that these consultants turned down the contract. Instead they could have milked it and rebuilt the app anyway.

    If this guy was able to pass this off as a web application, then there is something seriously wrong and there'd be no convincing them otherwise. It's hard for executives to ever swallow their pride and admit to making a mistake, even when they ought to. Taking the support contract, for any price, is just absurd because there's nothing worth supporting. Jumping head-first and naked into a river of shit just because there's a pile of money at the bottom is just a bad idea. I'd say it's better to let them twist in the wind until they get a clue that the original author was a flat out grifter, and that they need to re-write the application and carefully bring in the data from the old system.

  • Mike (unregistered)

    Wow. That is just.....wow.

    All this time I spent creating a web-based version of our app from the desktop version, when I could have just slapped a Remote Desktop control on a page and called it good. Theres three months of my life I don't get back.

    Oh well, maybe next time.

  • Emphyrio (unregistered) in reply to NightGod
    NightGod:
    my name is missing:
    Another of his "ideas" was to protect servers from attack using elaborate (and expensive) metal shields.

    We couldn't run away from there fast enough.

    I don't even know how to respond to that. Metal shields? Seriously?

    This might refer to some form of TEMPEST shielding (http://en.wikipedia.org/wiki/TEMPEST).

  • Anon (unregistered) in reply to dag

    So he spent several days every year creating a new table e.g. "2007Data" I hope he got sued.

  • ratnerstar (unregistered) in reply to mizchief
    mizchief:
    Poor chump? Hell I would update two buttons and add a db table once a year for $10,000 a month! Would spend the other 50 weeks of the year creating intresting software.

    Really? If I was making ten grand a month, I'd spend my free time driving sports cars and sleeping with beautiful women. But you have fun with that!

  • Rboy (unregistered) in reply to DeLos

    Hey, don't laugh. I've done it before in VB macros in order to screw over my ex employer who was screwing me over the whole time. Of course, I've been wondering ever since I left the place what still works. Or even if anyone even remembers how they worked.

  • me too (unregistered)

    O.M.G.

    That is so much like an application I've had to support that I can't laugh.

    Access backend used via both web and mdb file at the same time. Employees and customers in the same table. No uniqueness checks anywhere, text columns that should only contain numbers and yet also allows nulls.

    Just yesterday I spent all afternoon tracking down bad product names because the app creates invalid names for you if you type a new name instead of selecting one from a list.

  • (cs) in reply to Mike
    Mike:
    All this time I spent creating a web-based version of our app from the desktop version, when I could have just slapped a Remote Desktop control on a page and called it good.
    But then it wouldn't have been cross-platform.

    On the other hand, now there are two codebases to maintain. You should look into code generation. It would help if both the desktop version and Web version were written in the same language, so libraries for one work in the other without modification (obviously on the back-end for the Web version).

    A nice solution for tackling this kind of problem is a tool like GWT (if your codebase is in Java). If a solution doesn't exist for the language of your choice, it could be worth it to roll your own, depending on your circumstances.

  • (cs)

    Most people might feel uneasy taking $10000/month from a company to do something they have absolutely no ability to do. Some people might find it hard to convince the company to pay them to do it. But a sociopath can do both!

  • Gabe (unregistered)

    I once worked on a catalog DB project where every product series had its own table. Before I got to it, adding a product series required the developer to manually create the table. I just wrote code to generate SQL to create/drop tables as necessary, and add or remove columns if need be. It wasn't really such a big deal to maintain because the program did it all.

  • Mr (unregistered) in reply to DeLos
    DeLos:
    I guess I missed the WTF. I always make applications to be limited to a year's worth of workability. How else will I be able to prove to them that they will ALWAYS need me around, especially on retainer!

    I came in contact with a Perl script that needed maintenance each year. The reason was that they needed to change $year=2005 to $year=2006...

    The real WTF was that the programmer took time to document this in a Wiki, instead of finding out how she could get the current year (hint: localtime())

  • J. Walter Weatherman (unregistered)

    How about taking a big shit?

  • (cs) in reply to NightGod
    NightGod:
    my name is missing:
    I think I knew that programmer, or at least his alien clone. The similar guy held a $40M a year fabric company hostage with a complex system rube goldberg would have been sick maintaining. We were brought in to replace him only the week he was on vacation so he wouldn't know. They were afraid because he also held all of their passwords including the entire accounting system. Another of his "ideas" was to protect servers from attack using elaborate (and expensive) metal shields.

    We couldn't run away from there fast enough.

    I don't even know how to respond to that. Metal shields? Seriously?
    I worked for a guy whose idea of server security was a metal cage around the server. Also, when the sysadmin quit, he had all the CAT5 in the building pulled up and replaced, just in case there were any "back doors" he could use to break into the server. Nevermind the fact that the sysadmin had all the backup tapes with him when he quit, thus not needing to break in at all...

    /In his defense, the company did make him buy the tapes himself, so I suppose he owned them anyway.

  • Matthew (unregistered) in reply to Gabe
    Gabe:
    I once worked on a catalog DB project where every product series had its own table. Before I got to it, adding a product series required the developer to manually create the table. I just wrote code to generate SQL to create/drop tables as necessary, and add or remove columns if need be. It wasn't really such a big deal to maintain because the program did it all.

    You did that knowing that the design was wrong to begin with? Can I get your full name? I want to add you to my blacklist.

  • (cs) in reply to ratnerstar
    ratnerstar:
    mizchief:
    Poor chump? Hell I would update two buttons and add a db table once a year for $10,000 a month! Would spend the other 50 weeks of the year creating intresting software.

    Really? If I was making ten grand a month, I'd spend my free time driving sports cars and sleeping with beautiful women. But you have fun with that!

    Are you sure you did all the math correctly there? Ten Grand a month will probably not get you multiple sports cars.

    As for beautiful women, well I guess it depends...

  • Fraggle My Rock (unregistered) in reply to CRNewsom
    CRNewsom:
    I worked for a guy whose idea of server security was a metal cage around the server. Also, when the sysadmin quit, he had all the CAT5 in the building pulled up and replaced, just in case there were any "back doors" he could use to break into the server.

    Personally I would have also included the dogs with bees in their mouths but I suppose a metal cage is "good enough".

  • Justice (unregistered) in reply to shadowman
    shadowman:
    ratnerstar:
    mizchief:
    Poor chump? Hell I would update two buttons and add a db table once a year for $10,000 a month! Would spend the other 50 weeks of the year creating intresting software.

    Really? If I was making ten grand a month, I'd spend my free time driving sports cars and sleeping with beautiful women. But you have fun with that!

    Are you sure you did all the math correctly there? Ten Grand a month will probably not get you multiple sports cars.

    As for beautiful women, well I guess it depends...

    Well, let's just see here. Ten grand per month means $120,000 annually. Considering as you can live comfortably on about $50,000 gross in much of the country (read: non-coastal), I'd say you could probably save up to $20,000 a year easily. I don't know the sports car market, but that means a new car every year, or a new expensive car every two years.

    As for the women, $20,000 a year to spare can buy a lot of jewelry and chocolate, if the nice cars don't already take care of things for you.

    Whether the money will get you a good woman is a different story.

  • (cs) in reply to Matthew
    Matthew:
    Gabe:
    I once worked on a catalog DB project where every product series had its own table. Before I got to it, adding a product series required the developer to manually create the table. I just wrote code to generate SQL to create/drop tables as necessary, and add or remove columns if need be. It wasn't really such a big deal to maintain because the program did it all.

    You did that knowing that the design was wrong to begin with? Can I get your full name? I want to add you to my blacklist.

    This is just one of those times where it's much easier to automate a stupid process than it is to remove the process altogether. As far as management is concerned, the process "works," so why should they pay him to mess around with it?

    I'm really surprised this WTF didn't get more replies. You don't get a more classic WTF than this:

    Access back-end? Check.
    Concurrency problems? Check. Stupid programmer via nepotism? Check. Wooden table metaphor? Check. Unusable UI? Check. Happy ending (for the author, anyway)? Check.

    I mean, it's like every variant of WTF rolled into one. Throw in Paula Bean and a Cool-cam effect and they could close this site down forever because nothing would ever top this.

  • (cs) in reply to Easter Bunny
    Easter Bunny:
    Honestly. Why do most programming horror shows involve Access? Can't we petition Microsoft to dump that POS?

    If Microsoft dumped Access, then most horror shows would shift to some other database, most likely Oracle.

  • (cs) in reply to Mr
    Mr:
    DeLos:
    I guess I missed the WTF. I always make applications to be limited to a year's worth of workability. How else will I be able to prove to them that they will ALWAYS need me around, especially on retainer!

    I came in contact with a Perl script that needed maintenance each year. The reason was that they needed to change $year=2005 to $year=2006...

    The real WTF was that the programmer took time to document this in a Wiki, instead of finding out how she could get the current year (hint: localtime())

    $year = (localtime())[5] + 1900; to be exact.

  • Moekandu (unregistered) in reply to Carnildo
    Carnildo:
    Easter Bunny:
    Honestly. Why do most programming horror shows involve Access? Can't we petition Microsoft to dump that POS?

    If Microsoft dumped Access, then most horror shows would shift to some other database, most likely Oracle.

    Nah. They'll just use one Excel spreadsheet for the backend and one for the front end. And then "publish" it on the web with Front Page.

  • (cs) in reply to Patrick
    Patrick:
    nombody:
    The real WTF is that these consultants turned down the contract. Instead they could have milked it and rebuilt the app anyway.

    If this guy was able to pass this off as a web application, then there is something seriously wrong and there'd be no convincing them otherwise. It's hard for executives to ever swallow their pride and admit to making a mistake, even when they ought to.

    Well, yes, you say that, but.

    Something like three or four years before the date of the OP, I was working on a C++ port of the server for the major front-end for an, ahem, sizeable financial company. The equivalent client-side port was implemented in VB4. (No jokes before reading to the end, please.) Well, actually, it was implemented in VB3 ... the project was a little slow. But to be fair, it ended up being ported to VB4.

    A couple of years later, after the entire multi-hundred-million fiasco had been thrown over the side into a brand-new company to save the chubby little bottoms of the original managers, a (Microsoft evangelist) friend and I confronted the genius Hungarian whose self-chosen role was to "get things right." (In fairness, nobody else would have picked this role.)

    "Is it ready for Web deployment?" we asked.

    "That's a truly stupid question," he said. "All you need to do is to recompile it as an OCX control, and it's ready for deployment right there."

    I'm actually not sure whether this reflects worse on management, or on the twerp in question.

    Addendum (2008-04-09 17:25): I did enjoy the "It worked for a full three months," though. Clearly not a real WTF at all. What's the half-life of yer average J2EE application, measured in months of existence during the production phase?

  • Konrad (unregistered) in reply to AndrewB

    Inhouse IT: I tried to get sql server to give me a schema diagram of the ERP system and it showed no constraints between the tables

    Consultant: Yes Unfortunatly my data model is too complex to represent in SQLServer so I had to remove the constraints

    Translation: I don't cant get my inserts to work when i have foreign key constraints.

  • Jules (unregistered) in reply to me too
    me too:
    Employees and customers in the same table.

    Nothing necessarily wrong with that. What if an employee is a customer too?

  • (cs) in reply to Gabe
    Gabe:
    I once worked on a catalog DB project where every product series had its own table. Before I got to it, adding a product series required the developer to manually create the table. I just wrote code to generate SQL to create/drop tables as necessary, and add or remove columns if need be. It wasn't really such a big deal to maintain because the program did it all.

    Sadly I have done similar things. In my current case the whole data model is completely fucked up (no normalization, 2+ tables that are the same thing but used in two totally different parts of the app, etc.), to the point where I cannot realistically fix it because the company would not be able to function properly until it was done, and to management it works fine how it is, so they just need me to fix it.

    There are many times where it's easier to keep hacking together a solution to the problem, when the existing "application" (and I use that term lightly) is one big clusterfuck in itself, because you cannot fix it without breaking everything else, and you aren't authorized to do a full redesign even though the thing would sorely need it.

    All too common, sadly :(

  • me (unregistered)

    Damn, where can I find suckers, er, customers like that?

  • Ringo (unregistered) in reply to Mr
    Mr:
    The real WTF was that the programmer took time to document this in a Wiki, instead of finding out how she could get the current year (hint: localtime())

    I lol'd so hard...

  • Scando (unregistered)

    IF only this was really a WTF!! Ok that's worse than usual, but between this type of rubbish and users who refuse to read or understand I thkn I'm gonna go rive a bus! Scando, soon to be former IT professional

  • Julio (unregistered)

    Sucks to know what some people do in our line of business. They completely drag our names down with them and great professionals simply loose credibility, even when they charge reasonable prices for excellent service.

  • Registered CMS User (unregistered)

    Another WTF that would be so much better if we knew who was behind this monstrosity.

  • Pritchard (unregistered)

    This is the same feeling I get when I see most custom .NET or Java code, compared to the stuff we were turning out on mainframes in the 80's and 90's.

Leave a comment on “I Think I'm Going To Be Sick”

Log In or post as a guest

Replying to comment #:

« Return to Article