71 comments

[ 3.1 ms ] story [ 71.7 ms ] thread
www.quora.com Performing security verification This website uses a security service to protect against malicious bots. This page is displayed while the website verifies you are not a bot.
If you have too much adblock, as I do, you can never visit quora.com. The security check will just loop infinitely.
Funny. Just tested that because I'm always told: too complicated, nothing will work!

And got no check at all.

Threat intel of the IP or network you're coming from matter as much as anything else. FirefoxLinux on a clean IP can access places ChromeWindows on a dirty high-risk IP cannot.
Maybe the times are changing. Went through with Adblock and vpn. No looping.
Man I didn't even realize that Quora was still around, let alone prominent people still answering questions on it. I deprioritized it in my Kagi searches months ago and even then I didn't notice that much of a change in the quality of my searches.
Yeah this is the first time in months if not years that I’m seeing the website.
Quora is such a gamble when it comes to accurate or relevant results. Either you get something incredibly insightful from someone with real experience or you get misinformation and stupid opinions. It's really only slightly helpful when I'm looking for subjective opinions or a personal perspective on some topic. It's very much a negative result when I'm looking for factual, verifiable information.
Some older people are on it, apparently, and some good experts among them too. Older folks often don't keep up with platform fashion. Some good older scientists even use academia.edu or researchgate...

Of course I'd prefer if he answered on a StackExchange site, tho I heard those are in decline too, but at least not enshittified like Quora.

I'm pretty sure Kay's not quite correct about the Eniac not being a stored program computer. In it's original form it obviously was not, as it had to physically reconfigured to solve different problems. However, after the war it was rebuilt to operate like any other stored program (von Neumann architecture) computer, as it was the first recipient of the design philosophy seen in the EDVAC report. It operated in that mode from '48 to '55, when it was decommissioned.

ENIAC in Action: Making and Remaking the Modern Computer is an excellent summary of the initial design and redesign of the Eniac.

Apparently Eckert (John Mauchly and J. Presper Eckert designed the ENIAC) claimed that von Neumann basically stole their idea of the stored program and that they had already came up with the idea and he just took it and ran with it as if it was his

> And John Von Neumann? He came and looked at our stuff and went back to Princeton and wrote a long document about the principles. He gets a lot of credit but the inventions were ours. Someday I’ll write a book on who really invented the computer.

>Johnny learned instantly, of course, as was his nature. But he chose to refer to the modules we had described as “organs” and to substitute hypothetical “neurons” for hypothetical vacuum tubes or other devices which could perform logical functions. It was clear that Johnny was rephrasing our logic, but it was still the SAME logic. Also, he was introducing different but equivalent symbols; nevertheless the devices still did the same things. Johnny did NOT alter the fundamental concepts which we had already formulated for the EDVAC.

Eckert and Mauchly weren't reliable narrators of the history of their work, given how much they needed to claim in order to get the patents that were later invalidated. They claimed quite a few things that were later disproven in court or through historical study. At the least, Eniac was designed by the team at the Moore School.

von Neumann's "First Draft of a Report on the EDVAC" was both a summary of discussions by the Eniac team as well as von Neumann's own original work proving and expanding on various aspects of those discussions. It's called the von Neumann architecture because he was the author of the seminal paper, not because he laid any particular claim to the ideas. Eckert and Mauchly were mostly upset about the paper's existence, regardless of author, because it made it impossible for them to patent the stored program idea in general.

Story as old as time: corporate vs academia working towards very different goals and with different incentives, short term profit vs publication. In very rare cases, the scholar gets the rewards.
>Eckert and Mauchly weren't reliable narrators of the history of their work, given how much they needed to claim in order to get the patents

The existence of an incentive doesn't predestine the outcome.

Von Neumann was the one who inappropriately failed to credit them in "First draft...". Goldstine was the one who distributed it knowing they were legally unable to publish themselves. These are the unethical actions that clouded the record. Between these two sides, I'll be trusting Eckert and Mauchly's account.

>They claimed quite a few things that were later disproven in court or through historical study.

