Running "strings" on software can reveal a lot of things.
Techie found an error message so rude the CEO of IBM apologized for it
Oh, bother, it's Monday. But rather than curse about another working week rolling around, The Register welcomes it with another instalment of Who, Me? It's the reader-contributed column in which you confess to workplace whoopsies and reveal how you survived them. This week, meet a reader we'll Regomize as "Saul" who shared a …
COMMENTS
-
-
-
Monday 6th October 2025 11:09 GMT Peter Gathercole
Saw the joke icon, but I wanted to point out that "strings" existed a long time before the Digital Millennium Copyright Act existed.
Although most times the English error messages are hard-coded into the binaries as a fall-back default (often under the"C" locale, whatever that really means), a lot of multilingual applications put the localised messages into external message catalogues, which somewhat blunts the value of running strings. Also, UTF-8 can make some messages difficult to spot, and now null-terminated strings are frowned upon because of buffer over-run problems it means that "strings" may not pick out all of the messages anyway.
-
-
-
Monday 6th October 2025 19:11 GMT David 132
Remember the B-52s references that abounded on the PCBs? "Rock Lobster", "Planet Claire" and so on.
Ah, good old days.
And then Microsoft's devs had to go and push it just that bit too far with the infamous "flight simulator hidden in Excel" thing, and Easter Eggs were promptly banned industry-wide by managers who feared lawyers more than they loved whimsy.
-
-
-
-
Monday 6th October 2025 09:24 GMT Valeyard
"If you see this then talk to 'Pete'".
I've seen this in-house once or twice. with nothing else to do i'm like "may as well send x a message see if he still cares"
only to have the dev run to my desk to find out how I managed to trigger it as it's been wrecking his brain that something that should be impossible is occasionally happening
-
Monday 6th October 2025 18:31 GMT Bryan W
Dude.. A programmers entire life is filled with these kinds of errors haunting us in our dreams. Unsolvable problems because we can't figure out the why of it. All documentation tells you it's fine. It is obviously not. This does not settle well with our type of brains, but we have to plod on anyways, don't we? No one's paying us to unfuck quirky software. They want new shiney things.
OFC if one of you techies find a way to reliably recreate one of these we will drop all and come running. It's a chance to quickly end what was likely a long running failure on our part; Perhaps we may even learn to slay a new type of demon in the process!
-
Monday 6th October 2025 19:16 GMT David 132
To my shame, I have more than once in my life spent minutes/hours/days trying to figure out why a software bug stubbornly refuses to go away, and why all the breakpoints and status-messages ("Made it to function _validate() OK..." etc) I coded didn't appear.
Only to belatedly realize that the code I was editing, and the binary I was building each time ("C:\project\app.exe"), weren't actually the binary I was running ("C:\project_last_build\app.exe").
Ooooops.
-
-
-
Monday 6th October 2025 11:14 GMT Peter Gathercole
I know I've seen error messages in source code like "You should never see this message", or "Should never get here".
I'm sure there is at least one in the Edition 6 UNIX kernel source (printf in the kernel - stopped the system dead while the message was printed to the 2400 baud hardcopy console; urhhhhhh!)
-
-
Tuesday 7th October 2025 02:06 GMT Scene it all
Re: My fave
I was using the Bliss-16 compiler for a project. The Bliss compiler was really good at optimization for memory usage. I once saw it generate the instruction "MOV @PC,4(R2)". That stores a literal 4 at 4 bytes beyond where R2 points but takes one word less than the more straightforward "MOV #4,4(R2)".
-
-
-
Wednesday 8th October 2025 09:13 GMT r00ty
I fully expect it to have been something like this. An assert or similar error that had no business happening. I've used silly messages like "There must be a glitch in the matrix" in asserts that should not be possible to trigger (but we secretly fear one day might be). But not in production business software, and even in the 80s I don't think I'd include something like the subject of the article in the binary at all.
-
-
Monday 6th October 2025 12:26 GMT Anonymous Custard
I saw something similar just last week.
A document where "customer" was spelled correctly all but once, unfortunately that one had the s/n typo that you were all expecting.
At least we have a new official description for some of our more difficult clients, and to be fair the authors of the document weren't native English speakers/typers...
-
-
-
-
Monday 6th October 2025 20:33 GMT jake
"Spelt is a type of grain; use the regular form for the past tense of spell." —My English A level teacher in Yorkshire, 1970s.
He went on to rant about idiots also still using the archaic dreamt, learnt and smelt, with examples (which sadly I can't remember) ... I stuck my hand up and asked "what about burnt"?, his reply was that the Yank should keep quiet lest he burn his fingers ... I always did like that guy. Good teacher! :-)
-
-
-
Wednesday 29th October 2025 16:27 GMT Robert Carnegie
If it executes, then the user probably won't see the SQL code, either. I could guess:
- It's in exception handling code which was not invoked during testing, e.g. "customer has more than 100 children" is an error, actual customer is a boarding school.
- Microsoft SQL (maybe others too) allows both "CHECKSUM(*)" and also user-defined function programming. I don't know if that stretches to writing "myfunction(*)" but if it does, then I suppose that a developer who had a habit of leaving out letter o could write a function with the altered name which calculates the correct result anyway.
- Since count is a reserved word, you also might want to write something like "SELECT CustomerName, COUNT(*) AS Counts GROUP BY CustomerName ORDER BY CustomerName" and actually it was "Counts" that was misspelled.
-
-
-
Monday 6th October 2025 07:14 GMT An_Old_Dog
Triggering a Specific Error Message
It could be that the sexually-celebrative error message could never be triggered the way the program was written.
If it was merely an unused entry in the error message table, with no error condition mapped to it, it would have just sat there.
Back when I was writing COBOL programs, I used to include a visually-distinctive string at the beginning and at the end of the string literal pool, so that it was easy to find when visually-scanning a dump printout.
-
Monday 6th October 2025 07:36 GMT longtimeReader
Re: Triggering a Specific Error Message
Also in IBM software ... a colleague set an message to "Merde!" for one of those impossible to reach error conditions. When the condition proved to be not quite as impossible as he'd imagined, the only real complaint from the customer was that they weren't actually running in the French locale.
-
Monday 6th October 2025 13:32 GMT Nugry Horace
Re: Triggering a Specific Error Message
Even if an error message can't happen, they sometimes do. The MULTICS error message in Latin ('Hodie natus est radici frater' - 'today unto the root [volume] is born a brother') was for a scenario which should have been impossible, but got triggered a couple of times by a hardware error.
-
-
Monday 6th October 2025 07:15 GMT Michael H.F. Wilkinson
Nothing offensive, just impossible
Working on a parallel program for simulations of bacterial interaction in the gut micro-flora, I got an "Impossible Error: W(1) cannot be negative here" (or something similar) from the NAG library 9th order Runge-Kutta ODE solver on our Cray J932. The thing was, I was using multiple copies of the same routine in a multi-threaded program. FORTRAN being FORTRAN, and the library not having been compiled with the right flags for multi-threading, all copies used the same named common block to store whatever scratch variables they needed. So different copies were merrily overwriting values written by other copies, resulting in the impossible error. I ended up writing my own ODE solver
Having achieved the impossible, I felt like having breakfast at Milliways
-
-
-
Monday 6th October 2025 14:32 GMT DancesWithPoultry
Re: Nothing offensive, just impossible
Any discussion of Fortran (sorry, FORTRAN) is inevitably dominated by those who once saw some F77 code as a kid, or are old enough to have used punchcards.
Yet Fortran 90 was a major overhaul of the language, and modern Fortran versions are actually rather spiffing. Not to mention they can be used with the old libraries which are utterly bombproof.
There is a reason Fortran is still in use for mathematical modelling. It's simple to use and you can really trust it.
-
Monday 6th October 2025 15:09 GMT John Sager
Re: Nothing offensive, just impossible
Snap! FORTRAN IV for me- a 1 term course at uni and some punch-card bashing for a new ICL1904 where they were letting us have some free time. I left FORTRAN almost behind but the antenna modelling s/w Nec2 is written in it and I've hacked on that a bit in the past.
-
-
-
Monday 6th October 2025 07:49 GMT GlenP
Re: Nothing offensive, just impossible
I had something similar (albeit a trivial context) switching LEDs on a model railway in Python on a Pi. I merrily multi-threaded the provided routines for the I/O chip not realising they did a read-before-write to establish the current state, which of course then changed between read and write. The flashing light show wasn't quite what I had in mind for my simulated fluorescent tubes starting up, although it was easy enough to fix by writing my own routines that used a global variable for the current state,
-
Monday 6th October 2025 10:42 GMT EddyM
Re: Nothing offensive, just impossible
Ah that reminds me of my very first dabblings in PHP. I didn't yet know what MySQL was at that point, but I wanted to add a basic visitor counter to my website. So I made it read the current number from a file, increment it, and then overwrite the file with the new number.
Simples. And it worked fine, or so I thought, until sometime much later (after accumulating a lot of visits) when I realised it must have reset at some point, as the number was much lower than the last time I'd looked...
(I guess when two visits happened to occur simultaneously, that was effectively equivalent to multiple threads running the same code and trying to access the same file, and the second read must have occurred just as it was in the middle of being overwritten)
-
-
Wednesday 8th October 2025 22:29 GMT ComicalEngineer
Re: Nothing offensive, just impossible
Have an up vote merely for doing something as complex as a 9th order Runge-Kutta.
I never got beyond a 4th order solver in F77 or BBC Basic. I think we had something like 40 simultaneous differential equations in the model. Too a while to solve on a BBC even with the maths co-processor, but that didn't matter as we had about a dozen beebs and used to leave them running overnight.
-
-
Monday 6th October 2025 07:34 GMT blu3b3rry
A message from the CEO resolving things must mean
Saul Goodman.
Yet to find anything explicit but I have come across internal software that had such things as "Greg's super hacky script starts here" come up in the debug logs.
One wag among the devs had a habit of putting <Applause> after the log message for a finished test run.
My favourite was the pop-up that had the title of "Oops" with the explanation text of "This should never happen or be possible, the program will now close."
-
Monday 6th October 2025 07:36 GMT Admiral Grace Hopper
"You can't be here. Reality has broken if you see this"
Reaching the end of an error reporting trap that printed a message for each foreseeable error I put in a message for anything unforeseen, which was of course, to my mind, an empty set. The code went live and I thought nothing more of it for a decade or so, until a colleague that I hadn't worked with for may years sidled up to my desk with a handful of piano-lined listing paper containing this message. "Did you write this? We thought you'd like to know that it happened last night".
Failed disc sector. Never forget the hardware.
-
Monday 6th October 2025 07:42 GMT Steve K
Disk Insertion?
I wonder whether it was triggered by the floppy (oo-er missus, fnar,fnar) disk insertion event?
I recall back in the very early 1990s as a trainee Accountant I was assigned to a piece of work in a department using Macs, which had that particular event set up with a similar sound file triggered.
One of the other things I learned about Macs that day was where the volume control was.....
-
Monday 6th October 2025 07:45 GMT Mishak
Intelligence test
One place I worked at (though this was nothing to do with me) received a call from a confused customer.
Customer: "I was trying to get your software to do X, but I wasn't sure how to do it so had to play about".
Support: "That's ok, it won't let you do anything bad".
Customer: "Yeah, I know that. However, it just told me "9 out to 10 intelligent people would have worked this out by now"".
Turns out someone had put some code in that spat this out if the same error occurred 10 times in a row.
Luckily, the customer just thought it was amusing and was calling to say "well done".
-
Monday 6th October 2025 07:50 GMT Mishak
Another one
Friend was working for a large corporation during his vacations at uni.
Task was to process large amounts of data from the command line using a very, very under-powered PC (so the job took a long time to run).
He decided that some sort of progress indicator was needed, so he added various "helpful" messages to indicate where the processing had got to in the various loops and procedures.
"Tum, tee-dum, de-dah, ta-ta".
His manager was not impressed - even though the program satisfied all of its functional requirements.
-
Monday 6th October 2025 10:10 GMT jdiebdhidbsusbvwbsidnsoskebid
Re: Another one
I've done that sort of thing many times when similarly, running data processing tasks that were going to take several hours. Nothing as elaborate as a proper progress indicator, but make it spit out some random message every now and again so you know it's still running rather than just quietly crashed.
And yes, to relieve the boredom, I probably did include random messages that were for my eyes only.
-
Monday 6th October 2025 11:11 GMT Caver_Dave
Re: Another one
I just print in turn |/-\ to the same place (i.e. with a terminal backspace between) on a regular period during the main loop of the code.
If it is a particularly long run that is still occasionally crashing then I use an incrementing count instead, so that I at least have an idea where and why the crash occurred.
-
-
-
Thursday 9th October 2025 14:49 GMT PB90210
Re: |/-\
More recently, after ANOTHER company rebrand, and against the brand dept's orders, someone in the transport divn created an animated GIF of the new logo being transported by truck, then a plane and then ship (ignoring the fact that the last 2 would have been outsourced).
A simple email that would have been a couple of kB was now a couple of hundred kB!
-
-
-
Monday 6th October 2025 17:06 GMT Someone Else
Re: Another one
Did the same on an old (read: old) IBM PC-AT. Actually picked a character position in the upper-left corner of the screen, and changed the background color of that location, cycling through the 16 (er...20, counting the 4 grayscale colors) every so often (probably every clock tick...too long ago to remember the details). If the corner of the screen was flashing about, all was well...
-
Wednesday 29th October 2025 17:06 GMT Robert Carnegie
Re: Another one
"Narcissus" performed by Norman Wisdom and Joyce Grenfell comes to mind for this.
Alternatively you could write a carefully worded limerick - output one word at a time - and make just inside the bounds of acceptability. (But, include a safety margin.)
Include several different versions, and either cycle through them or choose randomly.
Let's see -
The famous "Mechanical Turk"
Took longer than this for its work.
In fact there would hide
An accomplice inside.
So sit and be patient, you see it will get done eventually.
-
-
-
Monday 6th October 2025 12:16 GMT Antron Argaiv
Re: Ancient memory dredged up from the murk
I think I can top that.
The CDC 3800 (and/or 3600) console had a 4x4 square for status (of something) display. Normally, these lights flickered on and off as the machine ran. When the processor was in "pause" mode, the 4x4 became a character generator, showing, sequentially, the letters, P-A-U-S-E. But that 's not all, each letter started out "small" in the center of the grid and became larger, until it used the entire 4x4 display.
I'm quite fuzzy on the details as it was 1973 when I saw this and the machine was replaced the next year with a CDC CYBER74. But I thought it was clever.
-
-
Monday 6th October 2025 08:22 GMT I don't know, stop asking me.
I remember snooping around in the executable for WordStar on CP/M. The string "Nosy, aren't you?" was what caught my attention.
There was also some obscure error in one of Oracles packages some decades ago. I don't recall the exact message, but it was something like "It looks like you don't know what you are doing."
-
Monday 6th October 2025 09:20 GMT Ikoth
Spicy Error Message = New Job?
I once worked with a chap who, in a previous life, had been a developer for an AIX based accounting system.. He recounted the story of being called into his manager's office to discuss a recently received complaint. A customer using the software suddenly found himself kicked out of the screen he'd been using and was instead presented with a screenful of code, the final line of which read "What the fuck are you doing in here...?"
Neither the customer nor the manager were best pleased, which apparently contributed to the career change.
-
Monday 6th October 2025 10:25 GMT hoofie2002
Birthday message
In about 1994/1995 I worked for a market research company then in Epsom who specialised in reporting on pharmacy medication dispensing.
There was an Oracle DB and some reports that ran off it written in C. When I joined the outfit I had to review some of the code.
The twat who wrote it originally put "Happy Birthday to me" messages on all the report outputs if they were run on the appropriate date. Luckily it had not been triggered yet so I cut it out asap.
Apparently he only got the job because his Mum was a Director and my colleagues despised so if he is reading this - you are a huge twat and sue me please.
-
Monday 6th October 2025 10:28 GMT BinkyTheMagicPaperclip
Impossible error in DOS
In the early 90s I received an 'impossible error' in a DOS program. It was a very flaky PC, and I suspect the memory was bad with certain bits wired to specific values, so in addition to a lot of instability 'an impossible error has occurred!' in fact occurred.
There's a reason in space with all the cosmic radiation, there are multiple computers cross checking results! Even at ground level you'll get parity/ECC correction notes occasionally.
-
Monday 6th October 2025 10:42 GMT Xyzzy_jp
A unusual Abend
In the old days I used to be a systems programmer for smaller IBM mainframe4341, 438. A different programmer writing code for a new application was annoyed with a senior systems analyst, who in those days write specifications for programmers for code. So he added a new feature to his program. When the analyst used the code to test, it crashed with an Abend. The Abend which mean "Abnormal end" was a 4 letter code and commonly used for OS crashes which produced a dump of memory, so a systems programmer could debug and work out what fix was needed. So the programmers Abend was software generated and did not cause the OS to crash, but he came and told me anyway.
So the Analyst tested, the program crashed, Abend ASOL. which was an abbreviation for AS***OL*. Hopefully you can work it out. The analyst reported the Abend and the program was "fixed" with much laughter amoung the programing team..
-
Monday 6th October 2025 10:57 GMT evadnos nibor
aaaaarrrgh
Working for a small oi'n'gas exploration software company in the 90s, devs did support as well.
Bill: Hi Dave, it's Bill from $LARGE_OIL_CO in Aberdeen, I'm hoping you can help me
Me: I'll have a go, Bill, we can call in someone else if it's proper geophysics ...
Bill: No need, I'm fairly sure you can help me with this one
Me: Ok, so what's going on?
Bill: We've had a long running job stall with $SEISMIC_SURVEY_PROCESSING_TOOL and I've been looking at the logs. Can I read you what I've found?
Me: Of course, let me get the code up and I can see where it's spinning >tappity<
Bill: It says >clears throat< "aaaaaaarrgghh! aaaaaaarrgghh! DAVE DAVE we're fucked and I'm for the chop"
Me: Oh
Bill: Oh?
Me: It's not as bad as it sounds ...
Bill was a shrewd guy and a very good customer and we managed to work out what to do to save the job (and mine) in an hour or so on the phone. It utimately led to a decent improvement in processing times for which I got a bonus. Later support calls with Bill would classify how far a problem was along the "DDWF scale", which we never told anyone else the meaning of.
Thanks, Bill.
-
Monday 6th October 2025 13:22 GMT MiguelC
"if you reached this point you're fucked"
As I've told here before, in the late 90's I was tracking a mainframe bug report and got a message on my terminal stating that "if you reached this point you're fucked".
Although the original coder was no longer working with us, I eventually confirmed his prescient statement.
-
Monday 6th October 2025 14:32 GMT Marty McFly
Sure it was an error? Maybe an Easter Egg
The big yellow security company I used to work for had to put a stop to that in the late 1990's. Previously there had been a hidden picture of all the Devs and a movie screen style credits list that would scroll on the screen. Some special key combination on the About page would trigger it.
Then the corporate and government worlds got stuffy and no such undocumented functions could be permitted. That language got slid in to one of the big contracts and that was the end of that.
The Wild West days of tech were a lot more fun when we could still laugh together.
-
Monday 6th October 2025 15:09 GMT ColinPa
Impossible code
I remember someone who had some code like
if bit0 = 0 then ...
else if
bit0 = 1 then ....
else
Phone George on 0196281....
10 years later George got a phone call. A developer had carelessly changed the field from a one bit field to a 2 bit (or integer) field and so his else clause was fired.
-
Monday 6th October 2025 15:45 GMT Steve Hersey
Defensive use of profane user dialogs
Many years ago, when I wrote a thoroughly annoying remote access program for a portable flowmeter, I had the problem that Sales insisted on testing the unreleased beta versions, but ALSO refused to abide by the "don't give out the beta test version to customers" requirement. Even adding a big splash screen with "INTERNAL TEST ONLY, NOT FOR CUSTLMER RELEASE" didn't help.
Plagued by complaints that the beta didn't do X or Y (which, of course, weren't implemented yet!), I added a profane version of the "NOT FOR CUSTLMER RELEASE" warning to the splash screen.
Naturally, a sales rep immediately gave it to a customer, and complained bitterly on his return to the office. I calmly explained to management that Sales had been repeatedly warned not to distribute unreleased versions, the salesman thus knew he was not supposed to do so, and therefore the consequences were entirely his own fault.
I had to remove the profanity from the message, but the point was made and Sales behaved themselves for a while thereafter.
-
Monday 6th October 2025 16:10 GMT dmesg
Pagemaker
Back when I worked phone tech support for Aldous Corp, I recall one of the devs saying he'd put such a message into Pagemaker for an impossible-to-trigger error. It was along the lines of "If you get this message, call Joe at <phone number> and he'll send you a case of <one of Seattle's finest brews>".
This was in the days when microbreweries were just catching on in other cities. They'd been there for decades in Seattle*, so this was a fine prize indeed. I never heard of anyone claiming it, though.
* Microbreweries arose in the Pacific Northwest out of necessity. At some point in the past, there had been a conflict between the Teamsters and the brewers' union over who would drive the beer trucks in the U.S. The Teamsters lost, and in a snit they closed off their home turf (Seattle and thereabouts) to the trucks of out-of-region breweries.
-
Monday 6th October 2025 17:34 GMT Fruit and Nutcase
"S*x feels so f***ing good, I just can't stop."
That wouldn't have been out of place in one of Jilly Cooper's bonkbusters
RIP Jilly Cooper
-
Monday 6th October 2025 17:38 GMT Someone Else
Death by...
Had one such message in an embedded system created back in the early 80's. At a point in the home-brew task scheduler we created, there was an error message we created at the end of a rather complex if-else if cascade that read "Death by <redacted>"* which would scroll across the 8-character 7-segment LED display of the device. We tested the living snot out of it, and were convinced that the conditions that would raise this message really could not happen.
Enter Murphy's Law of Demos.
A potential customer came into the office to get a demo of a beta version of the device. We ran it through its paces, and all went surprisingly well. Up to, of course, the final act of the demo, where, this message started to scroll across the screen. The potential customer had looked away as the message started scrolling, and when we saw the message start, we surreptitiously and quickly rebooted the machine, deftly explaining away the reboot as the result of an odd previously identified beta problem that would not occur in the actual release. The potential customer was satisfied with the explanation, and IIRC, ordered several of the devices.
Naturally, we were subsequently unable to re-create the problem. But, we came to understand that there is not such thing as an "impossible" error, and rewrote the error message to be more "customer friendly". Don't think that the message (in any form) ever did show up on production boxes.
*"Death by <redacted>" was the punchline of a particularly racist, homophobic joke that made the rounds of our dev team at that particular point in time. This was the 80's, and such stuff was tolerated back then (as was smoking in the office...). Nowadays, one could get summarily dismissed for circulating such stuff around the office. So I won't.... (Hence, the redaction.)
-
Monday 6th October 2025 17:54 GMT Boris the Cockroach
In
writing macro commands, I do put in error messages such as "No negative hole depths allowed" or "Movement out of bounds"
I suspect the next macro will have the usual list of error messages plus an impossible to reach condition reading "If you see this error message , you will die in 3 seconds time"
Although going by most of the day's comments, that will be the first one shown........
-
Monday 6th October 2025 18:19 GMT PRR
Before desktop PCs I worked with schematic drawings. There was often a NOTES field. Notes like "all resistors 10%" or "measured at 117VAC line voltage". But one had a note "Why do dogs run so fast in the Arctic? Because the trees are so far apart."
Google tells me this is a Bob Hope joke re-worded.
The Gibson Fortune guitar amp's plan has "5. The man who knows what he is talking about can afford to use words everybody understands."
-
-
Monday 6th October 2025 21:34 GMT doublelayer
Re: Bah!
I think the implication is that the asterisks were in the original message, possibly to evade something scanning the code for certain words. I'm not sure when the first such tool was created, but I've seen a bunch of those things with their own lists of words you're not supposed to put in comments or messages at various companies, sometimes with prohibitions that don't make sense and nobody can give an explanation for.
-
-
Monday 6th October 2025 20:19 GMT Anonymous Coward
Burroughs MCP Source Code
This comment was (once) in the source code for the Burroughs MCP (Master Control Program). The MCP did multitasking before it was cool. Names are in UPPERCASE 'cause everything was in UPPERCASE back then.
I met someone who claimed that when they started working at Burroughs, one of their jobs was to clean up the source code before it was released publicly.
FATHERFORKER first checks to see if it is going to fork TERMINATE. If so,
it checks to see if TERMINATE is trying to terminate itself in which case
its stack is marked as not being used (it is a dedicated stack) and then
FATHERFORKER exits. If the job was not TERMINATE, it is entered into the
TERMINATEQ. If the Independentrunner is not one which "has only one
index", that is that it is defined below STATUS, or that particular
Independentrunner is not running, it is entered into the fork queue. The
fork queue is not a "regular" queue but is merely a list of two-word
entries whose head and tail are contained in the variable FORKQUEUE. If an
entry was made into the fork queue (denoted by PLACE begin greater than
zero), the event FORKEDUP is caused which wakes up MOTHERFORKER to start
execution of the Independentrunner. Otherwise, the space that PLACE has
been allocated is forgotten.
-
Monday 6th October 2025 20:35 GMT Drishmung
IBM Mainframes and character sets
A friend of mine, in his misspent youth, worked for a multinational as a programmer. He wrote a report on (as I recall) lubricants. t was written in COBOL on an IBM mainframe, but for ease of formatting, he linked in some subroutines written in FORTRAN. COBOL and FORTRAN used different character set encodings! He hid an Easter egg in the code.
IBM would do a core dump upon any error. A compilation error was an error and produced a core dump. No-one ever made a change without making at least one programming error.
The lubricant report used imperial units. He knew that it was going to need to be updated to support metric.
About a year later, he heard that they were trying to work out why the text "AND NOW, FOR SOMETHING COMPLETELY DIFFERENT" had appeared in a core dump (when they updated the code, and it had a compilation error), when said string did not appear anywhere in the COBOL or FORTAN source (it was in a FORMAT statement, but in characters that looked like nonsense, but would produce the desired string when printed using the COBOL character encoding).
-
Monday 6th October 2025 20:57 GMT Strahd Ivarius
my favorite error message is still...
"This label is the target of a goto from outside of the block containing this label AND this block has an automatic variable with an initializer AND your window wasn't wide enough to read the whole error message"
(A compiler for Apple, before it went into rounded corners)
-
Tuesday 7th October 2025 08:11 GMT Sequin
Working on a system for a government department, me and my boss were gathering requirements and were told that certain functionality should be retricted to certain ,anagement users. "What should we do if somebody unauthorised tries to access those options?" "Tell them to bugger off!" was the response
When we built the system my boss took them at their word, but took it a bit far. I had been on an 8086 assembler course a few months previously and the programming exercise was to write an executable that played Sousa's "Liberty Bell" (Monty Pythontheme) - he borrowed this and added to it - the screen (this was in DOS days) slowly disolved and a message in large ASCII art appeared - filling the screen it proudly exclaimed "BUGGER OFF!"
They got a bit sniffy when he demonstrated the system and we had to change it to a beep and a small "You do not have permission to access this option" message
-
Tuesday 7th October 2025 08:19 GMT Anonymous Coward
I installed some solar panels 10 or so years ago. I wanted to read out the data coming out of the converters and did not want to use the cloud interface for that but grab the numbers from the locally installed metering unit instead.
Unfortunately the password of the metering unit was unknown. But luckily someone had figured this out and decompiled (?) the installer software to determine how the installer software would get the password of a random metering unit. In cleartext a hardcoded key was found in the software that read "911wasaninsidejob".
-
-
Wednesday 8th October 2025 10:12 GMT werdsmith
A long time ago when a firmware upgrade was a service engineer in company car turning up at various client sites to open the machine and pull out the Eproms and replacement with ones containing the updated version. 27128s etc with a sticky label over the window. Occasionally these eproms would accidentally get blown with the debug build, which was never meant to escape. Full of expletives, even when there was no error there were markers in the code. I sometimes had to do the follow up trip to replace the eproms a second time. Was usually a good laugh.
-
-
-
Thursday 9th October 2025 16:26 GMT PB90210
Re: Wannabe
Someone at Cisco decided that the 'reload' command needed a bit more security against accidental use and added a 'buffer clear' between the 'confirm y/n' and 'do you really mean this?', meaning you could no longer type 'reload' then 'y', hammer the return key half a dozen time and wander off for a break when the box reloaded (/upgraded)
The number of times I returned from a teabreak to to find the smirking cursor blinking away at 'are you sure you remembered to answer my question before disappearing?'
-
-
Wednesday 8th October 2025 15:33 GMT Kurt 5
Tok'n Ring
Many years ago (let's not discuss how many) I wrote the IBM 4/16 Token Ring driver for UnixWare. I had a debug message for when I received the first token -- "We be Tok'n" or something like that. It managed to make stay enabled on a release. Fast forward months. Support comes to me saying a customer called in -- he'd been perusing his system log and found my message. He was offended. "Fixed in the next release."
-
Wednesday 8th October 2025 22:58 GMT ComicalEngineer
Debugging someone else's code
We used BBCs to write F77 mathematical routines. Mostly we used the Beebs to run parts of the code for debugging development versions of the software but on occasions we would run the full model which was fairly large (in BBC terms). One of my predecessors on the job had his contract terminated due to a number of complaints from project members regarding his unhelpful attitude towards several customers and misogynistic attitude towards female secretarial staff.
Our development code was, of necessity, heavily commented but as BBC Basic was notoriously slow in handling heavily commented code, we had the comments code ("REM" IIRC) and the version with the REMs removed. After "H" departed I was told to crack on with the partly completed model code and was given a floppy with both versions of the code.
On detailed examination I found a selection of REM statements that left me in no doubt as to what "H" thought of his supervisor (a certain Dr W), and lurking within the code a set of buried "PRINT" statements which would have resulted in an extremely offensive message being displayed on the screen had the code been run. The code for this had split up the letters of the message within various subroutines and would then have displayed the message on screen one letter at a time.
Fortunately I ran the code in the privacy of my office before stripping out the offending messages.
That said, Dr W was indeed a proper grumpy sod to work for.
-
Friday 10th October 2025 10:36 GMT andrewmo
I used to work for Psion Dacom the modem company (remember them). When we manufactured PCMCIA cards, the IBM Thinkpad would actively discriminate against the Psion Dacom Gold card and disable it. Eventually, our developers worked out what IBM was doing and it took the intervention of the CEO to get the Gold Card working on the IBM Thinkpad. It had nothing to do with the fact that IBM was pushing their own (inferior) PCMCIA card :-)
-
Wednesday 15th October 2025 12:07 GMT OllieJones
Front panel prohibits "P00f"
Years ago I worked at a company making hardware. They had a primitive front panel display device that displayed the letter "P" followed by three hex digits.
The VP of Engineering sent a memo to all the firmware hackers (of whom I was one) instructing us never to write any code, even in jest or for testing purposes, that displayed "00f" in those three digits.
I believe we all complied. Sadly it didn't keep that company from going P00f and vanishing.