I'd say that of course people at Microsoft thought to do this, twenty years prior at the time of OS/2 1.0 …
… except that it might have been people from IBM. OS/2 had a DosGetMessage() API function that looked up messages in a compiled message file and inserted strings taken from an application-supplied array wherever a %1 to a %9 occurred in the message.
It was regularly used to edit the applicable filename, drive letter, numeric values, or whatnot into error messages.
I've been telling people about this since the days when there were operating systems still around that actually did swapping (16-bit OS/2, old Unix, Standard Mode DOS+Windows) rather than paging (32-bit OS/2, 386 Enhanced Mode DOS+Windows, Windows NT). I wrote a Frequently Given Answer about it in 2007, I had had to repeat the point so many times since the middle 1990s; and I was far from alone even then.
The erroneous folk wisdom is widespread. It often seems to lack any mention of the concepts of a resident set and a working set, and is always mixed in with a wishful thinking idea that somehow "new" computers obviate this, when the basic principles of demand paging are the same as they were four decades ago, Parkinson's Law can still be observed operating in the world of computers, and the "new" computers all of those years ago didn't manage to obviate paging files either.
The swapfile.sys in Windows 8+ is used for process swapping (moving the entire private working set out of memory to disk), but only for UWP applications.
There are some oddities in the telnet version, such as it conflating XTerm and PuTTY, and it presenting a bizarre timeout message when presented with a blank TERM environment variable. I wouldn't be surprised if it somehow thinks that NVTs cannot have more than 256 columns.
Alas, that's the part that has no source available. (The TELNET server class library has published source, buried in a hyperlink in a comment to a closed issue from 2019, but the actual program built to use that library has not.)
Alarm bells always go off for me when a vendor, as here, blatantly Photoshops an idealized perfectly black, flat, and non-reflective mockup image of what would be displayed onto the picture of the real display.
… and writing a detective story rather than a non-fiction book.
The reality is that someone writing in Harper's in 2025 and using a Dorothy L. Sayers Peter Wimsey story from 1934 as a supporting source is presenting a hopelessly outdated and fictional picture of the world and is going to come up for starters against the Australia and New Zealand Association of Bellringers, founded in 1962.
You will find that the pigpen cipher has a 1:1 mapping between its input alphabet and its output alphabet, and that a 1:1 mapping is a necessity for full invertibility.
What people in this thread call a "key" is, not like a key, auxiliary input data, but hard-coded into the program. We are looking at encodings.
Maybe this differentiation is not popular or well accepted, but it was surely part of my cryptography curriculum and the following exam. I'd rather believe my prof than strangers on the internet.
Key can mean different things in different contexts. In a substitution cipher, the key is the mapping. In modern ciphers, the key would be some set of secret bytes. Everyone agrees that this cipher would be a bad way to encrypt/encode something. But using the word cipher like this has real historical meaning, and that is the meaning that is being used in the project.
It has been submitted to Hacker News many times over the past decade, the Wikipedia article and otherwise, to almost zero comment. I suspect that everything that there is to say about the subject has already been said, especially since very little has substantially changed over that past decade since the deaths of the parents.
… except that it might have been people from IBM. OS/2 had a DosGetMessage() API function that looked up messages in a compiled message file and inserted strings taken from an application-supplied array wherever a %1 to a %9 occurred in the message.
It was regularly used to edit the applicable filename, drive letter, numeric values, or whatnot into error messages.
reply