Ehh.. I'm curious which things you're referring to. The patent trial was hogwash, so depending on the topic, 'disproven in court' could mean literally nothing. I hope you're not just an Atanasoff crank...?

Saying "like any other stored program computer" makes it sound like there were a bunch of them, but as I understand it there was really only ONE up and running at that time in 1948 - IBM's SSEC. The stored program EDVAC, whose architecture Von Neumann had formalized, was still not yet running, and Von Neumann personally advised on adapting ENIAC to this mode of operation.

As I understand it, even after adaptation to "stored program" mode, the program was still configured rather than loaded and stored, but now configuration was done using the function table dials (essentially a dedicated dial for each program step) rather than patch cords, and was a lot more convenient. Punched cards could be used for reading/writing data, but not for programs.

It seems there was no BIOS because I/O was so primitive. Per configuration a punched card would be read into the "constant transmitter" unit, then one of the read numbers could be copied into one of the 20 accumulators. Or you could do the same in reverse to output data from the accumulators.

Right. The patent refers to "semi-permanent cable connections" between card reader, registers, and printer. Basically, you could load and dump parts of memory, in decimal. The registers were all decimal, and so were IBM tabulators, so the interface is mostly a set of relays. No sign of format conversion or alphabetic capability.
>as I understand it there was really only ONE up and running at that time in 1948

As a matter of interest, "that time" being April, it was only two months later in June that the Manchester Baby ran its first stored program.

EDSAC as early as 1949 had an "initial orders" module. A boot-up ROM. There was a bank of rotary selector switches, to set the octal digits in each ROM word.

David Wheeler (of subroutine fame) figured out the most sensible thing to put in the tiny ROM was a paper tape loader and mini-assembler that loaded the rest of itself from paper tape. So at switch-on the machine would start reading the tape input and run. Programs could be written on the teletype with mnemonics and relative addresses in octal.

It seems a little strange that more advanced later machines like the original PDP-11 from 1970, couldn't "autostart" from ROM like that. You had to toggle in a bootloader.

