 I may introduce you Warnelosz. He's now working for Netflix. Though what we hear from him is not anything about video, but about Unix history and some more Unix history things which are not multics coming to Unix, which we probably all know, so we'll hear maybe things we didn't know before. Thank you very much, and let's go, I think. All right, thank you. Last year, Unix turned 50 years old. And in celebration of that, a lot of people gave history of Unix talks that range from very interesting to not maybe so interesting. How many people here saw one of those talks? How many people gave one of those talks? Me too. So the talk generally can be boiled down into about three slides. AT&T got into Multics, which was supposed to be this great singing, all-dancing advanced computer system. And after five years of poor progress, they left the Multics project. After they left the Multics project, Ken Thompson and Dennis Ritchie didn't know what to do, so Ken found an old PDP-7 and wrote Unix for it. This gave them the credibility to make the patent office buy them a PDP-11 so they could port Unix to that. A few years later, they rewrote. They got tired of rewriting it in a similar, so they rewrote it in C. And a few years after that, Unix got set free into the world. Everybody was using Unix as of the sixth edition. And with the seventh edition, it totally exploded. This is where all the adaptation happened. This is where Berkeley forked their version. In fact, we had a fork of Unix where System 5 went commercial, and BSD added networking, and we had all the Unix wars of the 80s. And in the 90s, we gave rise to Unix because everybody else was fighting or whatever reason. Usually people offer different opinions. This gives kind of a simplified family tree that looks like this. I put this up here because I'll refer to some of these later things in the rest of my talk, and I want you guys to know where they're at. This also shows that oftentimes people giving these talks have their own agenda. I'm on the FreeBSD court team, so of course I put FreeBSD up here, but none of the other BSDs. Sorry, guys. But today's talk will be just in the early part of this family tree where things really got going, and a lot of really cool things happened that when I talked to other people about it, they didn't know, so I thought I'd put a talk together so I could share it with people. Before I get going, I want to give a shout out to the Unix Historic Society. You'll hear me talk about two's this and two's that later in the talk. That's the Unix Historic Society. And what they've done for the last 20 years is they've gone around and gotten as many artifacts as they can from the history of Unix. A lot of them are binary artifacts. Some of them are incomplete. Another thing that they've done is different subgroups have gone off and taken the incomplete artifacts and done some, I guess you might call it restoration work, to allow you to run early versions of Unix or explore what should have been on this tape if we had the tape but we pieced it together from all these other places. The other people I want to give a shout out to is Bitsavers. Al Casso started this about 20 years ago to preserve Unix and more generally any electronic technology documentation. He set up a scanning station if you go and look at his site. He has a big, long presentation about how he scans everything. He's currently working out of the Computer History Museum in Mountain View, so if you donate your documentation you might actually get a tax deduction depending on what the laws of your country are. And these days he also accepts people that have scanned in documents and he'll put them up on his website. He's very instrumental in preserving a lot of the documentation from the early machine so people can write emulators for them, which is very important if you want to run early Linux. Most people don't have a PDP-7 or a PDP-11 in their back pocket and this work allows those emulators to be created. And when I gave this talk to a friend he said, nobody's going to know who AT&T is in Europe. AT&T is the phone company in the United States. It was founded by Alexander Graham Bell. And so you'll hear me talk about Bell this, Bell that. The Bell system was the entire group of companies that were the phone company and Bell Labs was the premier research institution that was part of that. Another thing you should know is in 1956 they signed a consent decree because they had a telephone monopoly that basically said, we won't use our telephone monopoly to branch out into other markets. The other thing in 1982, that was thrown out and AT&T was broken up but that let them start aggressively marketing Unix and monetizing it, which is actually the arrow beyond this talk, but it's parts of it impinged on this talk so you might need to know that for later. So in the standard history I said that Ken Thompson found a PDP-7. But what's a PDP-7? It's a mini computer that Digital Equipment Corporation, DEC, produced in the 60s and 70s. And it was one of a line of 18-bit computers. Now 18-bit sounds kind of weird. We're used to 16 or 32 or 64 bits. But at the time DEC came out with this, all the mainframes were 36 bits. So 18 made sense. It was like half a mainframe or something kind of in the thinking of the time. And these were huge machines, you know, this tall, big as a refrigerator. Here's a picture of one of them being delivered to the University of Stockholm. And here's a nice stately stage photo of one. Most of the PDP-7s when they were in use didn't look anything like that. They were quite a bit messier. So the bit I said where Ken Thompson found a PDP-7 because he was disillusioned from the Multics project being cancelled is not entirely correct. He played this game called Space Travel. You'll see this screenshot up here. It's the only screenshot we have of Space Travel. And nobody knows what it means, but every talk seems to include it, so I had to. But he was playing on their mainframe. And in those days, mainframes were frightfully expensive, and they charged a lot of money just for a little bit of CPU time, and each game cost 50, 60, 70 bucks to play. And yeah, it was phony Maloney lab money, but a report went to his manager, and he didn't want to have that happen. He didn't want to be talked to about wasting time on the mainframe. So he scrounged around, and one of the departments that sat near them at Murray Hill was the Visual and Acoustics Department. And they had a PDP-7 that they had used for some computer music and sensory research, psychology of sound research that they had done. But they were done with it. They were kind of the darling of the labs and got all this money, so they went from machine to machine to machine, and this one was one of the leftovers. So Kenry wrote Space Travel in PDP-7 assembler, loaded it onto paper tape, ran it over to the PDP-7, and loaded it on a machine like this and would play his games. And that was fine as far as it went, but he kept finding bugs in it and kept wanting to improve it. So they had, at the labs, designed a system, they had designed a system on paper that nobody had implemented yet, so he went about implementing it with Dennis Ritchie so that he could play this game better. But what they wound up with was Unix. Ken also started writing a Fortran compiler because the original Space Travel game was in Fortran. He thought he could just bring it over, but that didn't go very well, and he wound up with a language called B, which evolved into new B and then into C, which is what they would later rewrite Unix in. I could do a whole talk on that progression, but my time here is short. So PDP-7 Unix is largely a footnote in history. Nobody uses it today, nobody knows about it today, except maybe, you know, a quick question to a trivia, or an answer to a trivia question. But it was very important in building credibility for this group at Bell Labs, they had just had spent five years with a failure in Multics, and they needed some wind they could show. So they were able to use the PDP-7, show it to people, show how useful it was, and were able to get the patent department to buy them PDP-11 to port Unix too. For a long time it was believed the sources were lost to history. There's no binary artifacts from this time, nothing really survived, but there have been a few recent discoveries. In 2011, Robert Morris Sr. passed away. Now he was a security researcher at Bell Labs in the 60s, 70s, and 80s. And he did a lot of security things on Unix, probably the one you're most familiar with is Etsy Password. And when he passed away, he had a huge collection of papers that took a long time to go through. So his estate asked Doug McIlroy, who was another person from Bell Labs, to go through the papers and sort out the ones of historical relevance. And he found a paper that described the PDP-7 Unix and PDP-11 Unix. Now there's no date on this paper, but from the internal references in here that the PDP-7's been earning for a year, the PDP-11 just started. We know that this is from 71. And if you take the time to read through this paper, it looks a lot like the later papers that describe the architecture of Unix. And I'll talk about those in a minute. But we have more to discover on the PDP-7. The next year in 2016, Norm Wilson was going through his garage and found this notebook of Unix source that he had copied while he worked at Bell Labs. And it turns out that it was the PDP-7 kernel listing and the user utilities A through F. So a group with a two's group typed this all in because you might think this would work to OCR, but when you OCR it already, and you get all kinds of errors and you have to recheck it anyway, so it's faster just to type it all in. So they typed it all in and created an image and enhanced SIMH simulator to run it. And now you can run PDP-7 Unix. I have a link to the GitHub if you'd like to check this out after my talk. There's a link to my talk slides from the conference website, or there should be, I put it in what, Pintobarf. And for a while we thought, okay, we'll have to be happy with just half a system. But this past summer, the Computer History Museum in honor of the 50th anniversary of Unix found the other half of the notebook. It turns out there were two books that were in the Unix room at Bell Labs, and Dennis Ritchie wound up with the second one and it was in his estate. And so they scanned all of it in and the two folks jumped back in and grabbed everything. And this time there was space travel sources. I'll get to what happened with those here in a minute. And the other thing that happened this summer is the Living History Computer, or the Living Computer History Museum in Seattle, Washington, had restored a PDP7 that had been donated to them. And they got Unix running on it. They took the two sources and booted it. I thought I'd share a little bit here. This is the front panel console with all the blinking lights. And Unix just booted. You just see the question mark. Now, a lot of people say, no, that couldn't possibly be. Every single Unix system I've ever logged into is unbearably chatty. Well, it started from here and got worse. So, in fact, if you go back in some of the user newsletters, people were very angry when they added the prints for restricted rights for Western digital. So it's been a long battle. So what do we know from all of these cool things that have happened in the past couple of years? Well, we're able to get a very good picture of all the components that were in the system. And we can take that knowledge that there was a light pin and a certain type of deck display and a custom graphics device, an early GPU in a lot of ways. And we can combine it with this listing we have of all the 18-bit deck computers. Why do we have this listing? Well, another packer app, whose name I forgot to include in this, had this listing on Greenbar paper in his garage and scanned them in and uploaded it to Bitkeepers. So we're able to look at that and see who had what equipment. Deck Field Service took very meticulous notes and kept very good records of all of the systems that they had. So from all of this, we can figure out what the machine is. Now, I have a blog entry here. It's probably too small to read. But if you want to go read all of the details that I don't have time to go into, we'll know that Ken's discarded PDP-7 with serial number 34. And it had these components on it, including the RCO-9 disc, which was retrofitted from the PDP-9s, which meant when Ken wrote the system, the only PDP-7 that could run it was the one they had. It was completely unique. Also, in 1965 prices, this was a quarter million dollar machine, so very expensive machine. There's one other thing. I have a photo here from a sales catalog. It's similar to the other photos I've shown. And I have a still frame from that video I showed you. It's called The Incredible Machine, and it was produced by Bell Labs in 1969. And if you look closely, you can see the different components line up. The status lights from the memory bank is the first arrow. But we see the paper tape machine and the console that you also saw when I showed you the film-booting UNIX. So, again, if we go and look at the history and look at what machines this could possibly be, the only machine this could possibly be is the one that wound up in the scrap heap that Ken Thompson later used to run UNIX, which is pretty cool. So I thought I'd show a couple more seconds of this. You can see the machine there in the background. These guys are talking about making computer music. In the last talk I couldn't have sound, and it's probably better because the music is very harsh to our ears. But it kind of shows the technology that Ken was working on when he did this. The bad news is there's still no space travel. Now, I had this as a separate slide hoping against hope that somebody the days before the conference would announce, oh, yeah, here's space travel and here's how you play it and stuff, but no luck. The problem is that since the graphics to display that it was written for was kind of like an early GPU, you would send it basically machine code to run to do the display. And some of the op codes in that machine code aren't documented and they're still trying to puzzle out what's going on with that. So moving on to the PDP-11 era, this was a much cheaper machine. It was a 16-bit machine. Again, they were still pretty big. An entire system would be just one of those racks, although they came in smaller configurations, a quarter rack or a half rack worth of equipment. It was much cheaper, too. It was one-tenth the price. And the Bell Lab guys chose well, because over the next 20 years or so, digital released 30 different models. So these were everywhere in every niche and Unix could run on them, which was an important key to its success. So the first edition of Unix ran on the PDP-1120. This is the front panel. For those of you who don't know, the front panel, you would, to boot the machine, you would set the switches to an address and hit a button and then data and hit a button and do that a bunch of times and clock in the bootloader. And then you'd hit go and it would run this bootloader. And then if it would crash, you could use it to examine memory to see what was going on. It was kind of a crazy way to run things. Fortunately, the boot programs, usually only three or four instructions long, but it is kind of crazy. We have, from this edition, we have the scanned manuals, which I included there. And it was a straight transliteration of the PDP-7 code to PDP-11 code. They did nothing else with it. At the time at Bell Labs, they weren't worried about creating releases. They had the first edition because that's when they printed the manual. It's the first edition of the manual and we printed it on a particular day and we printed a lot of copies. But they had kind of a rolling release for software. Oh, you want Unix? Okay, here, let me copy a disc for you. Here you go was their release model. So we don't have a lot of the artifacts from this time that we would like to run. One of the additional quirks is there are a few tapes from this time and they have timestamps on them, but we don't know when they're from because instead of being a count of seconds since 1970, it was a count of one-sixtieth of a second from 1970. And that number would roll once a year or so, so every year they would bump the epic. So you would get a tape, but you wouldn't know exactly what the epic for the tape was to interpret the dates on it. So a lot of the reconstructed, hey, here's the first edition Unix, maybe it isn't, maybe it isn't, probably not because of this issue. Now, they were able from a course that was taught at Bell Labs to reconstruct a similar for this first edition kernel. It was basically listings like this. I've included set UID just to give you kind of a flavor of how it was programmed. I had an earlier on the PDP-7 slide. I had the PDP-7 version of that. And along with the source code listing, there's these handwritten notes that describe every single function in the kernel so that you can go and read them. And those are all down at this URL here. Again, another two's artifact that's preserved. The second edition was for the PDP-1120 and a new 1145. It has a bigger number, so it's a bigger machine. And in this edition and for the next few, they called out how many installations there were. There are now 10 Unix installations. They were bragging about it. And they're also bragging about moving it to a better machine. So in this edition is the start of the C compiler. We have a C compiler from here, but we don't have much else. There's a few programs from a tape, but that's about it, apart from the manuals. Again, due to the reason I was talking about. By the third edition, there are up to 16 installations, and they're actively running away from the 1120. Why is that? Well, the 1120 was a dinky little machine that offered no memory protection. So if two people were running on it, one person could crash the other person's code. And they wanted to get away from that. And the 1145 also addressed more memory, so you could have a bigger address space, so the programs could be bigger. And from this edition, there's no binary snapshots. We have a couple things that might be from this. It might be later. And we have a C compiler that's definitely from this timeframe. So now we're up to November of 1973. All of this that I've talked about has happened in a period of less than two years. The port to the 1145 is complete. They've added another member in the family, and they're now up to 20 installations. And this is the first edition that they rewrote in C. And they want you to know, hey, this is in C. All those other things we're running away from because we don't want to deal with them anymore. So this marks the fourth version of UNIX. And it's also the last rewrite that they'll do for a long time. This version also is notable because it's the key version that was adopted inside of Bell Labs or the Bell system. We don't have very many artifacts from it, which is unfortunate. We can't go and study it to see who gave what to, you know, who passed what code to who and when. But we know that a lot of early groups grabbed UNIX starting with this version. This is also the first version to be released to universities. Four or five got it. Columbia was the first. Berkeley, MIT, Purdue, and Harvard. And since it was out in the wild, people wanted to talk about it. So UNIX forms. The UNIX user group started forming at this time. I just tossed up what SETUID became. A little bit simpler than the assembler. Probably something more approachable. And it would remain like this all the way through the end of research UNIX. So what got people interested in UNIX outside of Bell Labs? Well, Ken and Dennis gave a talk at ACM Computer Symposium, and they left this teaser in the proceedings. Just this abstract of what it could do. The world had to wait until the next summer to discover that all the details that they had talked about in their talk. So this is the first paper on UNIX. And after this time, if you do a search, the number of papers just explodes. And this paper is written in TROF. So it's typeset. So when they sent it off to the communications of the ACM for publication, they said, oh, I'm sorry, we don't publish things that have already been published before. And they said, oh, no, no, it hasn't been published. This typeset is part of the system that we describe. So please publish it. And this would serve as the basis for the documentation for UNIX, for anybody that wanted to use it for the next four or five years. If you study this, you'll see that correspondence to the paper that I showed before. And another interesting thing started happening. When I was doing the search, I found a lot of papers on physical things or chemical things that were written in VEL labs. And the only reason they popped up on my search is the last line of the paper said, this paper was typeset on a UNIX system. So it was a way that they were kind of stealth market to everybody that, hey, this is a cool system. So a lot of people, when they think, hey, when was UNIX forked? They think, oh, it's the Great Berkeley System 5 split that happened in the early 80s. Well, that's not entirely true. Off of this fourth edition, give or take a little bit, four groups inside of VEL labs were using UNIX. The first three I'll describe in a little bit. But the last one was the first use of UNIX outside of VEL labs. And it happened with the first edition or so version of UNIX. That is CB UNIX. So we've got a very complicated family tree to start with. The first one was CB UNIX. It started out as SCCS UNIX. And SCCS means something different than what most of you are thinking. It's switch control center system. I got it right. Rather than source code control system. And what this was is an attempt by VEL labs to make money off of UNIX by automating their switching. Since they were a phone company, they would make difference. They would make their money by having... by charging people for a long distance. And the switch control systems would do that. And in order to build these systems, they added a lot of cool features that weren't in their base research version like inter-process communication and so forth. I have a timeline here of all the different things that they added. The important thing to note is they had all this early develop in CB UNIX or Columbus UNIX. But it wasn't really merged back into the main line until system five. So when people talk about system five IPC, it had origins way back here. And one of the things that's kind of unfortunate is this was deployed at hundreds of locations inside of the bell system. But it was virtually unknown outside of bell labs. We only have one scanned manual and a few interviews to tell us what was going on. And in a lot of the books about system five IPC, you'll see the name mentioned and maybe one sentence describing what it was used for. So it's very hard to study this. Even though we have the manuals and a kernel source listing, nobody's gone through and typed it all in and tried to make it work. Virtualization is really cool. And a lot of people here, probably if I asked for a show of hands, everybody would raise their hand for who's using Linux or something else in a virtual environment. But IBM actually invented virtualization in the 60s. So the first ports of UNIX to use that were to IBM's VM 370 hypervisor. But the oldest one is something called MIRT, which stands for Multiple Real-Time Executive. One of the groups at Bell Labs had this that could run real-time processes, make real-time guarantees. And they ported UNIX to it to run as a process underneath it with a process with privilege, but it's still a process. So if UNIX crashed to restart it, they would just restart the process. And this was a real-time system used also in telephone billing and telephone switching applications. It also had an interesting life. It was rebranded as UNIX RT and they tried to sell it for a while and then they abandoned it. And then D-MERT, which was a multiprocessor version, came along. So if one processor died, it could be restarted by the other one. So they rebranded this UNIX RT, real-time reliable so that everything was reliable. And there are a couple of papers on this I've included if you want to go take a look. The next is Programmer's Workbench. Now, this was one of the releases that made it outside of Bell Labs. And what they did is they took UNIX and they said, hey, how can we make the system great for programmers? So they did it in a couple of ways. One, they hooked it up to a bunch of mainframes and you could submit your jobs to the mainframes. At the time, you would have to take these big decks of cards and walk them across to an operator who would load them up and run. And that was kind of a pain. So they made it so that you could just submit your jobs remotely. And to do that effectively, you need a source code control system. So you can make your changes, try it out, much like we do today with Git. And this was the first version to have a version of Shell. It's not the born Shell we have today or bash. It's a descendant, but it's similar. And they have a bunch of other productivity tools that went along that awk and grep and sed came from this. And then Unix Support Group. So the Unix Support Group also had a number of versions of Unix that they produced. This is the internal line of Unix that would go on to be commercialized, system three and system five. So backing up, the first version we have a artifacts for is the fifth edition. This was released seven months after the seventh edition. And there's now 50 installations. It's still exclusively PDP11. It's more in C than an assembler, but it's still a mix. And we have, you can go download from twos images and run them in the simulator. And this is the first version that was kind of widely spread among different universities. Multi-processing has also been a thing for a long time in Unix. But most people don't realize how far back it goes. It goes all the way back to the earliest days. If you pulled most people, they might say, well, maybe it was something with a Vax. And that was the second earliest one. A group at Purdue took two Vaxes and hooked them together and had an asymmetric multi-processing system that way. But the earliest one is something called M-Unix. That was developed at the Naval postgraduate school. I've included a diagram here with little arrows to show where the CPUs are. I'm not going to talk about this too much for a couple of reasons. One, the biggest one is that all we have is the paper. And the paper is exactly what you'd expect from a multi-processing Unix paper. You have to use semaphores to control simultaneous access. And it talks about some of the problems that the Unixes of the time had. They had a bunch of global variables, and that presents some problems if you've got multiple machines trying to access them at the same time. Networking in Unix also goes back a long ways. A lot of people say, oh, it started with Berkeley. And it turns out that there were a number of implementations before Berkeley did their stack. Before Berkeley at AT&T, there was something called Data Kit. And at Berkeley, there was something called Birkinet. But BBN wrote the TCPIP stack. That would actually later go into Berkeley. Berkeley added a Sockets API. The BBN stack had a completely different API that was more file-oriented and showed some of the limitations of the everything is a file paradigm. But the earliest ones, it's kind of a tie. There's something called Network Unix that the University of Illinois did in 1974. And there's a spider cell network inside of AT&T. And I put both of these up there because it shows the split in thinking between these two groups. Everybody inside of AT&T was circuit switched. They're a phone company. They make circuit connections. So their networking was based on that. Everybody outside of AT&T was packet switched. Everything's virtual. We just send packets. And that's the school of thought that won. And that also explains why if you go back and look at these early unixes, a lot of the ones from Bell Labs don't have any TCPIP stack because they had this giant blind spot. They thought everything was going to be circuit switched. The sixth edition, everything goes viral. They have so many installations that they don't call out how many there are. And this version, if you had a PDP11 on the Internet, it was probably running the sixth edition. And there's a whole laundry list of new things that are in this edition. The interesting thing is this is where the first commercial license happened, up until this, it had been educational licenses. And the first commentary on the Unix system, the John Lyons book, was created. John Lyons had a computer class he taught that taught all the internals of version six. And so they have a little disclaimer. This document may contain information covered by one or more licenses, blah, blah, blah. But it's the first indication that there's licensing issues with Unix. And so he printed this. He did a run of books after AT&T gave permission. And then AT&T withdrew permission. So it was impossible to get this book. So it became probably the most photocopied book in computer science. People would photocopy it. And there were seventh, eighth, ninth generation photocopies. People would pass it around and say, hey, don't tell anybody, but here it is. I'm actually running a little short on time. So I'll just mention that the first distribution, the first distro, wasn't a Linux thing. It was a group of Australian universities with the sixth edition. And they made a bunch of cool enhancements to the system to make it run in a university environment where you have hundreds of users, not all of them are trustworthy or competent. And you want to still have your system survive them. We have a more complicated family tree that I'm just going to pop up here. And I think I'm going to end on the ports of Unix. Now a lot of people go, OK, it was the inter-sale 730. It was the first one at the University of Wollongong. And that's correct. But there were two others that happened within a couple of months of this. Bell Labs had their own port. There was a few months later. And Princeton had ports of VM370 that was in between those two ports. So within a span of a season, three, four months, Unix grew three additional ports, just as a testament to how portable the system is. So the next thing is Bell System Technical Journal. I've included a link here for people that want to read it. This was the documentation people had of Unix until System 5 came out. And the manuals for that became more widespread. And I guess I'm going to just end with the seventh edition, Unix Explosions. It's ported everywhere. Everybody's running it. Everybody's selling it. It's a very complicated system. And it had a bunch of new features. So this is also the first edition that has fan art. This is a copy of a t-shirt from Usenix. And I think 1980. And not to be outdone, the marketing guys at Dex said, oh, we'll take that sloppy drawing and make a nice cool drawing and try to sell our product. This poster actually is hanging in my office. I couldn't find a copy of it online, so I had to photograph it so it looks a little wonky. And finally, if you read my interview, I said I also fixed dinosaurs. This is a fore and after picture of a dinosaur somebody mailed us and it got broken. I thought people might be curious. So that's my talk. Questions? Please wave to me if you want to have a microphone to have a question. Okay, I see your hand. Thank you for a great presentation. Why do you think it is that in recent years all these things have been discovered and why nobody bothered when all the guys that did the stuff were still alive? I had trouble hearing that question. Could you repeat the question, I guess? Sure. Why do you think it is that nobody bothered to ask the guys who did all this stuff when they were still alive? Oh, okay. So actually a lot of people have asked the guys that did the stuff. Several of my slides I sent email to Ken Thompson who happens to still be alive and he was very happy to answer my questions. Other people like Dennis Ritchie active in the two mailing list while they were still alive and a number of people have done retrospective interviews. The problem is a lot of the earliest stuff just didn't get preserved at all because of the frenetic pace that they were doing releases and the best practices at the time didn't say archive everything. There's a question there. Would you please stay seated as long as we have Q&A here. Would be nice to the people having questions and understanding the answers. I just noticed this quick note on one of the slides about this debugging session for driving to Sydney. What's the story behind that? Repeat the last bit. The background noise is hard for me to hear. I'm sorry. So what's the story behind the debugging session for which they had to drive to Sydney? Oh, yes. I was running a little short on time but when they first ported, when Dr. Miller ported Unix to the inter-cell he didn't have a C compiler for it. So he had to basically go through the PDP-11 compiler and make all the changes that he needed to generate inter-cell op codes. And so he did that and then he was in the University of Wollongong which was on the coast. He had to drive to Sydney with a tape and then he would spend a long day debugging, getting the output and he would take the assembler output back to Wollongong and try it out and fix his source and fix both copies and he had to do that two or three times before he had completely bootstrapped the C compiler. And once he had bootstrapped the C compiler he had a lot more time, he writes to work on the Unix system because he wasn't driving back and forth to Sydney. So that's the story behind that. I could have made this talk like two hours easily. Are there any other questions? Do we have some more questions? Anyone? I don't think so. So thank you very much. Thank you all. Thank you.