"Gary viewed computers as learning tools rather than profit engines. His career choices reflect a different definition of success, where innovation means sharing ideas, letting passion drive your work and making source code available for others to build upon. His work ethic during the 1970s resembles that of the open-source community today.
"With this perspective, we offer a portion of our father’s unpublished memoirs so that you can read about his experiences and reflections on the early days of the computer industry, directly in his own voice."
Sounds really interesting. Thanks for making this available!
His accomplishments cannot be overstated: https://en.wikipedia.org/wiki/Gary_Kildall#Recognition
Yes, there are quite a few videos on YouTube about him, named “The man who should have been Bill Gates” but that’s just click baiting. Watch the special episode of “The Computer Chronicles” about Gary Kildall and see what his friends and business associates say about him.
[1]: https://www.proquest.com/docview/302615627/?fromunauthdoc=tr...
Here's the url to part 2 of that 4-parter, where Gary gets mentioned (also covered in parts 3 and 4): https://www.filfre.net/2012/05/the-ibm-pc-part-2/
..which leads to a page, with this link at the bottom.
> Download the Kildall Manuscript [2.31MB] https://computerhistory.org/blog/computer-history-museum-lic...
A story with intrigue that chronicles the why and how Microsoft ended up extracting the most value from the PC revolution instead of the hardware makers and of course, why that was DOS instead of CP/M.
I liked the oral history nature of this podcast, walking me through things that preceded me in technology, and then things that I lived through like the 90's internet.
https://www.internethistorypodcast.com/2016/03/the-man-who-c...
I also recommend Hard Drive (1992) [2] for a deeper look into the business side of Bill Gates.
Regardless of any negative opinions about him, I believe Bill Gates was/is in a league of his own.
[1] https://en.wikipedia.org/wiki/Idea_Man
[2] https://www.amazon.com/Hard-Drive-Making-Microsoft-Empire/dp...
This is exactly my point.
> He hated running a business, even though he started DRI after failing to convince Intel to buy CP/M
This is what uniquely qualified him to bring about a nicer timeline.
Sadly, we got the second rate one...
Interpreter - an entirely different kind of animal. Microsoft didn't get a BASIC compiler until much later.
> He helped Wozniak implement a version of BASIC supporting floating point numbers.
No. He sold Apple a BASIC, then used it as leverage to prevent Apple from making a BASIC for the Macintosh.
> Ballmer was the biggest businessman in the bunch.
He suggested cutting Paul Allen's family off when Allen was battling cancer.
I remember watching a documentary. IBM officials showed up at Kildall's house twice to convince him to sell/license CP/M to them. Pre-planned meetings. He ghosted them both times. One of those times they waited hours for him.
Jobs would never let something like Windows 1 escape the lab.
Form follows function. Just ask Ive.
https://www.nytimes.com/1994/06/11/obituaries/mary-gates-64-...
Due to inflation, this is like $113 vs $679 today. It was a no-brainer to buy MS-DOS instead. Kildall clearly was a businessman wanting to make money off of it.
D's compile time function execution engine works that way. So does the Javascript compiler/interpreter engine I wrote years ago, and the Java compiler I wrote eons ago.
The purpose to going all the way to generating machine code is the result often runs 10x faster.
Well. come on, I'd already done this so many times that the tips of my fingers were wearing thin, so I designed a general interface, which I called the BIOS (BASIC I/O System) that a good programmer could change on the spot for their hardware. This little BIOS arrangement was the secret to the success of CP/M.
With the BIOS in place, a programmer could make CP/M work with their specialized hardware. With all those hobbyists out there, believe me, there was no shortage of specialized hardware. Glenn and I built a BIOS that afternoon and stuck CP/M on an IMSAI. He demo'd it to Ed Faber and the IMSAI engineers, and they loved it."
Writing a BIOS for a new machine in a single afternoon. Those were the days...
That should automatically tell us we shouldn't trust them, and yet fandoms and followings abound.
Um, no? your experience is probably at least two decades after the time period in question.. The more advanced versions of, for example, the TRS-80 BASIC (part of this "microcomputer BASICs that all share a common set of bugs") did no more than tokenize - so, `10 PRINT "Hello"` would have a binary representation for the line number, a single byte token for PRINT, then " H E L L O " and an end-of-line marker. Actually interpreting the code involved just reading it linearly; GOTO linenumber involved scanning the entire code in memory for that line number (and yes, people really did optimize things by putting GOTO and GOSUB targets earlier in the program so the interpreter would find them faster :-)
Many programming languages parse their program to an AST then walk that AST interpretting as they go. But for BASIC you can parse/execute statement by statement - no need to parse the whole program ahead of time, and certainly zero need to compile to either machine code or any internal representation.
Remember at the time we're talking about 64k was a lot of RAM. Some machines had less.
It's a VM of a sort, and the p-code the VM executes is tokenized input.
In a sense, every game developer back then wrote a very small real-time operating system that dealt with user input, state management, screen updates, and audio. I wrote a window server (a window-stacker would be more accurate) for the Apple II.
EDIT, nevermind someone already did it. The epub looks great: https://news.ycombinator.com/item?id=44603066#44605221
[1] "Two for one" -- two desirable outcomes from a single action.
There is no way successful IBM would commit to Microsoft without a thorough vetting.
Few remember, but IBM also sold CPM/86 for the PC. Kildall had his chance, and muffed it with the high price.
Ms Gates was not associated with IBM.
Not what I heard at the time - IBM accommodated what Kildall wanted. Kildall could have sold it separately at a competitive price.
In fact I think all now-dead authors should have their work as-is protected to a fair degree.
Dollars to donuts that the anecdotes revealed something either embarrassing or personally connected to the family members, it's just easier to posthumously blame the drinker.
I absolutely agree that shining light onto the subject of alcoholism is nothing but good for those seeking to avoid the horrible problem.
When I prepared a "history of D" for a paper a while back, I went looking through all my documents and emails and the D forum history looking to pin things down. I, too, discovered that my memories didn't match the facts as well as I wished it did.
Memory is a funny thing.
One should always be skeptical of accounts written long after the fact. I sometimes wonder how much of our written history is false. I support statutes of limitations because of this.
Why? Because of possession? That's a crummy reason.
Art is supposed to be upheld as on par with 'divine creation' by those that respect it. Literature, being art, isn't different.
in other words, we knew the Ecce Homo restoration was botched because we were able to compare it to the original piece.. sadly we won't ever have the luxury of knowing what kind of hatchet was taken to the memoir after the author's death.
As a result, being on the board gave a person tremendous soft power by giving them a direct impact on whether or not they chose to fund a non-profit. The way that expressed would be trips and junkets "for free" for United Way board members as a means of attempting to persuade them to fund a given non-profit. So let's say your kid starts a non-profit and you want other board members to advocate for it being funded. You, as the parent, have a conflict of interest and so must recuse yourself from that decision, but others on the board do not. Having someone in that meeting you can count on to make a solid case for your kids non-profit is worth a lot.
Rich people giving advantages to other rich people is frowned upon as collusion and nepotism, but when you launder that through a giving non-profit and even better you get to use other peoples money, and avoid a whole passel of tax implications. Well who is going to complain that United Way is funding this non-profit versus another? They had so much money to give away it was no doubt easy to hide the less well supported donations from things like the Red Cross or mothers against drunk driving donations.
That's the game at this level.
But 99.9% of people take "compiler" to mean translating source code to either a native CPU instruction set or a VM instruction set. In any tutorial on compilers, tokenization is only one aspect of compilation, as you know very well. And unlike some of the tricky tokenization aspects that crop up in languages like C++, BASIC interpreters simply had a table of keywords with the MSB set to indicate boundaries between keywords. The tokenizer simply did greedy "first token which matches the next few characters" is the winner, and encoded the Nth entry from that table as token (0x80 + N).
When LIST'ing a program, the same table was used: if the byte was >= 0x80, then the first N-1 keywords in the table were skipped over and the next one was printed out.
There were also BASIC implementations that did not tokenize anything; every byte was simply interpreted on every execution of the line. There were tiny BASICs where instead of using the full keyword "PR" meant "PRINT", and "GO" meant "GOTO" etc.
https://archive.org/details/computerchronicles
Why not start with the "Gary Kildall Special":
I.e. I'm not buying the notion that her influence went beyond simply suggesting they check into what her son was doing.
As I recall, at the time said commitment was made, Microsoft didn't even _have_ an operating system, and subsequently bought QDOS! Their original deal was for languages.
I.e. the basic program was lexing and parsing. It's a compiler. A very simple one, sure, but a compiler.
BTW, I've read a lot of computer histories, and I often find errors in them. This is why professional historians try to use contemporary sources as much as possible.
This was used to save memory -- there wasn't much room to hold both the source code and an intermediate form. But also it wasn't that necessary, with the keywords tokenized and the syntax so simple that there wouldn't have been much savings in space or performance.
see my comment at https://news.ycombinator.com/item?id=43591941 for the long version.
Hopefully short version.
IBM went to Microsoft (MS) for languages for the new PC. IBM asked if MS could provide an OS. As per unwritten agreement, MS told IBM to go to Digital Research (DRI) for an OS.
Whatever happened at DRI, IBM didn't get a licensing deal for an OS. No OS meant no need for MS languages. When IBM complained to MS about not getting a licensing agreement for CP/M for IBM PC, one of the MS people suggested Tim Patterson's CP/M clone. IBM was outsourcing everything to keep away the IBM bureaucracy, so they told MS to handle everything.
When MS asked IBM how they wanted to pay for the OS, MS gave several options including 1) per copy royalty, or 2) flat rate (which turned out to be $40K). For easy accounting, IBM chose 2). MS asked to be able to license OS to others. IBM said yes. MS didn't really care about how IBM paid for the OS, their bread and butter was languages. DRI wanted to be paid per copy of CP/M-86.
DRI still didn't have a retail CP/M-86 for IBM PC at launch time. By the time they did ship CP/M-86, charging much more than PC-DOS1.0, Lotus 123 would launch within a few months running on PC-DOS. By the time DRI lowered the price for CP/M-86, they were way behind in market share.
Gates (well, the MS programmers) had to make the software work on the PC hardware of the time (CGA/EGA video cards including non-square pixels and terrible colour palette, see https://devblogs.microsoft.com/oldnewthing/20100625-00/?p=13...)
If it helps, pretend that I wrote “cronyism” instead. My point was simply that it having a friendly voice at the board level is a large potential advantage which was only available to one of the vendors. While we cannot prove anything which wasn’t written down, it seems implausible to say it couldn’t have affected things – especially in an era where personal relationships carried more weight and there was less scrutiny of these sorts of things.
1) Mary mentions to John the chairman of IBM that her son has a company doing "Computer Stuff" (they were the premier BASIC on CP/M at the time, IBM was planning to have BASIC in ROM so would have been talking to Microsoft about that). John asks the team doing the PC if this "micro-soft" has an OS like CP/M or if they are just a language company.
2) The question gets back to Bill who scrambles to say "Sure we can do OSes too! we have this thing we're calling it, uh, "microsoft disk operating system" MS-DOS for short. (while they scramble to secure the rights to the OS) I expect Bill had already been talking to Seattle Computer Products about selling a version of BASIC on their 86-DOS because he was all about the hustle and he wanted it to be on every computer. He likely saw the opportunity and would have asked about licensing it as a product Microsoft could sell.
3) The PC team finds out that Gates can supply both the OS and BASIC and presents to John: "Option A: We can get BASIC from Microsoft and CP/M from Digital Research" (most popular OS and most popular language), "or option B: we can get both BASIC and an OS that is similar to CP/M from Microsoft."
I am suggesting, that given that scenario, John could have expressed a "preference" (always leave it in the hands of the team you delegated the decsion to, to decide, but you can express a preference) that they go with option B. Putting myself in his seat, I might have spun that preference as "Microsoft's OS isn't out there, but neither is CP/M for the 8086, and this way we would only have to deal with one vendor for software integration." All straight up, all above board, reasonable argument.
What I'm saying, is that in making that choice, it gave John something he could use with Mary, "Hey we're going with your son's company for the language and the OS" and she would be happy about that. I'm also saying that I would not be surprised that had a product person said "We going to be fighting headwinds with a microcomputer that doesn't run CP/M as that is the one that these small businesses are using, we really should go with CP/M-86 here." And having the chairman push back with "Why don't we do this, IBM has a good reputation for its operating systems on 'real' computers, we'll take the Microsoft product and rebrand it as 'PC DOS' and it will be an IBM thing which businesses already trust, how about that?"
Also a reasonable thing to do or choice to make. And it worked out for them and Mary appreciated John's support in helping her son's business. Which was helpful to John as a board member of United way. So two for one, IBM gets an OS and John gets a favor credit with Mary.
But I also point out that this is rampant speculation and no more accurate than a large language model that uses statistical likelihoods to write sentences. :-) The only other bit of information I can add is that I was working for IBM the summer of 1977 as an intern, and my boss knew I was trying to save up enough money to buy a CP/M computer so he gave me a secret peak at how IBM was going to take over the microcomputer market so maybe I should wait. He showed me an unreleased product, the IBM 5100 running BASIC, it had a built in screen. It was a computer by engineers, for engineers, and no one would buy anything else :-).
Even young me knew that was not gonna fly :-). But the IBM of that time was both predatory (they were being sued left and right it seemed) and cheap, and they thought they were the smartest people in the world. When I went to the PC presentation they gave us in 1981 at USC I thought, "Hmm, not a 5100, but a bunch of their own software with third party chips." That was very on brand for them.
Jobs and Apple board didn't give stock options/shares to some early employees, Woz stepped in to make up for some of the shortfall. see https://apple.fandom.com/wiki/Woz_Plan
Gates argued with Paul Allen about the percentage of company ownership. IMHO, Allen didn't like confrontation so Allen acquiesced to Gates benefit.
You of all people should know this, come on.
I tried CP/M-86, and found it to be different, but not better.
When IBM returned to MS, Gates decided that opportunity had dropped in his lap again, and this time he wasn't going to turn away from it.
> So we got the notice about the rolling out and all the rest of that, and so as Gary and I were want to do, we flew up to San Jose and took a cab over to the IBM store, and we came in the store, and sure enough there was the IBM PC sitting there, and here were the three boxes of the operating system. And we looked at this and the IBM PC-DOS was priced at $40, and then over here was CP/M and it was priced at I’m pretty sure it was $260. It was more than $200 above PC-DOS, and I don’t even remember what the UCSD P-System was. But we looked at that and I’ve never had my face slapped in my life, but I know what it would feel like to have my face slapped. It was such an unexpected thing. I mean we had totally assumed that this was going to be a level playing field, that PC- DOS was going to be priced the same as CP/M, the same as the UCSD P-System, and that we were going to let the market, the users decide which one, which clearly it wasn’t. And Gary described that day later on in his memoirs as kind of the day innocence was gone.
Here's a link to the full oral history if you're interested: https://archive.computerhistory.org/resources/access/text/20...
Comparing PC-DOS 1.0 to CP/M-86 1.0, I don’t think there are huge differences in features - maybe FAT12 is a more efficient filesystem; PC-DOS records file sizes to the byte, CP/M files are made up of 128 byte records, and although there is a filesystem attribute to say how many bytes in last record are used (file size mod 128), it has to be implemented at the application level; DOS had EXE files (wasn’t in SCP 86-DOS, was added by Microsoft), I think CP/M by then had something similar? Neither had directories yet, but CP/M had “user areas” which were a kind of limited equivalent.
I think if they’d ported MP/M instead of CP/M (which I believe they did later), it would have been a more compelling offering-multitasking-but I suppose that would have made it even later to the market than it already was.
This seems like a rather unrealistic expectation when one has per-device royalties and the other hasn’t. Of course, that probably can’t fully explain the magnitude of the price difference-which may indeed have involved some underhandedness on IBM’s part-but a vendor who charges a reseller more for a product than its competitor and then complains that reseller sells its product for a higher price the competitor’s, is being a bit silly
I remember reading this when it was released. The "later chapters" are missing. No one is perfect, and compared to Gates, Kildall is folk hero. The world of computers has no shortage of morally bankrupt nutters, some of whom have fallen on absurd wealth that insulates them from ever being judged on their character. I don't think anyone interested in reading OS history is going to judge Kildall on his personal life. It might even be a cautionary tale against substance abuse. For me, it is too much of a tease to publish a few chapters and withhold the later ones.
This was not a BIOS in the sense of the PC ROM-BIOS, it was an OS module containing device drivers - the equivalent in PC-DOS is IBMIO.COM, in MS-DOS it is IO.SYS.
Of course, writing it in an afternoon was still impressive, but it was a lot smaller than even the IBM PC ROM-BIOS; the MVP was essentially just two device drivers, one for the floppy drive, the other for either the screen/keyboard or for the serial port (if you used an attached serial terminal for IO). Probably IMSAI already had code for those drivers and they were just taking that existing code and interfacing it with the CP/M BIOS API
An intercom? In a house? So that your mother didn't have to repeatedly yell up the stairs to your brother that food is on the table? Sure sounded like rich person stuff to me.
According to this wired.com page, https://www.wired.com/2011/08/0812ibm-5150-personal-computer..., IBM had sold 65K PCs in 4 months.
The BASIC interpreter doesn't recognize `3+x*(2+y)` nor does it compile it instead it evaluates that expression using a pair of stacks. You've expanded the definition of compilation to cover almost all computation. It's compilers all the way down to the electrons.
There was one employee who brought his own desktop publishing setup. It was a souped up desktop PC and some other kit, but it had the latest MS-DOS, Windows 2.x, Windows 3.x, and GEM - plus a bunch of art and desktop publishing software (I believe Pagemaker).
It wasn't entirely clear at the time what the future was, so it was perfectly reasonable to have all this in one place. I remember at some point noting how similar GEM was to GEOS on my friend's Commodore 64, but how much snappier it felt and how much crisper it looked.
I remember Computer Chronicles being on the air at that time, but never connected the dots that what I was looking at on the computer had anything to do with the co-host. It was a bit dry of a show for a kid, but consistent with the day. But even then I remember Gary clearly being an expert, and I identified much more with him than with Stewart.
A few years later when my family finally bought a PC compatible the only offering for operating system and desktop environment came from Microsoft. They had simply annihilated everything else on the market. By then all the software I knew from the desktop publishing suite and my friends ran in either MS-DOS or Windows 3.1 -- or it ran on an entirely different system (C64, Macintosh, etc.). So we just sort of accepted it.
I remember at some point getting a modem, dialing into BBSs and coming across GEM on a warez board. I downloaded it, had some memories, then moved on. It never evolved the software ecosystem around it that Microsoft managed to create.
from Tim Paterson's website, https://web.archive.org/web/20190722012644/http://www.paters...
...In May, he went to Microsoft to work full-time on the PC-DOS version of 86-DOS.
"The first day on the job I walk through the door and 'Hey! It's IBM,' " says Paterson, grinning impishly. "I worked at Microsoft a neat eleven months. In May, June, and July I worked on things I hadn't quite finished, refining PC-DOS."
International Business Machinations.
This was the beginning of an eleven-month hurricane. Almost daily, Paterson shipped stuff to Boca Raton for IBM's approval, and IBM would instantly return comments, modifications, and more problems.
"They were real thorough. I would send them a disk the same day via Delta Dash. IBM would be on the phone to me as soon as the disk arrived." Paterson pauses and winds up. He's remembering one request that clashed violently with his view of the project.
"IBM wanted CP/M prompts. It made me throw up." But when IBM asks, you comply if you're a lowly programmer, and that is what Paterson did.
He finished PC-DOS in July, one month before the pc was officially announced to the world. By this time, 86-DOS had become MS-DOS.