News: 1679646431

  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)

Errors logged as 'nut loose on the keyboard' were – ahem – not a hardware problem

(2023/03/24)


On Call Welcome once again, dear reader, to On-Call, The Register 's Friday feature in which we share readers' tales of being asked to address avoidable annoyances.

This week, meet a reader we'll Regomize as "Tom" who once worked as the sysadmin supporting a large software development team.

"We had an in-house developed problem ticket system written in Perl 4," Tom told On-Call. "It worked, we were familiar with it and we liked it."

[1]

But Tom's boss "really wanted a commercial product."

[2]

[3]

A little probing by Tom revealed that what he actually wanted was a dashboard that would pump out statistics he could use in monthly reports.

The in-house system lacked such a feature – but the chap who wrote it had a background in statistics so was put to work building a system that would email useful data to the boss.

[4]

The team quickly decided that basic statistics like the number of tickets opened and closed was the sort of thing the boss needed. Then they got creative – they started to look for odd correlations they thought the boss might appreciate.

Tom described one of them as "really weird."

"We had five developers named 'Bob' on the team and there was a very high correlation between developers with that name and errors that we tagged as a hardware problem but were really caused by a 'nut loose on keyboard'." Tom suggested another name for such errors is a Reg favorite: PEBCAK, or Problem Exists Between Chair And Keyboard.

[5]

Whatever you call them, coders named Bob raised 80 percent of the tickets, and 80 percent of the code clangers were written by Bobs.

Tom and his colleagues therefore started tracking what they called "The Bob rating" and very much enjoyed tracking it.

[6]Techie fired for inventing an acronym – and accidentally applying it to the boss

[7]Duelling techies debugged printer by testing the strength of electric shocks

[8]Service desk tech saved consultancy Capita from VPN meltdown, got a smack for it

[9]What's up with IT, Doc? Rabbit hole reveals cause of outage

Eventually the team hired a new lead developer – whose name was not Bob.

But he logged tickets like a Bob. "He started logging PEBCAK after PEBCAK," Tom recalled. "The entire team of admins was really disappointed because it was ruining our Bob numbers."

After what Tom described as a "discussion that took place over a 'business' lunch" a decision was taken to rename the lead developer "Bob" in the ticketing system.

"He wouldn't know, but it would restore the balance in the universe," Tom reasoned.

The scheme came undone when, at a team meeting, a trouble ticket written by "Bob" was discussed and the lead developer recognized it as his own work.

"Two weeks later we installed Remedy" – the commercial trouble ticket system now owned by BMC.

Have you concocted strange statistics to track your IT shop? If so, [10]click here to email your story to On-Call and we may put your tale the front of the queue on a future Friday. ®

Get our [11]Tech Resources



[1] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2ZB2C1qw6KKisGDIVn7cwswAAAIc&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZB2C1qw6KKisGDIVn7cwswAAAIc&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZB2C1qw6KKisGDIVn7cwswAAAIc&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZB2C1qw6KKisGDIVn7cwswAAAIc&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZB2C1qw6KKisGDIVn7cwswAAAIc&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[6] https://www.theregister.com/2023/03/17/on_call/

[7] https://www.theregister.com/2023/03/10/on_call/

[8] https://www.theregister.com/2023/03/03/on_call/

[9] https://www.theregister.com/2023/02/10/on_call/

[10] mailto:onall@theregister.com

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



Aaaaargh!

KittenHuffer

I hate METRICS!

So often I have seen metrics being introduced to improve the performance of a job/team/group/whatever! But all that happens is that people stop doing the job and start working the metrics!

Otherwise know as...

Mishak

[1]Goodhart's Law

[1] https://en.wikipedia.org/wiki/Goodhart%27s_law

I see this a lot

Mishak

Safety-related projects often have a requirement to achieve 100% code coverage. I've seen some where automation is used to generate the test vectors, and they are blindly accepted without verifying that the results are actually correct ("but we've got 100% coverage") - all that has been proven is that the code works as it has been written, not that it works correctly.

Re: I see this a lot

Korev

I was on a major cross-organisation project. The company doing the AWS side of things assured us that the tests for their stuff all passed.

One day I thought I'd look and see what they did... terraform validate

Re: Aaaaargh!

lglethal

Are you implying that tying people's salary to a specific performance metric, might see people focusing on that metric rather than the actual Job at hand? Surely not!?! Who would do such a thing?