I think that was because core memory was non-volatile. (EDSAC didn't use core; it had a refreshing DRAM-like delay line memory.) With core, you only had to toggle the bootloader into once and, provided your software didn't accidentally overwrite it, it was still there after a power cycle. So re-toggling in the boot loader was not that common, despite how much lore surrounds it.

DEC supplied optional boot rom cards for UNIBUS, starting with the BM792, which arrived as a 32 x 16 matrix of diodes. You had to remove some of the diodes by hand to set the boot code.

Later cards used PROMs, and were pretty fancy. The M9312 had 512 words and included some basic CPU diagnostics. Different variants handled boot from disk, paper tape, console, etc, and you had to specify the options you wanted when you bought the card.

In Fred Hoyle’s science fiction novel, The Black Cloud, there is a computer in an early chapter that is clearly inspired by EDSAC. When they run a program on it, the process is just what you describe - they load a paper tape in through the tape reader, which Hoyle describes in detail.

I first read that book before I knew that in British English a vacuum tube is called a valve (from thermionic valve and which makes more sense than the American term, I think), so I was confused by the line about how warm the room was due to all of the valves!

We called them thermionic valves too, just the terminology shifted a bit over time. We also called capacitors "condensers". Both were references to steam powered control systems.
Hmm, I have read contradicting accounts.

They say the term did not originate from the steam condenser. Quite the opposite, it became deprecated because of the ambiguous meaning of steam condenser.

What I'm reading is that it originated as a metaphor to steam condensers, and was deprecated because the two different systems having the same term led to ambiguities.
Many languages still call them "condensers"; from the top of my head, Spanish, French, Italian, German, Japanese, and likely many others.
Even in English in some cases the term is still used, for example in condenser microphones, and in the context of old mechanical fuel systems.
My dad, a lifetime ham radio operator and an EE called them condensers sometimes. And would refer to frequencies in kilocycles.
Valve gear is particularly full of transatlantic differences, as well as valves vs tubes in many cases the same specific valves can have different names depending on the side of the Atlantic you're on such as EL84 vs 6BQ5. Your high voltage line is called HT in British but B+ in American, while what we'd call an anode in the UK is more commonly called a plate in the US. I'm not sure if it's as fixed but I've usually heard Americans calling what I'd call the heater the filament as well.

While 'valve' makes more sense from the point of view of what it does, 'tube' makes more sense from the point of view of what it is I think.

Processes like this are where "boot" comes from. The machine was pulling itself up by its bootstraps. The ROM was sometimes called the "bootstrap loader."
"Oh, I wonder which subroutine he came up with"

(Googles it)

"Ah"

Very biased, but at Cambridge we were taught (by Maurice Wilkes among others) that the EDSAC was the first “useful” computer.
I just met John Robson at a meeting who was one of the first people in the world to run a frequency domain analysis on time series data - on EDSAC! He spent a long time explaining the precise algorithms to me - amazing!
> It seems a little strange that more advanced later machines like the original PDP-11 from 1970, couldn't "autostart" from ROM like that.

Because the PDPs had magnetic core memory, so the bootloader, once toggled in, stayed in memory. The OS took care not to overwrite it.

And in normal operation you wouldn't have to use it at all, you just switched on your PDP, and it was in the same state as when you switched it off.

Also, bootloaders were short (because peripherals had lots of intelligence); toggling one in was a matter of minutes.

> I think that was because core memory was non-volatile.

Exactly. And when RAM cards were available to replace core (very late in the lifecycle of the minis), the RAM was battery backed to simulate that behaviour.

Yes that early pdp-11s had core memory, its contents survived power cycling. We'd hand toggle in the bootstrap into high ROM and start it, it would load whatever we were running from paper tape - unless you did something stupid that trashed that high memory you'd get to reuse the bootstrap over and over

Having said that the bootstrap was something like 8 16-bit instructions, a pain but not impossible

The first machine I ever played with was a PDP-11/10 with 16K of "core" and 3 ASR-33s & a VT52 connected by 20mA current loop serial.

Bootstrap was a small set of octal instructions on a piece of paper stuck to the front panel.

That was enough to load the "absolute loader" from paper tape on one of the ASR-33s, which then loaded blocks of BASIC from paper tape.

It was a "multi-user" BASIC that dropped string functions (except CHR$()) in exchange for allowing 3 users.

The EDSAC's "boot ROM" consisted of a bank of physical "uniselector" switches, hardwired to contain the 31 instructions ("initial orders") of the tape loader.

Subsequent computers could have followed this "electro-mechanical ROM" approach, but I suppose it was rather bulky and inconvenient to change. You can see what the uniselectors looked like here at 8:50

https://www.youtube.com/watch?v=Yc945sNB0uA

Of course programmable ROM chips would have to wait, so in the meantime the alternatives were either the toggle-it-in approach (still also used by the 1974 MITS Altair 8800), or other more compact types of handmade/hardcoded physical ROM such as magnetic core or diode matrices.

The Harris 100 launched in 1978 still used a bank of toggles for initial load.

I was operating and maintaining several until about a decade ago.

That's a bit surprising on a more expensive machine.

How often would you reboot them?

Typically daily. They were used for troubleshooting and repairing military avionics. They survived decades onboard ships, etc. They got temperamental in their later years, but we kept them going.

If you have any interest you can search up the (sparse) information on the AN/USM-484 Hybrid Test Set (or System).

TIL about delay line memory, thanks! Curious idea. Wikipedia says Alan Turing proposed the use of gin as an ultrasonic delay medium :-)
Alan Kay answering questions on Quora. What a cool gift to the world!

This is one of the thing we lose as more and more of the conversations turn to people privately asking LLMs things, who do their best to scrape out answers from the existing info or make up a best guess. People are losing the ability to ask experts with real, unique knowledge and then share that knowledge with humanity.

he answers questions here too
The most surprising thing about this to me is Alan Kay answering questions on Quora.
He's been doing that for years. I wish he'd come back to HN though!

https://news.ycombinator.com/posts?id=alankay

It's a shame he doesn't post here more often, because Quora's user interface is so spectacularly hard to use and intentionally, aggressively, darkly patterned.

