• (cs)

    This definitely could be made better by converting everything to and from XML during the process.

  • (cs) in reply to Dogsworth
    Dogsworth:
    This definitely could be made better by converting everything to and from XML during the process.
    Even doing it all with SOAP would hardly make it worse.

    Now that's a statement I thought I'd never make.

  • (cs) in reply to Dogsworth
    Dogsworth:
    This definitely could be made better by converting everything to and from XML during the process.

    But only within Excel.

  • jaggerbush (unregistered)

    But the excel xml conversion must be done through an outside qBasic script.

  • Black Bart (unregistered)

    I'm in the process of writing just such a turd editor! The description matched, all the way until the crazy processes start HUPping stuff on the remote server. In my case, the server just monitors the network folder for an XML file change and HUPs itself.

  • ANON (unregistered)

    Now we know how the NASA lost Columbia...

  • Mike (unregistered)

    So now we know how it does it, but what does it actually do?

  • faoileag (unregistered)

    What, no "Hanzo"-story on a tuesday?

  • eVil (unregistered)

    One Direction. Eugh.

  • sooooo Sparc-ly (unregistered)

    The real WTF is NFS.

  • (cs)

    Man, just imagine the amount of bad decisions made over this and to just let it seat there until the end of times. Also, that no one, even the guru, in such a long time never took the time on trying to fix this. Maybe this is why having a team free of business projects which can tackle this sort of problems would be a good idea... DevOps maybe?

  • (cs) in reply to ubersoldat
    ubersoldat:
    Man, just imagine the amount of bad decisions made over this and to just let it seat there until the end of times. Also, that no one, even the guru, in such a long time never took the time on trying to fix this. Maybe this is why having a team free of business projects which can tackle this sort of problems would be a good idea... DevOps maybe?
    Your plan would never work. Although it would pay for itself in the long run via cost savings and productivity gains, it simply reeks of common sense, and no self-respecting management team would ever approve of that.
  • Pock Suppet (unregistered)

    It takes a lot of work, but it is possible to polish a TurdEditor.

  • Smug Unix User (unregistered)

    The solution is code reviews by programmers who have: enough experience to smell bad code not been lost to apathy are not willing to sacrifice quality

  • Krunt (unregistered)

    The real WTF is that this site finally posted a real WTF after weeks of over-dramatized dross.

    Also, don't you just know the original programmer is incredibly proud of his undocumented creation and all of the many "it can't be done!" hurdles it jumps?

  • (cs)

    And what was the bug that Joe was originally sent to fix?

  • FreeMarketFan (unregistered)

    This story made me sad, in a very good way. For the first time in weeks there was a WTF that was worthy of being on the site.

    Please, more of this and less of the other stuff

  • RFoxmich (unregistered) in reply to garrywong

    I forget. BTW we hired Joe when he got sick of dealing with that crap. Now he deals with our crap.

  • (cs)

    Turd? Hump? Mount? This story seems dirty...

  • eVil (unregistered) in reply to Krunt
    Krunt:
    The real WTF is that this site finally posted a real WTF after weeks of over-dramatized dross.

    TRWTF would be if anyone apparently complained that the quality got better. :oP

  • anonymous (unregistered) in reply to garrywong
    garrywong:
    And what was the bug that Joe was originally sent to fix?
    Random changes were being introduced on the production servers for no explainable reason?
  • camelotbob (unregistered)

    Wow this was a confusing story. Lots of story threads that weren't closed, was this written by somebody with bad adhd?

  • real-modo (unregistered)

    Ah, the double ssh with reverse HUP.

    Degree of dificulty: 4.5. This is an extremely challenging -d-i-v-e- WTF, to be attempted by only the most advanced WTFers.

  • C-Derb (unregistered) in reply to camelotbob
    camelotbob:
    Wow this was a confusing story. Lots of story threads that weren't closed, was this written by somebody with bad adhd?
    None of that matters. The whole point was to set up the very bad "flush the turd" joke.
  • eVil (unregistered) in reply to C-Derb
    C-Derb:
    None of that matters. The whole point was to set up the very bad "flush the turd" joke.

    That was a joke?

  • 30into (unregistered)

    Nice to see a proper WTF. Keep it up :-)

  • (cs)

    I worked in a shop where something like this rube goldberg system existed. On a scheduled basis, a master server would connect through PC-ANYWHERE to each server in a server farm (27 machines)and run a script; the script opened up a DOS window and ran a program which produced a set of reports, which were then sucked back to the master server. When that process was done, the collected reports were sent by FTP back to the main office and dropped in a folder on a reporting machine. The reporting machine monitored the folder for new files, and collected them up and loaded the data into a database. Then, the data was massaged/cleaned up. The reporting machine would then generate billing information for each client (there were hundreds) and send the bills out by email.

    Certainly there were better ways to do this; but there were reasons for doing it this way. Some of the machines in the "server farm" were actually not accessable from the internet -- they were in client's offices on private networks -- so the only way to connect was by modem (hence the use of pc anywhere).

    As in any system that grows organically, you layer the WTFs one layer at a time, because the lower layers, while WTFs, actually work.

  • (cs)

    Nice WTF without Ninjas or Hanzo.

    +1, would read again.

  • (cs) in reply to DrPepper
    DrPepper:
    I worked in a shop where something like this rube goldberg system existed.

    snip

    As in any system that grows organically, you layer the WTFs one layer at a time, because the lower layers, while WTFs, actually work.

    I can one up that. I not only worked in a shop where something like this existed. I know that over a period of 3 years I coded a big part of it myself.

    Tech changes. Sometimes faster than the programming staff can keep up. However, nothing is as bad as group thinking. Tech shops should be run by dictators. I don't care if it's bad as long as its consistent. Once you get several people making decisions that are at cross purpose you quickly end up with a metric ton of stinkiness.

    We had 300+ branch offices, each running their own little networks in the mid 90s. One app transferred PCL files using PC Anywhere to them which would be picked up and sent to a local printer. Later we found a better tool than PC Anywhere and managed to get it installed on half of them before priorities changed... ultimately we hired a "Communications" guy just to manage PC Anywhere and the other app; it was a high paid cush job and he milked it.

    A few months later we switched some of the other offices over to receiving zipped up MS Access and Clipper databases instead. To handle the disparate "database" types we had an app written in Delphi (best way to access Clipper DBF crap) that leveraged COM controls written VB (best way to open the MS Access stuff). The app let the local office make changes and submit back to the home office. Requiring another round of zipping and data transfer that resulted in PCL files being sent back to the local office for printing... Interestingly our biggest problem was simply the library used for zipping: about 10% of the zip files were corrupted and had to be rebuilt.

    Don't even get me started on how the many (many) 20+ person meetings came up with that solution. BTW the company had a staff of 10 programmers. 4 used Clipper, 1 used Delphi, 2 used VB and the other 3 were Cobol. There was a PowerBuilder guy at one point. They spent around $300k in licensing and training before dumping it. The main guy that was trained left for a job paying him 3 times his previous salary. Management didn't want to up developer pay and figured it was best to just put it in the corner.

    For data storage options we had MS SQL / Sybase, Oracle, DBF, MS Access and an AS/400.

    Adding further insult to the morass we put out a fax based app which received time sheets that would be OCR'd, hand corrected - because it was only 90% accurate, and sent back to the branch offices as PCL files for printing, physical signing, and faxing back to the home office... And yes, there is a story as to why they were faxed, OCR'd and sent back and forth a second time..again due to meetings with too many people involved.

    Those were just 2 of the "projects". There were many many more. Every dev was responsible for at least 3 different applications. Most of which had to communicate with each other on some level; all of which used radically different ways to do so.

    Fortunately requirements only changed weekly. Unfortunately IT had at least a 125% annual turn over rate; the average IT person stayed for 4 months. Programmers generally stayed longer than others. I was unusual in that I stayed for 3 years. When I left only the CTO had been there longer, and he left 2 months after me. After awhile in an environment like that you stop learning people's names: there's no point.

    I remember putting together their first website (and mine! [1995?]), complete with a spinning logo and a employee directory with everyone's direct dial numbers. It took one full week before the CEO told us to take the whole thing down. Apparently in that time a few headhunters had found the site and we had 10 people quit in the IT department alone. Not sure about the other divisions. ;)

  • (cs)

    [In this WTF, the part of snoofle is being played by a twelve year old.]

  • (cs) in reply to chubertdev
    chubertdev:
    [In this WTF, the part of snoofle is being played by a twelve year old.]
    Which part of snoofle?
  • slipstream (unregistered)

    so... the title.

    "This Direction, That Direction, Indirection, Indigestion"?

    how about "One Direction"???

  • Harrow (unregistered)

    See Google Maps at 42.307395,-71.155325 for an intersection where that sign might make sense.

    -Harrow.

  • The Management (unregistered) in reply to Smug Unix User
    Smug Unix User:
    The solution is code reviews by programmers who have: enough experience to smell bad code not been lost to apathy are not willing to sacrifice quality

    Code reviews are a waste of time and money. If you know what you are doing, you would do it right the first time. You are just being lazy and I am not going to pay for two people to do one person's job.

    Captcha: ingenium. It is like Kryptonite, but for managers.

  • (cs) in reply to eViLegion
    eViLegion:
    chubertdev:
    [In this WTF, the part of snoofle is being played by a twelve year old.]
    Which part of snoofle?

    thedailywtf editorial gland

  • (cs) in reply to The Management
    The Management:
    Smug Unix User:
    The solution is code reviews by programmers who have: enough experience to smell bad code not been lost to apathy are not willing to sacrifice quality

    Code reviews are a waste of time and money. If you know what you are doing, you would do it right the first time. You are just being lazy and I am not going to pay for two people to do one person's job.

    Captcha: ingenium. It is like Kryptonite, but for managers.

    Code reviews can make good developers better. But yeah, they won't do anything for bad developers.

  • (cs)

    I just realized this: how did you not make a "data dump" joke?!?!?!

  • Gazzonyx (unregistered)

    Java doesn't have callbacks. To get the functionality of a callback, your object needs to implement an interface and define all of the methods for that interface.

  • (cs)

    I once had an idea that has recurred from time to time, to hold a challenge game in my company. The idea was to build a Rube-Goldberg application that used as many technologies as possible to do some simple, stupid thing. Maybe something like: Click a button on a PC. Uses HTTP to access a web app that sets a flag in a database. Calls another web app that starts a transaction that submits a job that reads the flag and FTP's it to another server. And so on (you get the idea).

    Well, today, I read this DWTF, and I'm disappointed to find out that: Someone has already done that.

  • eViLSnack (unregistered)

    Yeah, they need a flush command. Especially for this SHITTY article.

  • (cs) in reply to snoofle
    snoofle:
    ubersoldat:
    Man, just imagine the amount of bad decisions made over this and to just let it seat there until the end of times. Also, that no one, even the guru, in such a long time never took the time on trying to fix this. Maybe this is why having a team free of business projects which can tackle this sort of problems would be a good idea... DevOps maybe?
    Your plan would never work. Although it would pay for itself in the long run via cost savings and productivity gains, it simply reeks of common sense, and no self-respecting management team would ever approve of that.
    Because there's no budget for it. If you can't charge your time to a specific project, you shouldn't be working on it.
  • Barf 4Eva (unregistered)

    I prefer PoopEditor.

  • (cs)
    Perhaps they also need to implement a system-wide flush.
    Yes. Down the toilet. And pray the damn thing doesn't persist between flush invocations.
  • Rich (unregistered) in reply to The Management
    Code reviews are a waste of time and money. If you know what you are doing, you would do it right the first time. You are just being lazy and I am not going to pay for two people to do one person's job.

    That's pretty much saying you'd never make a mistake. They happen.

    I read an article that stated the real thing it does is make you think about your own code. By forcing you to go to some blob of "this code does some stuff" to really having to explain it, you learn some.

    The scary thing, this sounds so much like my place, even down to the DOMAIN= and the mixed x86/sparc, I'm wondering if it is mine.

  • Gavin (unregistered)

    This is just an excellent application of a common design paradigm--loose coupling. Think of how modular everything is now!

    /s

  • np (unregistered) in reply to Rich
    Rich:
    The Management:
    Code reviews are a waste of time and money. If you know what you are doing, you would do it right the first time. You are just being lazy and I am not going to pay for two people to do one person's job.

    That's pretty much saying you'd never make a mistake. They happen.

    I read an article that stated the real thing it does is make you think about your own code. By forcing you to go to some blob of "this code does some stuff" to really having to explain it, you learn some.

    You are responding to someone going by the name of "The Management". You don't think that would be management's response to a request to have code reviews? Obviously this management is short-sighted and views only coding as working. Similar to: [url=http://thedailywtf.com/Articles/Effective-Immediately.aspx]

  • gmac (unregistered) in reply to clively

    Wow. send details so we can read it on WTF.

  • (cs)

    Code reviews are great. No issue with them. Learned a lot, caught a lot.

    Just wish my TFS server wasn't overseas being served by a 300 baud modem...

  • The learned (unregistered) in reply to dkf
    dkf:
    Dogsworth:
    This definitely could be made better by converting everything to and from XML during the process.
    Even doing it all with SOAP would hardly make it worse.

    Now that's a statement I thought I'd never make.

    I decided to write an API using SOAP once.... ...once.

  • (cs)

    I'm going to write a Fight Club sequel where Tyler Durden was actually authoring web services.

Leave a comment on “This Direction, That Direction, Indirection, Indigestion”

Log In or post as a guest

Replying to comment #:

« Return to Article