*cough*Everyone!*cough*

Re: Aaaaargh!

sanmigueelbeer

Every technical service manager loves metrics. Metrics is how their yearly bonus is calculated.

There is this multi-billion dollar, American company that introduced a metric which measures how long each ticket is sitting in "Waiting for Customer", "Waiting for the Tech", etc. To the eyes of the VP for Operations, "Waiting for Tech" is really bad (for the company) because it would make it look like the tickets are not being looked after. So the challenge was handed down to the technical support managers to bring those minutes down.

One ingenious way was for the tech handling the case to send an email to the customer. Internal system will immediately flag the status of the case to "Waiting for Customer". Another method is to send RFI emails when it is night time (for the customer) or approaching beer-o-clock on a Friday. No matter how good the information the customer have provided, the tech agents always will always find a way to send the case into Waiting for Customer.

At the end of the day, all the executives got their bonuses at the cost of customers' experience.

Re: Aaaaargh!

Anonymous Coward

"At the end of the day, all the executives got their bonuses at the cost of customers' experience."

Indeed, some years ago, the Veritas basic support was absolutely useless, pushing every customer to buy premium which was the only one being useful.

The basic one had a very particular way to make sure everything stayed in customer info wanted:

1- ask logs X

2- ask logs Y

3- reply some gibberish and request some more logs

4- go to step 1

How can you beat that ? We went nuts about this ... They were simply bots coding a loop.

Re: Aaaaargh!

Ian Bush

Please see the British education system

Re: Aaaaargh!

Julian 8

At one company, I wrote a dashboard that showed time by engineer. Everyone soon got hold of it and just fiddled the missing time.

Another, the bosses loved to see ticket stats. Some of us had low stats as we got the "stinkers" that no one else would cover. One person used to get really high ratings for one simple reason. The company had ancient old print servers - lots of them, and they would frequently fail, so a lot of tickets would come in very quickly. They'd grab them and then reboot the server and close the tickets. Overall time, around 10 minutes, number of ticket - almost a days work.

They hated it when I got rid of all of the old print servers and put a freshly commissioned cluster (repurposed old kit), just for printing. No more print calls after that.

Re: Aaaaargh!

Anonymous Coward

We had problems getting kits to the shop floor due to component shortages. The bottleneck was in goods Inwards and inspection so they were given some "help" and part of the "solution" was a huge metrics board showing their processing rates against targets. Sure enough, the metrics got better and better, pats on the back all round - except kits still weren't getting to the shop floor due to shortages. Broadly, there are two types of components that come into the company - simple stuff, nuts, bolts, resistors, ICs, etc, that come with a CofC and need no inspection other than counting and checking in. Then there are more complex parts - PCB assemblies, amplifiers, filters and such - that have to be tested. In the time it takes to put a card in a rig and confirm it works you can book in a few thousand M3 nuts and resistors, so, to keep the metrics looking good, that's what they were doing - putting the hard stuff to one side and booking in the easy stuff.

You get what you measure.

Re: Aaaaargh!

Anonymous Coward

We had a big metrics drive and I was told to get a metrics board up that the high-paid help could come and look at so they could understand what was going on. I knew this would end up sucking in tons of my team's time for little benefit, so I told the boss that I'd create a metrics plan so that everyone knew what was going on. We liked plans in the company, so he agreed. I knocked something up and then added a section called "Leadership Response" and asked the boss to work with his peers to complete it. 'What is it?" he asked. I said that we're creating these metrics for the leadership team to come and look at, so we need to know what they're going to do with them, particularly when things aren't going well. What are the limits at which they do something? What will they do? How quickly will they do it? What metrics should we capture to track their responses? Once he'd agreed all this I'd write it up and they'd get their own section on the board to show how well they responded to the metrics.

He couldn't really argue - it was a perfectly reasonable request. The metrics board never went up.

Re: Aaaaargh!

KittenHuffer

Office judo! Love it!

I'll have to remember that one.

Re: Aaaaargh!

Joe W

I can get behind them if they actually are meaningful - but then they are often harder to interprete for the manglement. They, on the other hand, like strange, stupid, meaningless metrics. And then there's colleague who have no f'ing clue about statistics or data analysis, and pull definitions (to stretch that term) out of some nether regions - which then show "interesting results", but in the end are just tracking... something.

I need more alcohol.

And I am glad I am no longer part of that team. Should said person try to take over my team I'll just quit.

Shipping 5h17

