News: 1650267007

  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)

An early crack at network management with an unfortunate logfile

(2022/04/18)


Who, Me? Come with us on a journey back to the glory days of Visual Basic 6, misplaced enthusiasm and an unfortunate naming incident. Welcome to [1]Who, Me?

Today's tale comes from a reader Regomised as "Stephen", who was working in the IT department of a Royal Air Force base. "My duties were many," he told us, "from running daily backups of an ancient engineering system using (I kid you not) reel-to-reel tapes to swapping out misbehaving printers."

This being the early 2000s, his boss loaded up our hero with more tasks. He could change printers and tapes, so Visual Basic (and its bedfellow, Access) should present no problem.

[2]

And it wasn't; ever keen to learn, Stephen knuckled down and got to grips with the delight that only Visual Basic for Applications could offer.

[3]

[4]

A little knowledge, however, can be a dangerous thing.

"The base," he told us, "had many, many different squadrons, departments, offices and functions all of which had their own unique ridiculous demands [and] requirements but there was a single massive database to which everyone needed access."

[5]

This meant there were a plethora of front-ends sprayed around the base, created by previous workers who, it seemed, were about as good at communication as they were at coding. Supporting the mess was a nightmare. What to do?

The answer was obvious to Stephen and his new-found skills. Visual Basic (version 6, for those that remember it or are still working with it) could do a range of things, and writing a bit of code to wander the network in search of obsolete code was all in a day's work for our hero. Anything outdated was automatically replaced with the latest and greatest.

Visual Basic, eh? Those were the days.

[6]

And those days were good. The users were happy, helpdesk call counts dropped, the base was a joyous place, at least as far as its IT was concerned.

There was however a problem. Careful fellow that he was, Stephen had added some logging to his code. As the app did its thing, it left a debug file in the root of C: , just in case anything went wrong. A sensible precaution, not that Stephen expected his code to go wrong, but, alas, he had chosen an unfortunate name.

Now we at El Reg do love our backronyms. So we'll give Stephen the benefit of the doubt and assume his file was named for a Wide Area Network Knowledgebase and nothing childish and immature.

[7]What do you do when all your source walks out the door?

[8]There's only one cure for passive-aggressive Space Invader bosses, and that's more passive aggression

[9]Scalpel! Superglue! This mouse won't fix its own ball

[10]Updating in production, like a boss

Having forgotten to turn off the logging, Stephen's code, er, deposited this text file on every workstation it ran on. The base was positively festooned with Wide Area Network Knowledgebase and his fellow developer colleagues soon noticed the mysterious file with the icky name turning up on their disks.

A horrified Stephen hastily amended his code to purge the rogue file with extreme prejudice and, he thinks, nobody ever noticed.

Have you ever accidentally updated a network and only later realized the extent of your crime? Or were you the one who had to explain why certain acronyms could make your company's innocent app most definitely Not Safe For Work? Confess all with an email to [11]Who, Me? ®

Get our [12]Tech Resources



[1] https://www.theregister.com/Tag/Who,%20Me?/

[2] 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=2Yl021EZhK1J1Cucs-H3jCwAAAI8&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%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=4&c=44Yl021EZhK1J1Cucs-H3jCwAAAI8&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%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=3&c=33Yl021EZhK1J1Cucs-H3jCwAAAI8&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%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=4&c=44Yl021EZhK1J1Cucs-H3jCwAAAI8&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[6] 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=33Yl021EZhK1J1Cucs-H3jCwAAAI8&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[7] https://www.theregister.com/2022/04/11/who_me/

[8] https://www.theregister.com/2021/11/15/who_me/

[9] https://www.theregister.com/2021/08/16/who_me/

[10] https://www.theregister.com/2021/06/21/who_me/

[11] mailto:whome@theregister.com

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



And this, kids,

Joe W

is the reason to write clean language code and not include profanities even in test code. The stuff lingers on...

Not that I ever did this, nor any name calling of colleagues who are too thick to grasp even the most basic concepts in statistics. "this is mathematically impossible, returns no meaningful results and will even give stupid and wrong answers" was usually twisted to "Joe is obstructive and does not want to do this". Glad he had to backtrack, as his idea produced stupid and wrong results out of the reasons I told him.

