News: 1600672514

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

We don't need maintenance this often, surely? Pull it. Oh dear, the system's down

(2020/09/21)


Who, Me? It is Monday, and time to stare glumly at the week of patching that lies ahead. Pause a while before hitting that update button with a cautionary tale from [1]Who, Me? about support contracts and a naughty, naughty programmer.

Our story takes place in the mid-1980s when a reader Regomised as "Chris" was toiling away at an anonymous manufacturing company that ran its payroll system on a Burroughs minicomputer.

The venerable Burroughs brand was quite the force to be reckoned with back in the day, first producing adding machines before making the move into computers during the 20th century. Quite the fan of ALGOL, Burroughs was eventually subsumed into Unisys as part of a merger with UNIVAC in the latter part of the 1980s.

As for the source of the application in use, Chris explained: "The software was purchased from a guy who supplied several companies with payroll and accounting systems.

Typical '80s IT: Good idea leads to additional duties, without extra training or pay, and a nuked payroll system [2]READ MORE

"Every 30 days or so we would receive a tape from the programmer with software updates." How very diligent.

Each update was accompanied by a note from the programmer along the lines of "I noticed that in certain circumstances an error would occur..." and a little story about the fix. Compared to the guesswork required to figure out exactly what has changed in the modern-day multi-gigabyte updates slung out by the likes of Microsoft, it all sounds positively delightful.

Naturally, Chris's company paid handsomely for such a thoughtful and charming service.

Sadly, however, a bean-counting bigwig questioned the regular payments and the company decided to call a halt to the maintenance contract.

"And, of course," said Chris, "the updates stopped."

Then things took a surprising lurch for the worse.

"Thirty days later," Chris told us, "the software stopped working and displayed a cryptic message that said 'binary comp failure'.

"The programmer was consulted and he said that he wouldn't look into the issue since we no longer paid for maintenance."

Chris's team tried to restart the Burroughs and reload the software. No joy. Payroll and accounts processing was at a standstill because of that pesky error.

Faced with the prospect of having to pay for a fix, the systems manager (who sounds a suspicious soul) pondered what would happen if the clock was set back a day, to when things were working.

"It worked!" exclaimed Chris. Roll back a day, and it worked. Let the clock tick over, and it failed. Perhaps there was some sort of proto Y2K issue at play?

The company hired another consultant to look at the code. The problem, it transpired, wasn't an innocent overflow, or date-handling funny.

The issue was that the code actually checked that an update had been applied and vomited up an error if not.

"All those updates," said Chris, "really were a way to force us to pay for maintenance."

Naughty. Very, very naughty.

"After a lot of back and forth with the very recalcitrant programmer," Chris explained, "we ended up in court along with two or three other customers of his.

"We won a fairly large settlement and the programmer went out of business."

A programmer happy to drop bombs into code that can only be defused by paying for maintenance? Makes you wonder which tech giant they would have ended up at.

None of them, of course.

Ever caught someone in a nefarious act or, worse, have you dropped something ticking into the source? Confess all, with your anonymity protected by the Regomiser, with an email to [3]Who, Me? ®

Get our [4]Tech Resources



[1] https://www.theregister.com/Tag/who-me

[2] https://www.theregister.com/2020/09/14/who_me/

[3] mailto:whome@theregister.com

[4] https://whitepapers.theregister.com/

Depends

Doctor Evil

Do Easter eggs (innocuous ones) tick?

An ex employer did that too.

Anonymous Coward

An employer I used to work for shall remain nameless in the hopes that the shame might eventually die.

I am not now nor have ever been a programmer, but the gent in the cubicle next to me was. I'd hear him bitching & moaning about this or that, grumbling how managers would demand conflicting goals to other managers, and all manner of "Why can't they leave me alone long enough to do my fuckin' job?" style complaints.

One manager gave him a set of goals that had the program he was writing so that it would give the output one way, but then another manager would give him more requirements that couldn't be resolved with the first set. He'd talk to his immediate manager, that person would then give him a third set of mutually-exclusive goals, and he'd be up shit creek with at least two managers no matter which set he went with.

He finally figured out how to satisfy all of them by simply requiring the user to log in with their employee ID in order to run it at all. Depending on whom was logged in at the time, that determined which set of codes to use & which to ignore. All well & good, right?

Nope. One manager went to another to crow "Ha ha, he did it my way!" only to find that other manager happily using the software & obviously NOT in the first manager's screens. The bickering attracted the attention of the third, the three compared notes, & my friend was cornered by the trio to demand to know WTF.

My friend showed them all the emails proving that all three had given him mutually exclusive goals, that when he tried to complain he was told to "make it so" as if he were a damned StarTrek engineer, and the paper trail proving that there was no way to legitimately deliver all three sets. So he wrote the code in three separate ways, one each to satisfy each of the bastards. Which should have satisfied them, right?

