4 ms·
The idea that big computers and little computers were fundamentally different goes back at least as far as 1976, when I ran into Steve Jobs at Country Sun Natur
by Stratoscope 8y ago
The idea that big computers and little computers were fundamentally different goes back at least as far as 1976, when I ran into Steve Jobs at Country Sun Natural Foods in Palo Alto.
Both of us being hippies, we got to talking and Steve told me he'd just started a company with a friend and explained the name: "Take a byte out of the apple, get it?"
He mentioned that they needed a 6502 disassembler, and I said that was right up my alley. I'd been programming for eight years and had done low level assembly and binary machine code on several different architectures, so this looked like a fun little project.
We didn't talk money, not that he had any, it just seemed like an interesting weekend diversion.
Steve called me a couple of days later and said, "Mike, I've been thinking about this. Your experience is all with mainframe computers. The 6502 is a microcomputer. It works on fundamentally different principles than those mainframes. There's no way you could possibly write this disassembler, so forget it."
I tried to explain that I'd gone through the 6502 reference, and it was just another instruction set with concepts similar to the others I'd worked with. Steve wouldn't have any of it: "I'm sorry, I've made up my mind. You just don't know anything about microcomputers, all you know is mainframes. Goodbye."
Naturally I said to myself, "Who is this Steve Jobs guy telling me I can't program?" So I went ahead and wrote enough of the disassembler to show that I did indeed know how to do it.
I was about to call Steve back to tell him the good news, but then I thought, "The last phone call didn't go so well. Maybe I'd better drop by his office and show him the code."
So I looked up the address for Apple Computer and found it at 770 Welch Road in Palo Alto. I walked into the building and looked around. It didn't look like a computer company, all I saw was a row of telephone switchboards - the old kind with plugs and jacks - with an operator at each one.
I asked one of the operators where Apple Computer was. She hesitated a moment and said, "Uh, this is their answering service."
Well, of course no successful business used an answering service. I turned around and walked out the door, saying to myself, "These guys are flakes. They're never going to make it."
To this day I don't know if I missed out on becoming a billionaire, or if I dodged a bullet.
- bdickason 8y agoGreat story - thanks for sharing :) In hindsight, do you think it was any different? (Microcomputer vs mainframe for the disassembled you were talking about building)
- Stratoscope 8y agoThank you! I went into more detail in another comment in the thread, but going from one instruction set to another just felt like having more than one way to say the same thing. Every instruction was different, but the concepts and kinds of instructions were pretty much identical. Once you've seen an overflow flag and a carry flag and registers and bit shifts and memory load and store on one CPU, you'll certainly recognize them on another. I guess Steve thought the CPUs really were different, like, say, the difference between a CPU and a GPU.
- reaperducer 8y agoI guess Steve thought the CPUs really were different, like, say, the difference between a CPU and a GPU. There's a lot of revisionist history on the internet about Steve Jobs not being technical, but he had an incredibly detailed understanding of the 68000 by the time the Macintosh project was launched. Perhaps your encounter encouraged him to delve into that area of study.
- glhaynes 8y agoWhere did you hear he had such a deep understanding of the 68000? (Not questioning whether he did, just curious because I've never heard that.)
- reaperducer 8y agoReading old computer magazines from the library.
- amelius 8y agoSo what you are saying is that big computers and little computers were fundamentally the same?
- Stratoscope 8y agoDefinitely the same, at the level Steve and I were talking about. The 6502 has instructions that manipulate registers and memory, logical and arithmetic operations, branches and calls, status flags, and so forth. Just like all the "mainframe" CPUs I'd been programming. The word size is different, the special areas of memory are different, it has different opcodes, and so on. But any competent machine language programmer of the day - regardless of which CPUs they'd programmed on before - would have had no trouble understanding this: http://www.obelisk.me.uk/6502/instructions.html http://www.obelisk.me.uk/6502/instructions.html That's what Steve didn't understand at the time. Not being a programmer himself, he didn't know how familiar all this would look to any machine language programmer.
- DonHopkins 8y agoSteve always had a problem with heavy big blue computers: "Unaccustomed as I am to public speaking, I'd like to share with you a maxim I thought of the first time I met an IBM mainframe: NEVER TRUST A COMPUTER YOU CAN'T LIFT." -Macintosh https://youtu.be/pptb1Uzn7SQ?t=3m04s https://youtu.be/pptb1Uzn7SQ?t=3m04s
- jimmaswell 8y agoAmazing how he was so astoundingly wrong about so many things and still managed to luck and cheat his way to the top.
- DonHopkins 8y agoYou'd be a billionaire with a bullet in him.