Where was I? Oh, much like the BOFH writing "the Boss is a w*nker" in sharpie on the tape leads I included some comments in the code. At least those who will have to clean up the mess know why it is there and what is wrong...

Re: And this, kids,

Tom 7

I was working in one place, getting all the tasks allocated to me done when my boss suddenly started to get even weirder than normal. He started to make my life hell and demanding stupid and inconsistent conflicting rules and demanding code comments and documentation that was to his demands but always wrong. I eventually realised this was constructive dismissal in action - he was failing in his job so needed to use me as the fall guy. As I was his only employee and had to report directly to him ( he was a lifetime friend of the boss and had been given his own empire - me) and no-one else in the place was involved it was a lousy time. I ended up giving him the same document a week after he'd demanded a re-write and he said it was much improved but there were still these imaginary problems with it. So I fixed it by re-formatting it so most pages had 'Name of boss is a fucking wanker' as the starting characters on lines. Better but not good enough. So I repeated it in Capitals the next time. Again an improvement but...

Then my mum got very ill so I legged it to see her and she died and while I was away I was informed I was fired and would be sued if I talked to anyone in the organisation!!! As I drank with a few of them I enjoyed hearing about his gradual self destruction over a year or so until he was finally chucked and sued by the company owner for fraud though I was disappointed not to be called as a witness.

Safely raising eyebrows

b0llchit

I raise you and assert that no code is Safe For Work TM .

Any code written will be looked upon with raised eyebrows in X years. Code survival is not measured in years but by how many raised eyebrows it collects during its lifetime. All software is replaced once a certain diffuse threshold is reached or when the eyebrow reaches the back of your head.

Re: Safely raising eyebrows

UCAP

All software is replaced once a certain diffuse threshold is reached or when the eyebrow reaches the back of your head.

Funny you should say that; I was reviewing some not-so-old code the other day that resulted in my eyebrows passing the back of head, heading down my neck and back, finally ending up whimpering in fear at around foot level.

45RPM

Not quite the same, but back in the day when we had to write copious documentation for all the software that we wrote, sometimes running to hundreds of pages, I became convinced that no one ever read it.

With hindsight, writing “and they all lived happily ever after” as the very last sentence probably wasn’t the most discreet way of testing this theory. Especially since it lead them to actually read the rest of the document very carefully indeed. And, whilst the document was usable (it contained everything that it needed to), it also had a few, ahem, extra words and deliberate misspellings.

Some of the reviewers thought it was funny. On balance though, the scales of corporate justice were tipped against me. The shit hit the fan.

Anonymous Coward

I recall, when working for a well-known aero engine manufacturer in the 1970's, there was a document circulating that had four sections, each with a list of ten words or short phrases. The idea was to pick one, at random, from each section and string them together - the end result would sound good but be totally meaningless. I, too, was convinced my boss didn't actually read my reports, so I included one of these nonsense sentences in one. Well, ****er me, he actually read it - and wasn't too impressed. It was rev 2 that went on up the food chain :)

Doctor Syntax

"I became convinced that no one ever read it"

Always assume that in X months/weeks/days (and it's always sooner than you anticipate) you will be confronted with this piece of code to fix or amend and you won't even remember which idiot wrote it. What would you want in the way of documentation and can there be too much of it?

and you won't even remember which idiot wrote it

Paul Kinsler

I think a lot of the problem is that - having just written it - it is transparently obvious what it does, and why, and so it is difficult to actually work out what might need to be explained about something so (apparently) straightforward.

Really, I suppose, you should instead show it to someone else, and ask them to explain it ... at which time the relevant point to document might become clearer.

Giles C

Never quite done that - networking tends to not have that many comments in it. Closest I got was to one difficult link which happened to use clan 666 to refer to the supplier…

Now as to server naming a colleague make the following server (follow the capitals)

Blackberry

Enterprise

Server

EXCHANGE

01

Yes he named the server besexchange01 when we pointed it out he said at least it will be memorable - it lasted about 5 years

<DannyS> Hit the monkey to win $20(*)!
* knghtbrd gets out his mallet.
* knghtbrd plants it firmly on DannyS' head.
* knghtbrd will take his $20 now. =D