No. They had an argument standing in his cube about which set would remain & which ones would get the axe. Never mind that all three managers thought themselves better than the other two, never mind that my friend was stuck in limbo (getting paid by the hour) to sit there & twiddle his thumbs while they shouted at each other, & never bloody mind that the software was now over a month late because of said idiotic wanker waving.

My friend had the editor open & sat idly typing away during the argument. I asked if he was having fun. He smirked & showed me that he was transcribing their argument into the code of the software.

When the three went away to consult a fourth, my friend saved the changes & rewrote the three sets into a single "best of" set that could handle all the things the *customer* would need, but essentially ignored what the three shouters demanded. And THAT version was what the Senior VP approved & told my friend to ship...

I was there when one of our customers called to talk to my friend & was laughing so hard it sounded like they were choking on their own tongue. Why? Because they had read the transcription my friend had forgotten to excize from the code.

My friend took his vacation shortly after that call ended, so I have no idea what happened to the shouty managers & no idea what the temp coder that was tasked to deal with the "patch" thought of what or why he was patching.

I'm kind of glad I'm not a coder. I'd be too tempted to leave a fully charged Shocky Stick in a desk drawer for LART'ing anyone that annoyed me... But then, it's a good thing I'm retired so I don't have to deal with those blighted sacks of stupidity anymore.

*Happy sigh*

Re: An ex employer did that too.

KittenHuffer

To misquote Nathan Hale - I regret that I have but one 'up' to give!

Re: An ex employer did that too.

Doctor Syntax

Had a similar experience at a client where two directors had one of their stand-up rows in the main office in front of their staff and several of us freelancers* about which way the application should make up production batches. This wasn't resolved.

A colleague wrote a work of art solution where every possible parameter affecting batching was held in the database with a big data-entry form so the operators could set it up in whatever way they were told. We set up some reasonable looking values before it went live and as far as I know they were never changed.

* Obviously their frequent toys out of the pram events were one of the facets of face-to-face communication, team integration & what-not that you miss when everyone's working from home.

Re: An ex employer did that too.

Aladdin Sane

"forgotten"

Re: An ex employer did that too.

Anonymous Coward

"Why can't they leave me alone long enough to do my fuckin' job?" style complaints

My sentiments exactly...

Re: An ex employer did that too.

big_D

A case for the BOFH, 3 rolls of carpet, quicklime and a building site doing a pour with lax security...

Isn't that called "Software as a Service these days"?

Anonymous Coward

Sounds like he just needed to license it differently!

gobaskof

Bold move for a time when the source was always available. You might get away with it in the time where everything is a shipped as a binary. Of course now there are plenty of business models for rent-seeking.

jake

Yes, the source was often still available for that kind of thing in the 1980s. The only problem was that companies using code like this rarely had anyone on the staff who could read it.

Doctor Syntax

"rarely had anyone on the staff who could read it"

OTOH it could be quite handy for the vendor if the customer had someone available to debug the code. After having had two Friday lunchtimes interrupted when the weekly billing run exploded I spent an afternoon drilling down and found, buried several loops deep, a statement asking the server to allocate an object which wasn't released so the server process grew until it reached its maximum memory allocation. Followed by a phone call - not the last - to the vendor to tell them how to write software for that particular RDBMS.

Financial software - Money extraction

Barking House

It's the mid 1990's and I have a customer using financial software for their payroll on a Unix system from a company that was selling their solution based on how cheap it was. The issue was not only was it cheap but also not very good. A major release was coming and my customer had invested heavily in getting the new release up and running and was literally banking on some of the new functionality. The new release is made available and the software vendor states that they will install for a small (Ah hem) premium, the price was astronomical and the customer said no - So the customer application team (1 guy) was tasked with the install and it did not go well, it seemed looking at what he had done to be very complex and he hit a wall on a strange error. We were asked to take a look, it was a very convoluted install and to be honest we could not make sense of it. So one of our coding guru's took a look and wrote a script to install the software, it worked ! It seemed to us the software company had a plan to extract a handsome premium for install services by having a stupidly complicated install instructions if customers attempted themselves. The software company was acquired by an outsourcing operation in the early 2000's, so I expect their legacy is no doubt thriving ..........

Re: Financial software - Money extraction

ICPurvis47

When we had a Xerox Desktop Publishing system installed at the engineering company where I worked, the installer came with a huge box of 5¼ floppies to install and configure the software. We were given a list of what functions were available, and the cost of having each one installed, and we picked what we thought would be needed and were billed accordingly.

Some time later, we decided that we needed a couple of extra functions, so a maintenance engineer came along and logged in, ticked the relevant boxes on the installation list, and logged out. I asked how this was possible, to be told that all the necessary software was actually already installed, it just needed a tick in the right box to activate it. We were then billed both for the extra functionality and the installation thereof.

About a year later, I needed another function to be switched on, so I tried to log in using the original password, but it had expired. After quite a bit of cogitation, I realised that, if I were to disconnect my workstation from the server and reset the date to the previous year, the old password would let me in, I could switch on whatever I liked, and then reset the date to the correct year and reconnect to the server.

