What I haven't found is the technical reason why the most frequent letters had to be at the start in Linotype machine keyboards.
The title article says "for physical reasons, which would take longer to explain." I don't care how long it would take, I'd like to know. I guess it's something like having the handling of the more frequent case earlier in the assembly code, but the details are important.
That's exactly what I needed, many thanks. The author there also discusses other rationales which he considers later invented excuses, not the real reason, then shows what he believes to be the original idea. Once having this I've also found a shorter summary by the same author:
"It evolved during the development of the machine later called the “Blower” Linotype, which entered production in 1886. In this machine, the magazine consisted of a set of rectangular tubes set vertically (and permanently) in the machine. Mergenthaler knew that he would need to supply matrices in varying numbers, and he knew the frequency of the letters (stories that he asked for a count to be done are dubious - typefounders and printers had known the letter frequencies for centuries). But he was worried that the matrices might be damaged by their fall through these vertical tubes. For the most-used matrices (e, t, a, …) this was not really a problem, since they were supplied in greater numbers and would tend to fill their tubes a bit more (limiting the distance of their fall). But for the less-used mats (supplied in fewer numbers) he feared a problem. So he arranged the tubes in decreasing lengths and put the most frequent characters to the left. The layout of the magazine-tubes led directly to the layout of the keyboard below them. We know this because he said so in US patent 378,798 (filed 1886-07-17, issued 1888-02-28): “… If long tubes were used with a smaller number of matrices at their lower ends, each matrix would acquire a considerable velocity in falling to its place in the tube. This would tend to lead to the mutilation of the matrix.” (p. 3)
In the 1890 machine later known as the “Square Base” Linotype, Mergenthaler introduced a different solution to this - the inclined magazine, which avoided matrix freefall in the magazine. But he kept the “etaoin” layout."
Can't be assembly code as the Linotype machine was invented in the 19th century. It sounds quite reasonable to have the most common keys grouped together, but that is not "a physical reason".
Related question: Does anyone have a working SHRDLU to play with? The original code has been posted but it's Maclisp, so it probably needs porting or emulation and a little packaging. Also, I think the (blocks world) visualization layer is somewhere else?
Like dTal says there's a java version and also a windows cmd version but neither seems to be very stable. In general, it's rather a bit sad, but it seems that Terry Winograd's original code is going to be very hard to run- and has been changed by at least one of his doctoral students anyway. It seems that Winograd had to make changes to the Lisp runtime to get SHRDLU running as he wanted it for his thesis, changes that were not entirely backported to the code of SHRDLU later:
[Dave McDonald] (davidmcdonald@alum.mit.edu) was Terry Winograd's first research student at MIT. Dave reports rewriting "a lot" of SHRDLU ("a combination of clean up and a couple of new ideas") along with Andee Rubin, Stu Card, and Jeff Hill. Some of Dave's interesting recollections are: "In the rush to get [SHRDLU] ready for his thesis defense [Terry] made some direct patches to the Lisp assembly code and never back propagated them to his Lisp source... We kept around the very program image that Terry constructed and used it whenever we could. As an image, [SHRDLU] couldn't keep up with the periodic changes to the ITS, and gradually more and more bit rot set in. One of the last times we used it we only got it to display a couple of lines. In the early days... that original image ran like a top and never broke. Our rewrite was equally so... The version we assembled circa 1972/1973 was utterly robust... Certainly a couple of dozen [copies of SHRDLU were distributed]. Somewhere in my basement is a file with all the request letters... I've got hard copy of all of the original that was Lisp source and of all our rewrites... SHRDLU was a special program. Even today its parser would be competitive as an architecture. For a recursive descent algorithm it had some clever means of jumping to anticipated alternative analyses rather than doing a standard backup. It defined the whole notion of procedural semantics (though Bill Woods tends to get the credit), and its grammar was the first instance of Systemic Functional Linguistics applied to language understanding and quite well done." Dave believes the hardest part of getting a complete SHRDLU to run again will be to fix the code in MicroPlanner since "the original MicroPlanner could not be maintained because it had hardwired some direct pointers into the state of ITS (as actual numbers!) and these 'magic numbers' were impossible to recreate circa 1977 when we approached Gerry Sussman about rewriting MicroPlanner in Conniver."