Quora has at least three different ways of folding content, and each one needs its own click: answers truncated at "(more)", comments collapsed behind "View comments", and nested replies collapsed again behind "View more replies". For logged-out readers there's also a login wall that blurs the rest of the page. The whole thing is fragile. Click the wrong thing, hit Back, or refresh, and it forgets everything you expanded and where you were scrolled, and dumps you back into a feed of unrelated "related" answers. Worst of all, there's no way to link to a comment so that it opens back up. The link lands on a page with everything folded again, and whoever you sent it to has to redo all the clicking to find what you meant. HN has one kind of fold, [–], and every comment has a permanent item id that takes you straight to it, expanded and in context.

Maybe the way hota_mazi aggressively argued that Alan didn't coin the term "object-oriented," and then when challenged posted a bunch of unsubstantiated misinformation, to which Alan exasperatedly asked him twice to do his homework, didn't leave him with a good impression of the "civilized behavior" of Hacker News.

It started in a thread about Joe Armstrong, when hota_mazi lumped the two of them together:

https://news.ycombinator.com/item?id=19716281

hota_mazi on April 22, 2019 [flagged]:

> Both Alan Kay and Joe Armstrong struck me as having had the same attitude of trying to capitalize on the topic of object oriented programming, failing to recognize its importance, and then later trying to appropriate it by redefining it.

> Not the best moment of these otherwise two bright minds.

Alan himself replied:

> This is way off. Please try to do more homework.

When someone pointed out that Alan coined the term, hota_mazi dismissed Alan's own account of his own work:

https://news.ycombinator.com/item?id=19716318

hota_mazi on April 22, 2019:

> That's what he claims but there's zero evidence besides his own word.

DonaldPShimoda asked the obvious question:

> Ah, so you have evidence that it was somebody else?

hota_mazi admitted he had none:

> I don't, but that's not how the burden of proof works.

And when told the sources exist, he demanded them while still rejecting the claim:

> Link these sources, then! Even someone who recently interviewed him and researched the subject for months confessed he could never corroborate that claim.

> You make the claim he coined the term, the burden of proof is on you.

> Until you do, it's perfectly reasonable and intellectually honest to reject that claim.

Alan's weary verdict on the exchange:

https://news.ycombinator.com/item?id=19721772

alankay on April 22, 2019:

> An interesting and unfortunately true commentary on the lack of civilized behavior using technology that actually required a fair amount of effort -- and civilized behavior -- to invent in the first place.

Meanwhile hota_mazi moved on to telling Alan what his late friend Joe Armstrong "really" thought:

https://news.ycombinator.com/item?id=19716419

hota_mazi on April 22, 2019 [flagged]:

> Armstrong wrote the very famous "Why OO sucks" and then a decade or two later, changed his mind when he saw how successful OO was, and then tried to retrofit Erlang into an OO language. Not by changing Erlang, but by twisting the definition of OOP so that Erlan...

I had Claude Opus disassemble the CDC 6600 dead start panel. The hard part was finding a better image of the switches so the vision could read the bits.¹

The content isn't very interesting, and Claude's comments aren't very detailed. Not bad for 2 minutes of work about a 62 year old computer though. Look out Ken Shirriff, AI is coming for you.²

  Addr   Octal   Instruction      Meaning
  0001   7512    DCN  12          Disconnect channel 12 (put it in a known idle state)  
  0002   7712    FNC  12, 4000?   Send function code to channel 12's device  
  0003   4000?                      └ function code (last bit unclear: 4000 or 4001)  
  0004   7712    FNC  12, 0001    Send another function code
  0005   0001                       └ function code
  0006   7712    FNC  12, 1500?   Send a third function code
  0007   1500?                      └ function code (least certain row)
  0010   2000    LDC  0160?       Load A with a word count
  0011   0160?                      └ the count
  0012   7412    ACN  12          Activate channel 12
  0013   7112    IAM  12, 0015    Read A words from channel 12   into memory starting at 0015
  0014   0015                       └ destination address
1. https://dyninst.github.io/scalable_tools_workshop/petascale2...

2. Not really. I have no idea if this disassembly is corrrect.

3. Quora is prison for words.

