Comment On A Terminal Condition

In the late nineties, Eric started on his journey from being an engineer to being a programmer. [expand full text]
« PrevPage 1 | Page 2 | Page 3 | Page 4Next »

Re: A Terminal Condition

2010-05-13 09:06 • by 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?)

Re: A Terminal Condition

2010-05-13 09:06 • by KittyKat (unregistered)
So are they going to next embed an emulator of the actual machine to run the program?

Re: A Terminal Condition

2010-05-13 09:08 • by DOA
"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...

Re: A Terminal Condition

2010-05-13 09:09 • by AnOldHacker (unregistered)
This comment is obsolete

Re: A Terminal Condition

2010-05-13 09:11 • by ipeet
The picture is nearly the same as the icon for Konsole (KDE terminal emulator)

Re: A Terminal Condition

2010-05-13 09:13 • by Helix
308590 in reply to 308587
"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

Re: A Terminal Condition

2010-05-13 09:19 • by Jumble (unregistered)
Background colors? WTF?

Re: A Terminal Condition

2010-05-13 09:21 • by 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?

Re: A Terminal Condition

2010-05-13 09:21 • by Ian (unregistered)
308594 in reply to 308589
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...

Re: A Terminal Condition

2010-05-13 09:21 • by 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.

Re: A Terminal Condition

2010-05-13 09:22 • by DCRoss
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.

Re: A Terminal Condition

2010-05-13 09:24 • by 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?

Re: A Terminal Condition

2010-05-13 09:25 • by 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.

Re: A Terminal Condition

2010-05-13 09:29 • by Buddy (unregistered)
308599 in reply to 308592
Jumble:
Background colors? WTF?
Reminds me of the Astrocade/Bally Basic.

Re: A Terminal Condition

2010-05-13 09:31 • by Ike (unregistered)
308600 in reply to 308598
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.

Re: A Terminal Condition

2010-05-13 09:34 • by Broken Sarcasm Detector (unregistered)
308601 in reply to 308595
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?

Re: A Terminal Condition

2010-05-13 09:39 • by Neville Flynn (unregistered)
308602 in reply to 308594
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.

Re: A Terminal Condition

2010-05-13 09:43 • by EatenByAGrue (unregistered)
The real kicker is that no one even tried to make it run under, say, Cygwin or a VM of some kind.

Re: A Terminal Condition

2010-05-13 09:45 • by Jim (unregistered)
308604 in reply to 308601
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)

Re: A Terminal Condition

2010-05-13 09:45 • by 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!

Re: A Terminal Condition

2010-05-13 09:46 • by kpg (unregistered)
The legacy system has been re-purposed.

Re: A Terminal Condition

2010-05-13 09:46 • by Remy Porter
308607 in reply to 308601
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 <i>that</i> 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.

Re: A Terminal Condition

2010-05-13 09:50 • by java.lang.Chris;
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.

Re: A Terminal Condition

2010-05-13 09:51 • by Anonymous (unregistered)
308609 in reply to 308600
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.

Re: A Terminal Condition

2010-05-13 09:52 • by frits
This screams for a COTS solution. Like Thermo-Calc, for instance.

Re: A Terminal Condition

2010-05-13 09:57 • by JamesQMurphy
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.

Re: A Terminal Condition

2010-05-13 09:58 • by java.lang.Chris;
308613 in reply to 308601
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.

Re: A Terminal Condition

2010-05-13 09:58 • by RandomUser423689 (unregistered)
308614 in reply to 308600
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.

Re: A Terminal Condition

2010-05-13 10:01 • by Bub (unregistered)
This is a modestly amusing anecdote/war story, but doesn't really rise to a WTF....

Re: A Terminal Condition

2010-05-13 10:04 • by 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.

Re: A Terminal Condition

2010-05-13 10:05 • by Quirkafleeg (unregistered)
308618 in reply to 308594
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.

Re: A Terminal Condition

2010-05-13 10:21 • by ARMed but harmless (unregistered)
308619 in reply to 308588
AnOldHacker:
This comment is obsolete


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

Re: A Terminal Condition

2010-05-13 10:21 • by 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.

Re: A Terminal Condition

2010-05-13 10:23 • by mypalmike (unregistered)
FF0000th post!

Re: A Terminal Condition

2010-05-13 10:25 • by Anonymous (unregistered)
Using VB for scientific computing is like hiring a 3rd grader as a research assistant.

Re: A Terminal Condition

2010-05-13 10:28 • by re:me (unregistered)
308623 in reply to 308600
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.

Re: A Terminal Condition

2010-05-13 10:28 • by Raedwald
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.

Re: A Terminal Condition

2010-05-13 10:29 • by Anonymouse (unregistered)
308625 in reply to 308603
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.

Re: A Terminal Condition

2010-05-13 10:36 • by frits
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.

Re: A Terminal Condition

2010-05-13 10:37 • by zidar (unregistered)
308627 in reply to 308593
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!

Re: A Terminal Condition

2010-05-13 10:38 • by anon (unregistered)
308628 in reply to 308625
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.

Re: A Terminal Condition

2010-05-13 10:52 • by bannedfromcoding
308630 in reply to 308625
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...

Re: A Terminal Condition

2010-05-13 11:05 • by Anonymouse (unregistered)
308635 in reply to 308628
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...

Re: A Terminal Condition

2010-05-13 11:13 • by OldCoder (unregistered)
308636 in reply to 308607
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 <i>that</i> 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.

Re: A Terminal Condition

2010-05-13 11:18 • by boing boing (unregistered)
308638 in reply to 308609
787 maybe?

Re: A Terminal Condition

2010-05-13 11:19 • by SenTree
308639 in reply to 308609
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.

Re: A Terminal Condition

2010-05-13 11:20 • by Hired Gun (unregistered)
308640 in reply to 308622
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.

Re: A Terminal Condition

2010-05-13 11:29 • by Flurgle (unregistered)
308642 in reply to 308627
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...

Re: A Terminal Condition

2010-05-13 11:32 • by Adam (unregistered)
308643 in reply to 308640
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.

Re: A Terminal Condition

2010-05-13 11:35 • by Adam (unregistered)
308644 in reply to 308643
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.
« PrevPage 1 | Page 2 | Page 3 | Page 4Next »

Add Comment