HNHacker News
TopNewBestAskShowJobs

drfuchs

4,399 karma · joined August 31, 2011

submissionscomments
drfuchs··on Show HN: Replacing CAPTCHAs with adaptive proof-of-work in WordPress
Interesting to note that the original invention of Proof Of Work was motivated by anti-spam in particular ("Pricing via Processing or Combatting Junk Mail" Dwork & Naor, Advances in Cryptology — CRYPTO' 92).
drfuchs··on What driving across Europe costs in tolls, vignettes, bridges and fuel
Us Americans (pun intended) have no idea what “vignette” means in this context. And our dictionaries don’t, either.
drfuchs··on Knuth reward check
Well, I'm #4, but it's all from TeX stuff (where I'm kind of a ringer), and not The Art Of Computer Programming. The beyond-amazing Udo Wermuth is also all TeX, I believe, and did it without having a home team advantage; everyone else high on the list looks to be strictly TAOCP.
drfuchs··on UFO Series Home Page: "UFO" TV Series from 1970
The first episode of Star Trek: The Original Series where we hear the ship's computer speak is "Mudd's Women" filmed starting June 1966. UFO had SID talking from the very first pilot, filmed starting April 1969. So, less than three years apart, and not much time for the public's perceptions to change. On the other hand, HAL showed up on screen in the interim, so maybe that helped. And big shout out to Lost In Space's Robot B9, with more personality than all of them put together, and who showed up before for all of them, in 1965.
drfuchs··on UFO Series Home Page: "UFO" TV Series from 1970
Let's keep this pertinent to Hacker News: The nicely intoned computer voice of SID on UFO was way more advanced than the clunky monotone of the Star Trek TOS ship's computer.
drfuchs··on Tiny village votes for 'independence' from UK amid asylum seeker row
See the 1949 Ealing Studio film “Passport to Pimlico” for a take on how it’s going to work out.
drfuchs··on Distributed Systems Classics (2017)
A favorite Knuth story to illustrate: He was re-writing the 8080 code for the processor that ran our new Alphatype CRS Phototypesetter, since the manufacturer's code wasn't suitable. Real-time, 7 levels of simultaneous interrupt stuff, since it controlled two stepper motors that moved the lens around the photographic paper, plus four custom font outline-tracing S100 cards that flashed vertical segments of characters at just the right moment on the CRT that the lens then focused onto the paper. No debugability other than a 4x4 keyboard and a 15(?) character display. I was responsible for the code on the other end of the RS232 port that connected it to the DEC mainframe, sending down character outlines on the fly to the very limited memory on the 8080, along with the properly-sorted character placement info ultimately from TeX.

Anyway, we'd been doing morning, noon, and night debugging sessions together for a number of days. On maybe the 3rd morning, I arrived at his office and was speaking with his secretary of many years, Phyllis Winkler, when Knuth came in. He handed her a stack of maybe a dozen or two pages, saying "Here's a paper I wrote; please type it in." When? When did he write it? It's still a mystery to me.

drfuchs··on RSA-260 Factorized
Can I decode my DVD collection now?
drfuchs··on Indirect Calling of Nested Functions on GCC Without Executable Stack
TeX was developed on DECsystem-10/20 machines (36-bit words, your choice of byte size). The various operating systems (Tops20, Sail/Waits, ITS) were superior to Unix in a few ways, one of which was that when a process was suspended (think control-Z, or even control-C) you could issue the built-in shell SAVE command that would save the entire state of the suspended process into a new executable, data segment as well as code. So, on these systems, you could run TeX, have it load a bunch of macros and such, and then SAVE the result as a real, pre-configured executable for the world to run. Easy-peasy.

This was true for the original TeX78 written in Sail, as well as the ultimate TeX82 written in Knuth's WEB macro language on top of Pascal (that nowadays typically gets transpiled to C). Other programs did similar stuff; the feature was in the OS way before TeX started.

(Gory detail: Actually, TeX went a little further, to free up all possible address space for the final executable: The version that could initialize various hash tables and hyphenation trie tables could dump (nee serialize) a binary file of the resulting data structures; then a slimmed-down version that didn't have that code would read the binary info back in to recreate the initial data structure state, and that's what you'd SAVE the production executable from.)

For the unix-y versions of TeX, there was effort made to mimic this sort of thing in user-land with "undump", but admirable as it was, it was a hack, I'm told. These days, everything is so fast, it's not clear that this feature would be worth it anyway.

Source: me; I was there.

drfuchs··on Plastic mechanical computer from 1963: The Digi-Comp 1 [video]
Wait til you see the DigiComp II! It has flip-flops driven by marbles and gravity. Truly astounding.
drfuchs··on From boiling lead and black art: The history of mathematical typography (2017)
Hey, DVI was my suggestion and initial implementation; Knuth's comments in the TeX source code acknowledge this, and they mention plenty more people than Frank Liang who made significant contributions to TeX82: Leo Guibas, Michael Plass, Lyle Ramshaw, Robert Sedgewick, Luis Trabb Pardo, Howard Trickey, Doug Wyatt, and Ignacio Zabala.
drfuchs··on C programmers commit fresh crimes against readability
Also, Nixie Tubes were absolutely not “tiny.” Typically, they were about the same size as a vacuum tube you’d find in the back of your radio or TV. They were universally used on electronic equipment; less so on consumer devices.
drfuchs··on The Letter S, by Donald Knuth (1980) [pdf]
Nope, that would be Michael Plass (thesis title: "Optimal pagination techniques for automatic typesetting systems," though his line-breaking work is what showed up in TeX) and Frank Liang ("Word Hy-phen-a-tion by Com-put-er"). I wasn't there yet.

Metafont users can specify point size, boldness, slant, and whatever other parameters they choose (plus device-specific info like resolution) that can then be used in the simultaneous equations that determine the coordinates of critical points and shapes of pens used to draw the characters. So, for the smaller-font issue, the width of the pen may be a non-linear function of the font point size; ditto for the x-height, etc. In Metafont, it's the responsibility of the font designer / coder to handle it all; there's no automated algorithmic monkeying with the pixels other than what you write. This all becomes much clearer with a perusal of The METAFONTbook.

drfuchs··on The Letter S, by Donald Knuth (1980) [pdf]
Earlier additional great info from svat (and ramblings by me) are at https://news.ycombinator.com/item?id=20006525

One point concerning Metafont and Computer Modern (and TeX): A key overall goal of the whole kit and caboodle is that a document written in TeX and using the default fonts would produce exactly the same output on all capable computers and output devices, indefinitely into the future, with the same line breaks, page breaks, character shapes, etc. And in fact TeX files from over half a century ago still produce pixel-perfect results.

This requirement meant that the default fonts had to be portable between printers and typesetters with various resolutions (and other optical filtering attributes). There was simply no other way at the time to accomplish this than using a tool like Metafont to author a home-grown font family like Computer Modern (and even then it was a bit of a hope and a prayer).

And don't even get me started on how 5pt super-super-scripts aren't just 10pt characters scaled down by half, contrary to how post-hot-lead typesetters operated, and not fully addressed commercially until decades later.

drfuchs··on The Letter S, by Donald Knuth (1980) [pdf]
Not so about the Linotype. Back in 1980, I personally ran the Alphatype CRS phototypesetter (bought by DEK for the purpose), in the basement of Margaret Jacks Hall, that produced the entire camera-ready copy of The Art Of Computer Programming, Volume II, Second Edition. The DVI files and Computer Modern fonts were created by the early, Sail-language, 36-bit versions of TeX and Metafont that were later redesigned and implemented to be more cross-platform. Knuth rewrote the firmware that resided on the Alphatype (in 8080 assembly language), and I wrote the code that translated from DVI and drove it from the DEC20 mainframe over a serial line (trickier than it sounds; see our joint paper "Optimal prepaging and font caching" ACM TOPLAS Vol 7 Issue 1).
drfuchs··on The Surprisingly Long Life of the Vacuum Tube
Kind of astonishing that they managed to retain the institutional / folk knowledge to be able to create a new vacuum tube product, never mind the machinery and inputs to manufacture them.
drfuchs··on Eight More '8-Bit Era' Microprocessors
I did some assembly programming on the Fairchild F8 mentioned in the prequel article. Quaintest feature: Doing a “long” jump (more than 127 bytes away) would cause the accumulator register to be clobbered. Presumably, there was nowhere else to store the high (low?) order address byte routing things around to the PC register. This was also a problem for the debugger (in ROM on the development system), since continuing from a breakpoint necessitated a long jump, so it couldn’t restore the accumulator. So, the debugger would just simulate instructions until it hit a jump, which it could then jump to. Or something like that. Fairchild provided a listing of the source to the debugger / emulator, and the line that simulated messing up the accumulator during single-stepping was commented “The F8 Touch!” It made an impression 50 years ago.
drfuchs··on SFO Quiet Airport (2025)
Burbank Airport used to get recognizable celebrities to record the canned public announcements in their own style. I seem to recall Joan Rivers, Henny Youngman, Jerry Seinfeld, etc. It took some of the edge off while you waited around, at least for a bit. Don't know if this continues.
drfuchs··on XOR'ing a register with itself is the idiom for zeroing it out. Why not sub?
Relatedly, there's a steganographic opportunity to hide info in machine code by using "XOR rax,rax" for a "zero" and "SUB rax,rax" for a "one" in your executable. Shouldn't be too hard to add a compiler feature to allow you to specify the string you want encoded into its output.
drfuchs··on Joe Halpern (1953-2026)
Also https://news.cornell.edu/stories/2026/02/joe-halpern-towerin...
drfuchs··on Faster Than Dijkstra?
From who now?
drfuchs··on Oxide raises $200M Series C
Can they re-raise it in Series Rust?
drfuchs··on Show HN: A custom font that displays Cistercian numerals using ligatures
But they left S, X, and Z rotationally symmetric, so if you choose a non-palindrome vanity plate with only those characters, you can mount it upside-down and fool plate-readers.
drfuchs··on Wirth's Revenge
Well, ackchyually, the first releases of FrameMaker were created on Sun 3/50 workstations with 4MB of (unexpandable, soldered-in) RAM on a 16Mhz 68020. Most customers had the same model, and could work on modestly-sized documents with ease.

But it's not a lot of space for documents of hundreds of pages, so typical customers who were using FrameMaker to write user manuals for their products had to use "book" files to tie together individually edited chapter files. Then, once in a while you'd have to push the "generate" button on the book to get all the page numbers consistent between chapters, all the cross-references updated, and generate the updated Table Of Contents, Index, etc. You're welcome.

But there's a potential degenerate case where Chapter 1 might have a forward reference to Chapter 2 ("see page 209"), but due to some editing in Chapter 2, the referenced material now on page 210. Well, in some fonts, "209" is wider than "210" (since "1" can be skinny). So, during the Generate operation, the reference becomes "see page 210". But there's some tiny chance that this skinnier text changes the including paragraph to have one less line, so there's some tinier chance that Chapter 1 takes one less page, so Chapter 2 starts one page earlier, and now the referenced material is back on page 209. So now we're in a loop.

This was such an unlikely edge case that nobody else noticed that it even existed, much less that it was detected. I didn't bother with a fancy error message; it would just give a little one-word popup: "Degenerate". Years later, mild panic ensues when a customer calls in, irate that the software is calling them a degenerate. (And it wasn't even a real example, just some other bug that triggered it.)

drfuchs··on The Cray-1 Computer System (1977) [pdf]
Colossus: The Forbin Project is simply a renamed release of The Forbin Project, a few months after the later had a poor opening. Didn’t help the box office much. I liked it, back when it was easy to dismiss as an impossible dystopia.
drfuchs··on Waymo temporarily suspends service in SF amid power outage
Waymo halted service in San Francisco as of Saturday at 8 p.m., following a power outage that left approximately 30% of the city without power. The autonomous cars have been causing traffic jams throughout the city, as the vehicles seem unable to function without traffic signals.
drfuchs··on Text case changes the size of QR codes
It still says "44 characters" when I click the link.
drfuchs··on A Lost IBM PC/at Model? Analyzing a Newfound Old Bios
Oops. Anyway, I remember attending a talk by one of the IBM engineers back when they first released the XT/370. He said that they looked at all possible ways to integrate their production line as a kind of secondary track off of one of the main production lines for the PC/XT, but the most economical option ended up being a separate facility that would receive normal pallets of regularly boxed, end-user XTs from the main factory, unbox them, make the mods, and pack them back into XT/370-labeled boxes for shipping.
drfuchs··on A Lost IBM PC/at Model? Analyzing a Newfound Old Bios
Any chance it was for the "IBM Personal Computer AT/370" that nobody remembers (perhaps because nobody used)?
drfuchs··on Downloadable movie posters from the 40s, 50s, 60s, and 70s
Yeah, and I suppose you’re going to tell me that Han didn’t shoot first, either. Did you refer to an original 1980 70mm release print, before all the fiddling around they did on subsequent releases? And newspapers and fanzines from 1982 that covered the issue (at first, LucasFilm denied these posters even existed).

On the other hand, it seems that you are, in fact, correct. Oh, well.

Page 1 of 21Next →