(comment deleted)
BIOS wasn't a concept until 1975 with CP/M so it isn't possible for a computer older than that to have one.
Many people unfortunately completely conflate one or more of these terms to generically mean "ROM-resident code that enables a device to self-bootstrap": BIOS, UEFI, firmware, bootloader, boot ROM, boot flash, IPL, (boot) monitor, microcode
So early computers did have BIOS, but they loaded from wetware rather than firmware?
Kay nails it: the ENIAC 'BIOS' was literally a team of humans with patch cables. Makes you appreciate modern bootloaders.
Even into the "modern" microprocessor era, a lot of them had no BIOS to speak of they just loaded the first instruction from a standard address (e.g. 0000) and started running.
Leave it to Alan Kay to articulate the spirit of a BIOS, even for ENIAC. Those fundamental abstractions persist.
Reading Kay's take reminds me those guys were the BIOS. Fascinating how computing evolved from pure hardware, not just software.
Kay probably explained how we were the BIOS then, flipping switches and loading programs by hand. Different era!
How often would those cold-start switches be altered?

Just when they wanted to swap tape-reading hardware?

Or did different programs want slightly different loaders?

Somewhat tangential, I've watched a bunch of videos on YouTube from @deramp5113 about the Altair 8800 and other early microcomputers, which feature a similar set of front panel switches for dialing in your initial program. One thing that's interesting to me, as someone who learned computing in the late 90s, is how much is expressed in octal instead of hex on these early computers.

As shown in the linked picture, the byte pairs are divided into [4 groups of 3] instead of [3 groups of 4] switches, which I would find more comfortable as a hex-reader. I believe, maybe someone can confirm, that octal notation is easier to translate into bits than hex is. We just don't do either of those things terribly often anymore, so octal has mostly fallen out of favor, perhaps because it groups less nicely into multiples of 8.

Nowadays I almost never think in octal. The only time it seems to come up is for Unix file mode switches (chmod etc), which likely date to this time when octal was more common.

Just some interesting cultural drift.

Octal just maps onto 3 bits instead of hex's 4. I always imagined it had something to do with the size of the byte not being standardized yet.
I have restored a Data General MicroNOVA that also uses octal. It has an emulated front panel over serial and uses octal in multi-digit commands like specifying which address you want to boot from, "33L" to book from an MFM disk controller for example. That is probably a legacy carryover from the NOVA 3 and earlier where you would be able to input the same thing into the front panel switches.

Fundamentally I wouldn't say octal is fundamentally easier to interpret other than hex because it's just half as many digits. The shorthand things about octal used in unix you mentioned all still technically apply to hex as well. The only really tricky part is where it becomes letters and you have to think if D or E is the odd value with the first bit set. If you were doing hex all day though, the 6 hex letter patterns would be pretty easy to memorize.

Personally I would say for front panel systems specifically was just about physical space for the switches. If you look up CPU trainers for something like Intel 8080 in the Altair 8800, you'll see it uses a hex keypad. Multiple 16b values would have been a lot harder to fit in single bit switches.

Octal allowed used of simpler numeric displays (numeric nixie tubes or 7-segment displays) as you only needed digits and not ABCDEF that you'd need for hex notation.
Octal on a PDP-11 meant that the instruction set (16 bits) allowed two-register instructions with src/dst register and modes taking up 12 bits.

So you programmed the front panel with 3 fingers for octal instead of 4 for hex.

I don't remember any CP/M system with the BIOS part in ROM (and BDOS loaded from disk). It would be possible, of course, but every subsequent version of CP/M for that machine would need to be able to work with the "frozen" BIOS, and I'm not sure CP/M was designed thinking of mixing BIOS/BDOS versions.

Saying that, I think the Epson PX-4 and PX-8 had CP/M in ROM.

Having said that, Alan Kay has seen things we people wouldn't believe, so, if he says it happened, I'm betting on him.

Guy who still writes Quora answers
So isn't the BIOS sort of an intermediary artifact?

I think when CPM booted, there must have been some hardcoded disk firmware to get the boot sector into memory.

The IBM PC bios was burned into the system.

I think the boot process is multifaceted and can have as many stages.

Boot loader before init. Point is that ISO runs with .img files.