- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
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?)
Admin
So are they going to next embed an emulator of the actual machine to run the program?
Admin
"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...
Admin
This comment is obsolete
Admin
The picture is nearly the same as the icon for Konsole (KDE terminal emulator)
Admin
"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
Admin
Background colors? WTF?
Admin
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?
Admin
I'm willing to bet that was the whole idea...
Admin
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.
Admin
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.
Admin
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?
Admin
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.
Admin
Admin
Admin
Let's have a vote:
Who else endorses this solution?
Admin
It's the OS X Terminal icon.
Admin
The real kicker is that no one even tried to make it run under, say, Cygwin or a VM of some kind.
Admin
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)
Admin
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!
Admin
The legacy system has been re-purposed.
Admin
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.
Admin
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.
Admin
Admin
This screams for a COTS solution. Like Thermo-Calc, for instance.
Admin
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.
Admin
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.
Admin
Admin
This is a modestly amusing anecdote/war story, but doesn't really rise to a WTF....
Admin
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.
Admin
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.
Admin
No, comment #308591 is obsolete, as it doesn't meet the high standard set by e.g. #308611
Admin
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.
Admin
FF0000th post!
Admin
Using VB for scientific computing is like hiring a 3rd grader as a research assistant.
Admin
Yeah, now their only in management positions and making decisions based on what they "know" from their programming days.
Admin
Admin
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.
Admin
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.
Admin
That would make for some really pretty programs and easy debugging!
Admin
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.
Admin
Not to mention C/Fortran constructs that exploited some specific quirks of HPPA architecture...
Admin
BURN! In my defense, I didn't think reading comprehension was a requirement for commenting on article here...
Admin
Admin
787 maybe?
Admin
[Edit] Hah! Just noticed the previous comment which beat me to it.
Admin
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:
Does the customer's existing hardware support the platform, or are they willing to purchase the necessary hardware?
Is the language anticipated to be supported for the duration of the program's life cycle?
Does the language include all the functions necessary to meet the requirements of the application and the customer's security/distribution requirements?
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.
Admin
These days they'd just use XML anyway...
Admin
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.
Admin
Or, with more granularity, "scientific" is the boat, "programming" is the need for transportation.