Over the next couple of years I switched on nearly all of the functions on my particular workstation, and no-one was any the wiser.

Re: Financial software - Money extraction

Antron Argaiv

Back in "the day", when I was but a young nipper in the 12th year of my school career, I had a job in the "unit record office" at the school. This involved helping the professional who worked there, while picking up useful tidbits of knowledge about antiquated IBM machinery and earning a bit of cash.

The big machine in the office was an IBM 402 Accounting Machine. A large electric motor, many mechanical tidbits, anaconda-sized cables wrapped in laced cloth, and a hinged rear panel that opened to reveal two very large panels of relays. Programmed by pushing colored wires into a large, perforated, Bakelite panel.

One day, when the amount of work was greater than the allotted time in which to accomplish it, the professional opened up the back of the machine and pulled out a relay. The machine instantly went into "high gear", printing twice as fast. He explained to me that this wasn't to be done lightly, as it created more stress on the machine's mechanical innards, but that it was OK to do (but never when the IBM guy was around) as there was another version of this machine, built somewhat sturdier, that rented for twice as much per month, in which this relay was intentionally absent.

'Twas ever thus...

Sequin

I was once asked to look at some software a police department had brought in to log staff absences, which had stopped saving new records. The people who wrote it said that it would take them weeks to fix, at a cost of ~£5k.

It was written in MSAccess, which I knew very well and made myself seem a genius by cofidently predicting that the main table would contain 32,767 records, which turned out to be spot on.

Changing the ID column definition from short integer to long integer took me all of 5 seconds and the system miraculously started working again. I asked if I could have a bonus of 50% of what the supplier had quoted, but they just laughed!

Martin

Too greedy. If you'd asked for 5% you might have got it !

When I see an obvious one like that ...

jake

... I tell 'em that the first fix is free, but my standard consulting rates apply after that. I still have clients from 40 years ago that I acquired like this.

The people who wrote it said that it would take them weeks to fix, at a cost of ~£5k

Terry 6

Is this how the industry works then?

You sell a duff product and demand loads of cash to make it do what it should have done anyway. That being said, even bloody Microsoft send out fixes each month. Free.

Re: The people who wrote it said that it would take them weeks to fix, at a cost of ~£5k

Aitor 1

As far as I know, that has always been tje business model.

Look t car manufacturers: they essentially charge you to fix their design and manufacturing shortcomings.

Re: The people who wrote it said that it would take them weeks to fix, at a cost of ~£5k

Antron Argaiv

Car manufacturers are living proof of the saying: "There's never enough time to do it right, but there's always enough time to do it over"

Only industry in which they strive to produce a product every year, and strive with the same intensity to make different errors every year.

VW, Volvo, and Toyota had it right: build it, then rebuild the same design, minus the mistakes, the next year.

Re: The people who wrote it said that it would take them weeks to fix, at a cost of ~£5k

Snapper

I doubt it's 'Free'.

It's worked into the price somehow.

Re: The people who wrote it said that it would take them weeks to fix, at a cost of ~£5k

Anonymous Coward

How do you know there are fixes and not 'let's check if this sucker had paid his share and throw an error if not"?. Did you check the source code and the compiled binary against the code?

Also works for hardware

Andy Taylor

Back in the dim and distant past when I was supporting CD-ROM networking, we found 13 month hardware timers for sale. For a brief moment we were tempted to fit them into our hardware to ensure future revenue, but quickly realised how suspicious it would look if all our hardware failed after almost exactly 13 months.

I believe these timers were designed for use in industrial equipment to automatically power off if no one had been inside to reset them.

Re: Also works for hardware

tip pc

CD-ROM networking?

Where they those towers of CD-ROM drives or something else?

Re: Also works for hardware

Empty1

Where the network topography consists of the postman or courier.

Re: Also works for hardware

Andy Taylor

Yes, initially multiple drives in a tower, usually 7 because SCSI. Later systems copied the disc contents onto hard drive for faster retrieval times.

Re: Also works for hardware

MarkET

Quite common in 'certified' test equipment to have service periods enforced by either firmware or the hardware itself.

=== ALL USERS PLEASE NOTE ========================

Compiler optimizations have been made to macro expand LET into a WITHOUT-
INTERRUPTS special form so that it can PUSH things into a stack in the
LET-OPTIMIZATION area, SETQ the variables and then POP them back when it's
done. Don't worry about this unless you use multiprocessing.
Note that LET *could* have been defined by:

(LET ((LET '`(LET ((LET ',LET))
,LET)))
`(LET ((LET ',LET))
,LET))

This is believed to speed up execution by as much as a factor of 1.01 or
3.50 depending on whether you believe our friendly marketing representatives.
This code was written by a new programmer here (we snatched him away from
Itty Bitti Machines where he was writing COUGHBOL code) so to give him
confidence we trusted his vows of "it works pretty well" and installed it.