trevorde

Worked in a company where the product was *really* buggy, esp late in the dev cycle when we were approaching release. Not a problem for management though. They'd review the bug list and reclassify most of the serious bugs as not so serious. That brought the metrics down enough so that we were good to go. We shipped on time and everyone got their bonus. Everyone was happy and no one got hurt. Except the customers.

Re: Shipping 5h17

Anonymous Coward

Dilbert, is that you? I wondered where you'd got to, haven't seen you for a few days...

Re: Shipping 5h17

Anonymous Coward

I managed one project where this approach was taken, as long as there was a documented work around a critical bug fix could be deferred. A month prior to go live there were 1500 documented work arounds plus as many unfixed less critical bugs, the system was completely unusable. They had effectively given up fixing bugs on the phase 1 delivery to start developing phase 2. I finally managed to get some focus by showing the senior stakeholder the huge paper file of workarounds every single system user was supposed to have on their desk and use every time a transaction failed. It amazing what impact telling a vendor they are about to miss a milestone payment can have. ALso because there had been no work done analysing root causes fixing 300 bugs fixed resolved the vast majority of work arounds, once the devs were allowed to take time out to really look at issues the system stability and usability improved hugely.

Nut on the loose

Sceptic Tank

Several nuts wielding keyboards at my place of work. Clearly other people are more adept than me at solving errors in the live environment when I see this type of code:

...

try {

// Some SQL

...

// Throw exception if SQL failed

}

catch (blah) {

return SUCCESS;

}

...

return SUCCESS;

Re: Nut on the loose

Anonymous Coward

Ah ah, good one.

One day, I was admin of the main SMTP relay in a big company. I didn't know some idiot had coded it in a world widely deployed PC app, some thousands users.

This email system was always up as part of out world wide DC.

I happened to be quite ennoyed at hundreds of SMTP connections coming from anywhere that should be here, and which were creating havoc on the system.

Then I started to black list some clients, over and over.

After one month, a little midget came to me, explaining his issues: his apps was failing to issue orders. Me: yeah, why ? Him: we tracked it to SMTP connections failing. Me: then retry later if there is an error code. Him: hmmmm, we don't track error code, so all orders are lost. Me: AH AH AH, please go elsewhere, thanks.

Really no sympathy for nuts let loose in coding ...

Re: Nut on the loose

Anonymous Coward

A little midget you say? They're always worse than the big ones.

Lies, damn lies and metrics

trevorde

Worked for a company who outsourced some of their work to a very large, well known outsourcer. Their devs were expected to write 200 lines of code per day and were disciplined if they did not meet this goal. Thus, their motivation was not to write good, clean, extensible code but to write 200 lines of code regardless. Needless to say, it was the *worst* code I have ever seen in 30 years of professional development. It had every anti-pattern you could think of and a few I'd never seen before.

We took the code inhouse where our devs motivations were the exact opposite. The code was eventually refuctored enough that it started to improve but it took a *long* time to sort out the mess.

Re: Lies, damn lies and metrics

b0llchit

And logging -200 lines on a day would be a real catastrophe. Imagine you actually remove lines. That does not managerially compute.

Re: Lies, damn lies and metrics

KittenHuffer

I have actually been in the situation of refactoring the code from a previous (engineer) developer, and it was when my boss was monitoring LOC as a metric. I asked him if LOC was more important than bug reduction. After several months the code base was half the original size, and bugs had been reduced by nearly 90%.

That was when I learned my hate of metrics. I nearly didn't get a pay rise the following year because I hadn't hit my LOC target.

Re: Lies, damn lies and metrics

chivo243

"it was the *worst* code I have ever seen". Please tell me you're not the comic book buy of your org!! LOL -->

Re: The code was eventually refuctored

Howard Sway

Refuctoring. The art of taking existing code and fucking it up by hacking it to pieces, adding in large amounts of cut and paste code and introducing hundreds of new bugs, due to laziness, lack of knowledge, and complete disinterest in design principles.

Korev

Well... This EXPLAINS Bombastic Bob

bah

Fr. Ted Crilly

another missed opportunity.

And what would have been wrong with Ticket Performance Statistics report for the boss then?

PEBCAK?

Anonymous Coward

I think it's a bit of a rubbish acronym ... prefer PICNIC ... problem in chair, not in computer.

"Zaphod grinned two manic grins, sauntered over to the bar
and bought most of it."

- Zaphod in paradise.