• BBT (unregistered)

    Just to get them out of the way,

    TRWTF is Access. TRWTF is Visual Basic. TRWTF is Windows. TRWTF is senior citizens who are clearly senile still having jobs. (that's what Senior Engineer means, right?)

  • KittyKat (unregistered)

    So are they going to next embed an emulator of the actual machine to run the program?

  • (cs)

    "instead of storing the information in a variable, the values were stored in the background color of the form."

    Let me guess, the engineers who built it were the ones that routinely forgot to wear hardhats in construction areas. One too many dropped wrenches have hit them on the head over the years...

  • AnOldHacker (unregistered)

    This comment is obsolete

  • (cs)

    The picture is nearly the same as the icon for Konsole (KDE terminal emulator)

  • (cs) in reply to DOA

    "instead of storing the information in a variable, the values were stored in the background color of the form."

    A noval approach to save memory, please award this man charter engineer status

  • Jumble (unregistered)

    Background colors? WTF?

  • (cs)

    The engineers were just making the program memory efficient, back in those days memory was expensive. Why take up memory for a background color and a variable when you can use both to do the same thing?

  • Ian (unregistered) in reply to ipeet
    ipeet:
    The picture is nearly the same as the icon for Konsole (KDE terminal emulator)

    I'm willing to bet that was the whole idea...

  • Buddy (unregistered)

    When I saw the specs, I immediately thought to write an interface to access the application remotely. Glad to see they (eventually) came to the same conclusion. Hope they hide those HP-UX boxes somewhere safe and secure with a good UPS. Everyone's happy.

  • (cs)
    Now the only question remaining from upper management was how long it would be until the legacy version would be retired.

    That's easy enough. All you need is a little drywall, some paint and a few alterations to the floorplan.

    As long as nobody in upper management tries to reuse the UNIX room for anything else you can have that legacy application retired by the end of the week.

  • Anonymous (unregistered)

    Not really a WTF. Screwing up is not inherently a WTF, it would only become one if management forced them to use the new system or poured extra resources into trying to fix it. Instead they took the pragmatic route, dumped the prototype and figured out a workable solution using the software they already had. Sounds like reasonable management to me, not really a WTF.

    VB though, WTF?

  • Homer (unregistered)

    Back in the 90's, you didn't need to study computer science to write code. These were simpler and hopeful times where you could raise millions of dollars in investment capital just by prepending an ancient idea with the letter e. Code didn't need to be regression tested, or even show that it could perform its intended task in any way.

    The culmination of this philosophy, of course, came with Windows ME.

  • Buddy (unregistered) in reply to Jumble
    Jumble:
    Background colors? WTF?
    Reminds me of the Astrocade/Bally Basic.
  • Ike (unregistered) in reply to Homer
    Homer:
    Back in the 90's, you didn't need to study computer science to write code. These were simpler and hopeful times where you could raise millions of dollars in investment capital just by prepending an ancient idea with the letter e. Code didn't need to be regression tested, or even show that it could perform its intended task in any way.

    The culmination of this philosophy, of course, came with Windows ME.

    Thank goodness those days are over. Now, of course, only those who have passed a rigorous certification process are allowed to write code. The end result? Windows Vista.

  • Broken Sarcasm Detector (unregistered) in reply to Buddy
    Buddy:
    When I saw the specs, I immediately thought to write an interface to access the application remotely. Glad to see they (eventually) came to the same conclusion. Hope they hide those HP-UX boxes somewhere safe and secure with a good UPS. Everyone's happy.

    Let's have a vote:

    Who else endorses this solution?

  • Neville Flynn (unregistered) in reply to Ian
    Ian:
    ipeet:
    The picture is nearly the same as the icon for Konsole (KDE terminal emulator)

    I'm willing to bet that was the whole idea...

    It's the OS X Terminal icon.

  • EatenByAGrue (unregistered)

    The real kicker is that no one even tried to make it run under, say, Cygwin or a VM of some kind.

  • Jim (unregistered) in reply to Broken Sarcasm Detector
    Broken Sarcasm Detector:
    Buddy:
    When I saw the specs, I immediately thought to write an interface to access the application remotely. Glad to see they (eventually) came to the same conclusion. Hope they hide those HP-UX boxes somewhere safe and secure with a good UPS. Everyone's happy.

    Let's have a vote:

    Who else endorses this solution?

    It's a fine solution - putting some of the project money into updating the hardware, and making the old tool work on up-to-date UNIX would be a plus.

    Modern Solution: Virtual Machine running the same legacy program.

    If it ain't broke, don't fix it (especially with VB, Access and Background Colours)

  • Patrick (unregistered)

    This is great, now we can throw out the legacy version. We won't be needing this code anymore. Bye-bye old server. Wait, now the new one's not loading. Fix it! Fix it now!

  • kpg (unregistered)

    The legacy system has been re-purposed.

  • (cs) in reply to Broken Sarcasm Detector

    Given the constraints of budget and schedule, it's a serviceable solution.

    I presume the legacy application is written in C, so the "right" answer would have been to just take the C code and recompile it for Windows, which probably wouldn't have required all that much modification. Less work than coding a new one from scratch in VB.

    Even if it weren't in C, so long as it wasn't written in Assembly, it probably could have been ported with less effort than writing a VB version.

  • (cs)

    Sigh. Sounds a lot like the codebase at my previous employer. The had gone through a phase of hiring extremely bright people with experience in disciplines that only occasionally touched on programming. As a finance software house, they were able to lure such people with the promise of higher salaries than they could make in the more traditional engineering industries. The trouble was, the codebase went to shit, as these people were used to coding a lot of "throwaway" code in languages such as Perl. Transitioning to C and C++ meant a profusion of impressive hacks, as they lacked the time or inclination to learn the details of the languages or libraries.

  • Anonymous (unregistered) in reply to Ike
    Ike:
    Homer:
    Back in the 90's, you didn't need to study computer science to write code. These were simpler and hopeful times where you could raise millions of dollars in investment capital just by prepending an ancient idea with the letter e. Code didn't need to be regression tested, or even show that it could perform its intended task in any way.

    The culmination of this philosophy, of course, came with Windows ME.

    Thank goodness those days are over. Now, of course, only those who have passed a rigorous certification process are allowed to write code. The end result? Windows Vista.
    Er, right... I'm in safety critical so I'm rigorously certified in... well... you know what, I write flight control systems and I have absolutely no certifications of any kind. Sure I have a CS degree but that's pretty much all theory - I certainly don't have any certifications to prove that I can actually put it into practice. Anyway, enjoy your next plane journey.

  • (cs)

    This screams for a COTS solution. Like Thermo-Calc, for instance.

  • (cs)

    Sadly, this is typical of many (not all) chemical engineers who attempt to write code. I speak as an ex-chemical engineer, and I used to do horrible stuff like this. Thankfully, I had many computer science friends who steered me correctly, and I did a lot of reading.

    When I finally landed my first real developer job at a chemical company (in the IT department), our group was charged with converting these hacked-together types of engineering calculation programs into solutions that were actually usable. Don't get me wrong: the engineers were smart folks and were very good at the calculations. They just weren't software designers.

    One example of something we had to fix: At times, the software needed a Yes or No answer from the user. Rather than put up a MessageBox with Yes and No buttons, they put up an input box and required the user to type either a Y or an N. In capitals. And anything else crashed the program.

  • (cs) in reply to Broken Sarcasm Detector
    Broken Sarcasm Detector:
    Buddy:
    When I saw the specs, I immediately thought to write an interface to access the application remotely. Glad to see they (eventually) came to the same conclusion. Hope they hide those HP-UX boxes somewhere safe and secure with a good UPS. Everyone's happy.

    Let's have a vote:

    Who else endorses this solution?

    Me. They could have still done something "enterprisey" without creating a total WTF, by adding an RPC layer on top of the old application, and having a lightweight front end communicating with it from the engineers' desktop machines.

  • RandomUser423689 (unregistered) in reply to Ike
    Homer:
    Back in the 90's, you didn't need to study computer science to write code. These were simpler and hopeful times where you could raise millions of dollars in investment capital just by prepending an ancient idea with the letter e. Code didn't need to be regression tested, or even show that it could perform its intended task in any way.

    The culmination of this philosophy, of course, came with Windows ME.

    Ike:
    Thank goodness those days are over. Now, of course, only those who have passed a rigorous certification process are allowed to write code. The end result? Windows Vista.
    Sadly, those days will never be over (as I'm sure you know, noting the sarcasm). Economic factors will always push large amounts of work with as low a barrier to entry as "coding", onto the untrained and the self-taught. The only (obvious) thing that might stop it would be wide-spread unionization of such work, but all I can say is, "good luck with that." An old discussion for the regulars here, but I figured I'd mention it for the passers-by.

  • Bub (unregistered)

    This is a modestly amusing anecdote/war story, but doesn't really rise to a WTF....

  • Anon (unregistered)

    I inherited a program that my company had hired an outside company to produce. They wrote the whole think in VB (but at least it was VB.Net, but I don't think they changed any of their old habits when they moved from plain VB to VB.Net). One of the shocking things I discovered while vainly attempting to improve it was that they stored a bunch of settings in the registry, but the strings they used for the keys in the registry where read from labels on one of the forms. Change one of the labels and you break the program because it can't find the right registry key anymore! Needless to say, we never used them again.

  • Quirkafleeg (unregistered) in reply to Ian
    Ian:
    ipeet:
    The picture is nearly the same as the icon for Konsole (KDE terminal emulator)
    I'm willing to bet that was the whole idea...
    I think that either it's a (default) shell command continuation prompt, which makes some sense (continue on with the HP-UX boxes), or it's a BBC BASIC command prompt.

    Now, why nobody thought to use telnet earlier, say about when manglement decided that rewriting for Windows was the Way Forward… there's the real failure. Still, as I'm sure that we all agree, at least they got there in the end.

  • ARMed but harmless (unregistered) in reply to AnOldHacker
    AnOldHacker:
    This comment is obsolete

    No, comment #308591 is obsolete, as it doesn't meet the high standard set by e.g. #308611

  • Bruce W (unregistered)

    Great side effect of the background color variable -- you know the program is about to crash when it starts cycling through all of the colors of the rainbow.

  • mypalmike (unregistered)

    FF0000th post!

  • Anonymous (unregistered)

    Using VB for scientific computing is like hiring a 3rd grader as a research assistant.

  • re:me (unregistered) in reply to Ike
    Ike:
    Homer:
    Back in the 90's, you didn't need to study computer science to write code. These were simpler and hopeful times where you could raise millions of dollars in investment capital just by prepending an ancient idea with the letter e. Code didn't need to be regression tested, or even show that it could perform its intended task in any way.

    The culmination of this philosophy, of course, came with Windows ME.

    Thank goodness those days are over. Now, of course, only those who have passed a rigorous certification process are allowed to write code. The end result? Windows Vista.

    Yeah, now their only in management positions and making decisions based on what they "know" from their programming days.

  • (cs)
    senior engineers... their skills didn't translate into in the realm of computer science
    QFT. I've been in a 10 person development team in which I was the only member without a PhD. And the only member who had ever read a book on software engineering. Or had programmed in other than FORTRAN-77. It was a WTF-generator.
  • Anonymouse (unregistered) in reply to EatenByAGrue
    EatenByAGrue:
    The real kicker is that no one even tried to make it run under, say, Cygwin or a VM of some kind.

    The article makes it seem like that this was from the early to mid 90's. Emulation and virtualization technologies were pretty immature then.

    Even a straight-up port of the code from HP-UX to CLI Windows would have been a pain, especially if the legacy code was K&R C and curses based.

  • (cs)

    In the engineers' defense, the background color hack was ported from the original application, which used the background color of the console to store heat exchanger IDs. This, of course, was a several-order-of-magnitude improvement in storage space.

  • zidar (unregistered) in reply to Yaos
    Yaos:
    The engineers were just making the program memory efficient, back in those days memory was expensive. Why take up memory for a background color and a variable when you can use both to do the same thing?
    Yea, just think of how much memory would be saved if all variables were saved like that. Each var being one pixel, and the color would be its value.

    That would make for some really pretty programs and easy debugging!

  • anon (unregistered) in reply to Anonymouse
    Anonymouse:
    The article makes it seem like that this was from the early to mid 90's.

    actually, the article makes it quite clear that it was the LATE 90's in the very first sentence. point's still mostly valid though. cygwin was around, but not mature or usable enough for something like this (hell, it's still not), and virtualization was pretty much non existent.

  • (cs) in reply to Anonymouse
    Anonymouse:
    EatenByAGrue:
    The real kicker is that no one even tried to make it run under, say, Cygwin or a VM of some kind.

    The article makes it seem like that this was from the early to mid 90's. Emulation and virtualization technologies were pretty immature then.

    Even a straight-up port of the code from HP-UX to CLI Windows would have been a pain, especially if the legacy code was K&R C and curses based.

    Not to mention C/Fortran constructs that exploited some specific quirks of HPPA architecture...

  • Anonymouse (unregistered) in reply to anon
    anon:
    Anonymouse:
    The article makes it seem like that this was from the early to mid 90's.

    actually, the article makes it quite clear that it was the LATE 90's in the very first sentence.

    BURN! In my defense, I didn't think reading comprehension was a requirement for commenting on article here...

  • OldCoder (unregistered) in reply to Remy Porter
    Remy Porter:
    Given the constraints of budget and schedule, it's a serviceable solution.

    I presume the legacy application is written in C, so the "right" answer would have been to just take the C code and recompile it for Windows, which probably wouldn't have required all that much modification. Less work than coding a new one from scratch in VB.

    Even if it weren't in C, so long as it wasn't written in Assembly, it probably could have been ported with less effort than writing a VB version.

    These people are engineers. The legacy system was almost certainly written in Fortran.

  • boing boing (unregistered) in reply to Anonymous

    787 maybe?

  • (cs) in reply to Anonymous
    Anonymous:
    Er, right... I'm in safety critical so I'm rigorously certified in... well... you know what, I write flight control systems and I have absolutely no certifications of any kind. Sure I have a CS degree but that's pretty much all theory - I certainly don't have any certifications to prove that I can actually put it into practice. Anyway, enjoy your next plane journey.
    DO-178B or equivalent ? If not, name of company so I can never set foot on their aircraft !

    [Edit] Hah! Just noticed the previous comment which beat me to it.

  • Hired Gun (unregistered) in reply to Anonymous
    Anonymous:
    Using VB for scientific computing is like hiring a 3rd grader as a research assistant.

    Oh, come on. Do you REALLY think that the language an application is written in makes any difference?

    Yes, there were a lot of things that couldn't be done in VB that were available in C, but that doesn't invalidate VB as a platform. My motorcycle can't pull my boat, but my truck can. That doesn't invalidate my motorcycle as a method of transportation, does it?

    Here are the criteria for choosing a language to develop a project in:

    1. Does the customer's existing hardware support the platform, or are they willing to purchase the necessary hardware?

    2. Is the language anticipated to be supported for the duration of the program's life cycle?

    3. Does the language include all the functions necessary to meet the requirements of the application and the customer's security/distribution requirements?

    4. Is there a supply of programming talent sufficiently proficient in the language available to the customer to maintain the project for the duration of the program's life cycle?

    If your choice meets those requirements, then it's a valid choice.

    If you give a master carpenter a job to do, he may prefer his DeWalt tools over the Ryobi, but he can still do every bit as good a job with the Ryobi tools.

    Enough of this prima-donna "My language is better than yours" crap. We're supposed to be programmers, not evangelists. Anyone who knows what they're doing in programming should be able to function in anything from Q-BASIC to assembly, if given time to learn the syntax.

    Programming is about problem solving. If you can't think critically and solve problems, then you can't program. If you can solve problems, then the language doesn't mean squat as long as you learn it.

  • Flurgle (unregistered) in reply to zidar
    zidar:
    Yaos:
    The engineers were just making the program memory efficient, back in those days memory was expensive. Why take up memory for a background color and a variable when you can use both to do the same thing?
    Yea, just think of how much memory would be saved if all variables were saved like that. Each var being one pixel, and the color would be its value.

    That would make for some really pretty programs and easy debugging!

    Especially on embedded devices with no filesystem...

    These days they'd just use XML anyway...

  • Adam (unregistered) in reply to Hired Gun
    Hired Gun:

    My motorcycle can't pull my boat, but my truck can. That doesn't invalidate my motorcycle as a method of transportation, does it?

    It invalidates your motorcycle from effectively pulling the boat, but you can still try.

    The way I see it: C is the truck, VB is the motorcycle, scientific programming is the boat.

  • Adam (unregistered) in reply to Adam
    Adam:
    Hired Gun:

    My motorcycle can't pull my boat, but my truck can. That doesn't invalidate my motorcycle as a method of transportation, does it?

    It invalidates your motorcycle from effectively pulling the boat, but you can still try.

    The way I see it: C is the truck, VB is the motorcycle, scientific programming is the boat.

    Or, with more granularity, "scientific" is the boat, "programming" is the need for transportation.

Leave a comment on “A Terminal Condition”

Log In or post as a guest

Replying to comment #:

« Return to Article