 Hello? Okay, I'll start over. So UNIX turns 50 this year. It's been 40 years since the seventh edition of UNIX was released, which was kind of a pivotal release in the history of UNIX. And I thought I'd talk a little bit about the first 10 years of UNIX today, as well as talk to you about how I got interested in this. Towards the end, I have a couple of interesting projects as well. So I thought that would be a good anniversary talk this year. So this man is Ken Thompson. His love of video games and gaming in general was one of the primary driving forces behind UNIX. And he teamed up with Dennis Ritchie on the iconic PDP 11 to produce the early versions of UNIX. So I'll talk a little bit about how all of that happened and how it led to the complicated family tree of UNIX that we have today, as well as some presidential awards for the UNIX team, and how some incarnation of UNIX wound up in probably everybody's phone in here today now that there are no more windows. So the history of UNIX actually begins in the 1950s. In the 1950s, Bell Labs was the producing operating systems for computers that were handling switch data. Switch data is the calling data so that they could build long distance and make money. And they standardized on a system called BISIS, for Bell System. And that met their needs for a number of years. And then they realized that it's kind of difficult to have your own OS. And they were looking to get out of the support business in the early 60s. So in 1964, they joined the effort to produce something called Multix. Now, Multix was a system that ran on large mainframes. Some of these pictures here are some of the incarnations of the GE 645 mainframe that it was initially targeting. And there were a number of very innovative features in this in Multix. A hierarchical file system, virtual memory, the kernel was implemented in a higher level language, a couple others that I have listed here. And these are, for the time in the early 1960s, very aggressive goals. So it comes as no surprise that a couple of years in, Bell Labs becomes rather, I don't know, the right word for it, but they became they didn't like the efforts. Things were going too slow. It required too much hardware. And so in 1969, Bell Labs withdrew from the Multix project. And Kim Thompson and Dennis Ritchie and a couple other people who you may know from early Unix history were the last to leave the Multix project. And they really rather enjoyed the Multix environment that it provided, but they didn't like the pace that it was going at. So as Multix broke up, Kim needed to do something with his time. So he played a game called space travel, which is a simulation that lets you fly around the solar system and land on different planets. It's similar to other games of its sort. And unfortunately, I wanted to put a nice screenshot on, but this is the only known screenshot of it. And I don't know what it even means, but I had to include the screenshot because that's a bit of history here. So Kim was looking around to find some way to run this game, because it was pretty expensive for him. It's $50 or $75 per game. You run a bunch of go this games. In a day, you run into some real money. Well, real phony baloney, accounting money, but management notices when you run up big bills like that. So he was able to scrounge up a disused PDP7 from the visual and acoustics department. And the visual and acoustics department had this PDP7, oh come on, had a PDP7, no, this is supposed to start. So they had a PDP7 hanging around. And so Kim was able to write PDP7, a similar on their GE635 mainframe, put it on paper tape, and take it to a PDP7. This is a PDP7 that's in a film called The Incredible Machine. That talks about Bell Labs early music. You'll see why I included it here in a second. But he was able to take these tapes and put them on the machine. And well, that was fun. He could play his game. But he wanted to enhance the game. And to do that, he needed to build and compile. And he's wanted, he decided, well, this would be a good system to implement a file system on, and a kernel on, that he and Dennis Ritchie and John Kennedy Day had designed as part of the Multics effort. And also, about this time, he started on a Fortran compiler. But he kind of got tired of that and wound up working with Dennis Ritchie to create a compiler into what eventually became the V language. Now, what's a PDP7? Most people today don't know what a PDP11 is, well, what a PDP7 is. But it was part of a number of computers that DEC, Digital Equipment Corporation, produced from the 1960s into the 70s. And they were all 8-bit. And there was a certain amount of binary compatibility from one to the next. But it wasn't exact. And you'll notice here, 1964 is when the PDP11 was, PDP7 was introduced. But it was in 1969 that they withdrew from the Multics project in Kin. And started playing around. So it was five years old. And the acoustics department got all the money and budget at Bell Labs. They had all kinds of new shiny computers. And Kin was able to get this one. But even at the time, it was considered to be an obsolete computer, but it was the computer that they had. Now, PDP7s, I have a little montage here. That's just a number of different historic photographs of PDP7s show the different environments they're in. Some of these are in machine rooms. Some of them are in labs. Some of them are museum pieces now. And so there's a kind of a large number of configurations that these machines came in. DEC offered probably 30 different options and everybody mixed and matched to make their own machine. This is the picture you'll see most often in history of UNIX talks. Although it's not very representative of the machine that Kin had. It's the prettiest picture that people have, though. This is more like the machine that Kin would have. There were no DEC tape drives. So it looks more like this. There was a display with a light pen, paper output and different control panels and a paper tape reader in the clip that I shared. It's actually a clip of one of these, reading the tape in. Unfortunately, the PDP7 original sources were believed lost to time. Somewhere along the way they didn't keep them around, systems are upgraded and they were lost. So up till very recently, the exact configuration of Kin's machine was unknown. One of the interesting things, though, was because the computer was binary compatible, there were some PDP9's inside of Bell Labs that also ran it. So it wasn't just this one machine. So a number of people were able to use that. And then it was lost to history. But not really. Robert Morris Sr., he's a researcher at Bell Labs, did a number of things in security, including coming up with Crypt and Etsy Password. He passed away in 2011 and left a large collection of papers that took a while to go through. And Doug McIlroy, another person from Bell Labs from way back, went through his papers and found in 2015 the PDP7 Unix manual that had been produced at the time. And he scanned it in and sent it to a group called Two's, which stands for the Unix Historic Society. And they're a group that collects old Unix artifacts. And this will become important here in a minute, but there was no source in Dr. Morris's collection of papers, unfortunately. But the next year Norman Wilson was rooting around his garage and found a box of pronounce that he had made while he was at Bell Labs in the 1980s and found that they wore the PDP7 sources. I've included a little bit of the sources here for set UID, rename, and time. This is in PDP7 source. I'm not going to do a code walkthrough, don't worry. But when they found these, again, they were posted to the Two's group who created a version zero Unix working group. And they OCRed the code in, made sure that the code, once it was OCRed, matched what, you know, they thought it said and there weren't any errors. And then they wrote the PDP7 toolchain so that they could run this and a user mode simulation so they could run the user line programs while the CIMH simulator, it's a simulator that most people use to run PDP11s or Vaxes, but it had, it knew how to run a PDP7, so they enhanced that to run the sources that they had found. Now, we had the full kernel in these sources, but only a few of the user land sources, all of these up here. I'm not going to read through them all, but suffice to say that TROF is not in this. There was a version of NROF or ROF on this early Unix, but it wasn't one of the sources that were preserved. Now, they didn't have an init or a couple of common programs, including a shell, not a born shell, but just a simple shell. So the restoration project created those. And I've included URL for a GitHub entry. You can go and grab this and they have instructions if you'd like to run it. So one of the interesting things is now that we have version 7 running, we know what all the devices on it were. And it also so happens that we have the deck field service logs for all the 18-bit machines that another different pack rat squirreled away in his garage and scanned in probably seven or eight years ago. And from these two sources, we know that there was a TTY and a light pin and a deck 3040 display driver, which by the way was the display that had the music on it in my video, is that display. And a display to driver, which is a custom piece of hardware that I've not been able to find any pictures of, that Bell Labs built for acoustics and visual processing. And it also had a RBO9 disk. Nobody knows what an RBO9 disk is. I had to go look it up when I found it in the simH sources, but it was a retrofit from the PDP9s, since they were binary compatible, they could do this. But the upshot is there is no other PDP7 on the planet that could run it. There was only one that listed an RBO9 in its manifest. And there were three PDP9s and two PDP15s that ran PDP7 Unix at Bell Labs. I checked with Ken Thompson, who was gracious enough to tell me that that's what they were running. And this bizarre setup, the restored version zero Unix, somebody wrote a PDP7 emulator for the office-gated C contest, which is a contest held every year to see how crazy and bizarre a C you can produce that is just completely illegible and unreadable and yet does something useful. Well, the useful thing that this did, and it was in honor of Dennis Ritchie's passing, was that it ran version zero Unix on this PDP7 emulator. There's more to that contest as well. And I don't have time to go through all of the details, analysis, but we actually know which PDP7 serial number it actually was by looking at this list. And I have a blog entry there, if people want to look at the slides later. This is from the printout that the pack rat saved, and it shows that PDP11 number 34 is the one that Ken Thompson used to develop Unix. We see an RC09, which is an RBO9 and controller combination, and this custom hardware thing, which is the custom display that I talked about earlier. And in terms of how much money this was for this configuration knew this would have been about a quarter of a million dollars in 1965 prices. So I didn't do the math, but that's about a million and a half or two million dollars today. So a fairly expensive machine, not as expensive as the two million or three million dollar machines that Multics were targeting, but still an inexpensive machine. And remember this, the show that I, this is a screen grab from the video for the incredible machine. And if you look, you can see the control panel and the paper tape and the other status register lights that were on a PDP7. So since this was made at Bell Labs, this could be the machine that ultimately Ken was able to scrounge and use as the thing. Or maybe not. There's a, there's a second one it could be, and I haven't done the detailed analysis to know if I'm right or just half right. So this is the PDP7 part of the clip that I was wanting to show you. So this lets you see them pan around the machine and see how big it is. It's, you know, if it was on the stage, it would take up half of the stage. It's a very massive computer. So all of these things with the PDP7 allowed the Unix group at Bell Labs to get some credibility. So when it came time to buy a new machine, they were able to buy PDP11 for $65,000. Now they had tried to buy a PDP10 to run a multics like thing, and the management were still gun shy from the whole multics fiasco, so they said no. And they came back with the bargain basement price of a $65,000 machine. While they were waiting for this machine to be delivered, Ken wrote a PDP11 assembler in B on the PDP7, and Dennis started to retarget the B compiler to produce PDP11 opcode. This is an early PDP11-20. Didn't have an MMU. It was a very simple machine. Just had eight kilo words of memory, a very basic machine. So once the system was delivered, they ported in earnest to this machine. Ken's family went on vacation to visit his in-laws for three weeks, and during those three weeks, he spent a week each rewriting the kernel, the assembler, and the B compiler to get them going on the machine. So then when it's here, they could start using it. This eventually became the first edition of Unix. When Bell Labs were producing editions of Unix, it sounds like something really fancy. That means, oh, we printed the manual a bunch of times and we have a stack of them, and this is the first edition manual because that's the day that we printed it. Which also means there's not a good configuration management for the system. They didn't have CVS or SCCS or Git or anything like that back then. So all that we have that survives from the first edition is the kernel and init sources. That's all that survives. There are a number of binary images of the first edition Unix you can download, but the provenance isn't very clear because in the early days, time T wasn't a count of seconds since 1970, it was a number of 60 hertz ticks since the epic year. And if you're good at math or have a calculator handy, you'll see that that overflows every 2.24 years. And so every year there was a crisis. It's a new year. We have to change the epic date. And so they found a number of tapes, but they're unsure. Is this tape from 1971 or 72 or 73? If it's from 73, it's really version 4, but if it's from 71, it's really cool because it's version 1. They don't know. So some of the images that are produced online are from this period, but maybe these aren't exactly version 1 Unix like they're advertised. In the next couple of years, there were another, a number of additional versions of Unix that were produced, the second, third and fourth edition. We have manuals from the second and third edition, and we have a C kernel from a late fourth edition, but no other artifacts survive from the time, apart from the tape that I mentioned earlier, which is probably from about this time. So on the fourth edition, Dennis Ritchie and Ken Thompson wrote a paper for the Bell Systems Technical Journal that was published in 1974, and it describes the fourth edition of Unix. And one of the interesting things that I found when I started digging into this was in my mind, oh, editions 1, 2, 3, 4, 5, 6, 7, and then it exploded into the world. Well, the story turns out to be a lot more complicated. Inside of Bell Labs, this fourth edition is where the programmers workbench started to take shape. They took Unix and made it a front end for IBM machines, where at the time you would have to take a big deck of cards and put it in, and the big deck of cards was a real pain to deal with. It was literally individual cards, and if you were walking down the hall and tripped and went everywhere, you'd have to sort them back into the exact right order. And using a Unix machine with source code control was much easier. So a second line was something called CB Unix, which is actually a rather important strain of Unix inside of Bell Labs, but nobody outside of Bell Labs knows about it. In Columbus, they took a port of the first edition or second edition Unix that they used to run a switch and wound up maintaining that for years, bringing in new code from time to time, and I'll talk about its evolution in a second. And the Unix support group also started in 73, because when you got a tape from the research guys, you got a tape. That's it. They didn't want to hear from you. They didn't want to talk to you. They didn't want to answer any questions. Here's the tape. Have a nice day. Great. Go for it. If you can't, study. Maybe you'll be able to use it. And, you know, that's okay. Some universities actually got a lot of mileage out of studying the source code for some time, but the internal groups inside of AT&T and Bell Labs, the system that wanted to use it, needed support. So this group started. Also, there was a real-time version of Unix called Merck that started in 73, and they took the fourth edition kernel and ported it to a PDP11 hypervisor to run under a PDP11 hypervisor. So you would have a real-time task, and you'd have your Unix task, and the Unix wouldn't get, you know, with all the processing it was doing, wouldn't get in a way of the real-time tasks of turning switches on and off to make circuits for phone calls. This was the first edition. Also, fourth edition was the first edition that went out to universities. Berkeley got a copy at this time. Columbia did as well. Lou Katz was the first person to get a tape. And the labs' culture of sharing that we would today call open source actually started at this time. Anybody could get the source to Unix and learn how it was done and make improvements. And it was also about this time that an informal Unix users group started. They would later become USNICs. So I have kind of a visual diagram here. The New Jersey Bell SCCS. SCCS is not the source code control system. It is the initials for a switch, a telephone switch, an ESS switch that an early version ran on. So you see even at a very early time, there were four lines of Unix within Bell. And each of them like to say close to research Unix which is this row up at the top. The green is just different things inside of Bell Labs or the Bell system. And so already things are getting complicated. It's not just four or five, it's four and all these other things that are competing. In some ways those were the first distros. You might say if we were having a Linux talk. The FISA edition came in June the following year and had more universities got it. It was still PDP 11 only, but the kernel was rewritten in C by this time. The user land was mostly a Simbler. And I can say all of these things because we have a surviving system that I can go look at the sources in a Simbler that the two's group archived. And the different groups inside of Bell Labs pulled from this as well. And then we have the sixth edition which is the first one to receive widespread distribution. There are maybe 100 or 200 sites that were running it outside of the Bell system. There were a bunch of new system calls, a bunch of new hardware supports. We're starting to get something that looks kind of a little bit like StudIO, but not really. But that's the first system that that was on. And then this was the first system you can install from tape instead of having to have a RKO5 disk handed to you and say here run this on your system. This was also the first version of Unix that was ported to non-PDP-11 systems. University of Wollongong in Australia ported to the Interdata 732. And that's where John Lyons was. Well, he was overseeing this port. He wrote the book on the V6 commentary which for the graybeards here was the holy grail of books you wanted to try to get because until the mid-2000s the only way you could get it was an nth generation photocopy that people surreptitiously made and handed to you and shh, don't tell me where you got this. I'll get in trouble. And the first PW, the program of Workbench release was based on this. And Rand had the first commercial use license. They couldn't redistribute, but they made a number of enhancements to Unix because they were able to run it internally. And I have a very long list of things I'm not going to read individually, but these are all the things that were either based directly on the V6 sources or were clones of V6, some of the Soviet era stuff. It was unclear. Some sources say it was a clone that was enhanced, and other sources say they somehow got the sources and then heavily modified it. Different universities start to teach using the system. UseNix incorporates. And this OSAM in Australia, a couple of the universities got together and produced their own V6 distribution. They added a number of time-sharing features to it so that they could run it on the universities with all kinds of university students mucking the systems up and there would be protections against crashing that the Unix from the research folks didn't have because they didn't have so many people using the systems and the people using it were a little bit more trusted not to be disruptive. And I have a visual diagram of that starting to get complicated. This is the first appearance of BSD. The first BSD distribution started here based on Unix version 6, but it wasn't a full operating system like it would later become. It was a Pascal compiler and a few other cool programs. And all these groups that got it and were porting it fed back different bug fixes and portability fixes into what would become the 7th edition. And the other thing to note is AT&T licensed Wollongong Unix as the first commercial redistribution of Unix. And ISC incorporated it at this time and had a port as well that came out shortly after. They'll become really important here in a minute. Between version 7 and the version 6 and version 7 a new compiler dropped and about the same time the whole AT&T antitrust thing happened. And so all of a sudden AT&T couldn't produce support for software because of the consent decree that they signed. And so all these people were clamoring for an update to Unix. So Dennis Ritchie came up with a number of patches that he distributed to all these internal groups that were doing things and happened to accidentally leave it on a tape that he sent to the University of Delaware and from there it leaked out virally to all the other sites. You know, it's one of the first, you know, first viral first viral video, if you will, even though it wasn't a video. And again, the other groups inside of AT&T are continuing to pull in the support. Some of them pulled this in for interim releases that they had. And the 7th edition came out and it was ported to everything. Again, I'm not going to read the whole list. Probably the key one is, or the key two is the VAX port which would become the basis for VSD. And the Phoenix port which was the first port to the 8086 of Unix that was released. There were others that were more successful, more popular, but that one was the first. So a bunch of stuff was added in System 5 or in 7th edition Unix. And we have this massive tree here. I've extended it a little bit beyond the end with the stuff that happened, System 3 and System 5. And there's some... These two boxes might actually be the same. We don't have enough historic artifacts to know are they the same or are they just very, very similar. And we have conflicting people's memory on what it actually was. Was this really PWB 3.0 that somebody slapped a System 3 label on? Or was System 3 a few changes on top of that? We just don't know. Again, it's a complicated chart. The key takeaways here though are that Wollongong Unix continued and this is just too weird not to mention. Wollongong created something called Unis which was also aided by some folks at SRI which lets you run Unix binaries and applications on VMS. And that's one of the more perverse uses that the Unix kernel wound up in and it also provided the basis later for their TCP IP offering for VMS and a bunch of other machines that weren't Unix. So... And the other thing to note is that there were a number of early ports like Unix had the 7th edition stuff in it and I have this arrow here just to simplify the chart. This arrow really should go down here but then the chart looks ugly. But a lot of people ported version 7 and then later pulled stuff in from System 3 and System 5 as those systems became available and the reason they did that was for licensing. This is also the time when the Unix fans start doing crazy things. We have the first Unix license plate. This is the Live Free or Die New Hampshire license plate which deck marketing would give out when people would ask them, I want a Unix license directly from you. They would give them this license plate instead of an actual AT&T Unix license because they couldn't sell that yet. The licensing is kind of screwed up at this point but people are having fun with this. One of the people that helped me with this talk has the Massachusetts Unix plate on his Tesla today. This is a picture he went outside and took for me. He said, put this in your talk to show that the craziness wasn't confined to version 7. So we get some fan art. This is from Dr. McCusick's website. One of the t-shirts that they gave out and the folks at Deck Marketing liked it so much that they made a poster of it which took kind of that old thing and piped it all over to the new shiny stuff for marketing purposes. The photo credit on this goes to me because I found this in... I'd moved a lot and I'd put all my posters from college into a tube and I found that tube in the back behind a seat in my pickup truck that I'd moved from place to place to place. I've had the pickup truck for a long time and this was inside there. So I'm happy to have that because I tried to find an image of this online and I couldn't. It was everywhere when I was in college. Everyone on campus must have brought 50 copies of this and plastered it all over the different labs and stuff and now I can't find it. So I thought people would get a kick out of this and you see the deck arrogance. The original Unix software ran on digital computers and the best still does now. That's totally deck and that was the hubris that would lead unfortunately to their downfall years later. So I have a little game. If you've looked at my slides and seen the answers, don't answer. But one of these was in version 7. Head or tail? Which one do you think was in version 7? Hands up everybody who thinks head. Okay, hands up everybody who thinks tail. Okay, it was tail. The head command was invented at Berkeley because evidently they didn't know how to do said 10Q. That was a comment from Rob Pike, by the way. Kirk recognizes it at IC. So job control. Was job control in version 7? We're all used to hitting control T and control Z to send things into the background. No. It was at Berkeley. Oh, no way. It wasn't at Berkeley. It was done in Europe and then redone at MIT by Jim Culp and Bill Joy took that work and added it into the Berkeley release. So the last one is in here. I could do this all day. I have 10 minutes left. Inherited environment variables. Something you take for granted today. Well, that was new in version 7. It wasn't in version 6, but the born shell was new in version 7 and hence the kernels have an area that they would copy from process to process to manage the environment variables. Or would be copied with the exact VP command. I haven't looked in exact detail. That might not be exactly correct, but it's close enough. It's one of the many cool features of born shell. The other was that the old shell, standard input was the shell script, so you couldn't put them in pipelines. Things we take absolutely for granted were invented in the 70s. There is a big long list of new features. I'm running a little short on time. The portable C compiler, people migrated from Kin's compiler to the portable C compiler at this time to support all the ports. Now, UNIX version 7 was portable to the big long list of machines that I talked about, but if you got the tape from Bell Labs, it was just the PDP11. There was some networking support, a bunch of new system calls, and a bunch of stuff to deal with disks that might be larger than a gigabyte. The terminal interface we all loathed was in there, and some IPC methods weren't. I could do an entire talk on AT&T licensing and how screwed up it was, but AT&T licensed it and let people redistribute it finally with version 7, with a license that wasn't too terrible. It was just good enough that people started to be able to produce a number of UNIX ports. I had a number on the full of spaghetti that I put on the screen earlier, but they were geared to huge systems. They were $1,000 per CPU, and this meant that it was very expensive for them to come to microcomputers, PCs, because on a big system that costs $100,000, what's another $1,000? On a system that's maybe $2,000, $1,000 is a lot. So they kind of shot themselves in the foot on this a little bit. And the only reason I mentioned this is I'm about to get into Venix, which was the first commercially available port for the 8086, and later versions pulled in from the different UNIX lines. And it was unique. Most of the other 8086 ports were only for the IBM PC. This one targeted the dozens of different incompatible machines that came out about the same time as the IBM PC, and it was the only game in town for a deck rainbow. Now, what's a deck rainbow? Maybe three people in this room, I'm guessing no before this talk, but it was a really cool machine that had a Z80 and an 8086 in it, so it could run all the available software at the time. And it's largely forgotten by history because it wasn't IBM compatible, and it has keys between the control key and the A. Just crazy. But it was my first computer, and at the time I wanted Venix because I wanted to run it, but I couldn't afford the $500 price tag. And then when I got a job, I couldn't find it. Nobody was selling it anymore. I had the money to buy it, but I couldn't. And so that's where it stood for several decades. And then a few years ago, a copy popped up and I wound up imaging it and I started wondering, I installed it on my rainbow, and I started wondering how close was it to Unix version 7? Could I take the version 7 sources that had been released with a compiler and get the sources and maybe create a distribution or something crazy like that? So I started the Venix Source Restoration project which I'm running a little short on time. I won't go through all the details. The important parts were the stuck rainbow was from the 80s. It was super slow. And also it had become very flaky so it would take a long time to build and this impeded my progress. So I thought, why don't I write a emulator, a user land emulator so that I could run the compiler on modern hardware through emulation. And this gets into some of the details. I'm running a little short on time but you basically had old-school 8.out where you've got the text and the stack and the data and then the BSS section and so the emulator would need to look at the different types of image, see if it's a split IND space, set up the Intel segment registers appropriately. And there were a number of different emulators. I picked one. It probably was the wrong one. At the time QAMU had significant bugs in the 16-bit support. I might go back to it because I want floating point. So putting the pieces together I had to reverse engineer the system calls and then when an int F1 instruction was executed I would decode all the registers and do the system calls. It's fairly standard stuff. Again this just walks through the steps of loading it in. A little short on time so I'll not go through it in too much detail. But the current status about three-fourths of the commands work so I can do LS and CP and those sorts of things. Anything that requires fork and exec doesn't because I got all the way I implemented fork I implemented all that read, write, open all the calls and then what's implemented exec and it's like oh this is exactly like the loader part that I wrote so I need to refactor and then I had to set it aside there so that's kind of where it is now. And so that's I'm looking for a better x86 emulation because I'd like to support floating point which is why I'm thinking the QAMU user line stuff has evolved enough that I might try to port my stuff over to that. And this is some future work which if you're interested come see me afterwards. And I'd like to some special thanks. Clem Cole, he's the guy that sent me the car picture had very strong firm opinions on how things happened as did a few other people in the two's mailing list and they pushed me really hard no it didn't happen that way well what about this bell technical journal that says it did oh that's different so I was able to test their remembrance some were very good and some were less good like you'd expect from people remembering things that happened 40 or 50 years ago and again another plug for twos I wouldn't be able to have put together this talk without it and then I have the slides in PDF form up here and this is another poster I found in my pickup truck from the time of the Unix Wars when BSD and system 5 were fighting and so I marked myself safe from the Unix Wars I didn't die there Questions we have a microphone for questions David Chisler wrote a article two years ago it's called C is not a low level language your computer is not a fast PDP 11 which kind of overturns everything I at least believed when I learned C first time not many years ago do you think it's the time for a new C and new completely new thinking looking at modern machines I don't know there are a number of different problems that C solves very effectively even today there's no lie that it's a PDP 11 underneath Brooks will tell us no it's not but Brooks does several really good talks about that but even so for some problems it's fairly good there are a number of other problems that it's terrible at garbage collection there's no garbage collection memory leaks buffer overflows all kinds of security nightmare a better language might be rust it might be go c++ you guys stole my next line so C's had a very long run I think they'll still be some use for it but I think you'll see some more specialization going forward particularly as things like LLVM make it easy to have additional language front-ends more cheaply than GCC did or the portable C compiler did before that other questions okay enjoy the rest of your conference thank you very much