Add to Watchlist

The Circuit Less Travelled

0 views

Citation of segment
Embed Code
Purchasing a DVD Cite video

Formal Metadata

Title The Circuit Less Travelled
Subtitle Forgotten and future wars and platforms
Alternative Title Investigating some alternate histories of computing
Title of Series FOSDEM 2018
Author Proven, Liam
License CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
DOI 10.5446/41659
Publisher FOSDEM VZW
Release Date 2018
Language English

Content Metadata

Subject Area Computer Science
Series
Annotations
Transcript
Loading...
so hi thank you very much for coming
this is I think the most wildly
speculative talk of FOSDEM I hope it will provide some entertainment so hello my name is Liam proven as of this year I've been working in IT for about 30 years for the first 10 years as a support and sysadmin guy and for about since then mostly as a technical writer I'm currently a technical writer on the documentation team of Sousa but I would
like to say I sort of have to say this talk is based on my own research going back for about 5 or 6 years now it's not in any way connected with my job at Sousa indeed Sousa who were kind enough to paint for me to be here this weekend didn't even ask about the content of this talk so it doesn't represent their views um so forgive me if I am a little rusty this isn't the first time that I've done a talk at a conference but it is the first time in 22 years so I'm a little out of practice um so I I went through a number of talks titles for the talk and one of them that I just discarded was the great lies of computing because this is a talk about myths and traditions that many of us take for granted but which I think are often just not true and it's a very good sequel in a way actually to Diomedes talked earlier because he's talking about the history of UNIX and I'm talking about a war that happened 30 plus years ago which I stumbled across and which seems to be mostly unknown um so I better talk about how I got here um I was a freelance technical journalist in the UK for many years and one of the problems of being a freelance writer is finding stuff to write about that your editor wishes to publish and way back probably more than ten years ago I had a bit of a dry patch when I just couldn't find any tech news that nobody else was writing about I've written about a lot of stuff over the years I started out writing about an obscure quite experimental free operating system called Linux that one did me pretty well for a long time but after a few years everybody's writing about it and about six or seven years ago I wrote about what I thought would be an important up-and-coming technology containers which I felt were a very useful tool that needed to be used more again a few years later everybody's writing about it so I came across this period when I couldn't find anything very exciting so I reached into one of my hobbies retrocomputing collecting and using vintage computers and I wrote an article about a new release of Amiga OS and I submitted it to my editor and he said no forget it Liam nobody cares anymore it's dead it's gone let it go and I said well I got anything else right now I okay so he ran the article and 48 hours later and about a quarter of a million pageviews he came back to me astonished and said okay I was wrong people are really into this stuff um give me more and since then I've written about Atari operating systems Sinclair QL operating systems the acorn archimedes operating system which was a personal favorite of mine in my 20s and after a while retrocomputing got really big as well and everybody was writing about it so I needed to find something new again so I went digging for a more obscure machine to write about or more obscure piece of software and I found one I found it through a slightly indirect route and I was digging away at this story trying to find something to write about and I uncovered something a bit bigger than I expected something I hadn't really heard about before there's
the thing you've probably heard of it a British national hero but a questionable man these days maybe he said history is written by the victors when there is a war when there is a conflict between rival camps one doesn't get wiped out generally one doesn't get completely extinguished or exterminated but the side that wins set the agenda and the losers becomes sidelined but often some of their culture is incorporated and that's what happened this time so here's
a screenshot you've probably heard a story about this software and its role in the history of computing this is the original small talk system written at rocks Park this is what Steve Jobs and a
couple of Apple people went to see in about 1979 and Jobs was so blown away by what he saw that he went back and redirected the team on to making a computer that became the Apple Lisa but by jobs own admission he was so dazzled by how this looked by the GUI that he completely missed the other two things that Xerox were trying to show him this was the first GUI computer really it wasn't the first to use a mouse it wasn't the first half hyperlinks and things but it was the first with an entirely graphical display where everything is presented in Windows on the screen which you can move around and overlap but there were two more important things arguably that Jobs missed source of Steve Jobs um one is that this system was all built in this one remarkable language small talk it's one of the original object oriented languages now the stack on the Xerox Alto workstation didn't go all the way down to the metal the base operating system was written in a language called Mesa which is vaguely Pascal like this was on top but the point is everything that you could see and interact with the filesystem was managed by it the network was managed by it the file structure and everything were all managed in small talk it wasn't a thin veneer on top of a conventional operating system it was the bulk of the stack but with a conventional operating system underneath but jobs didn't get there he also didn't notice the part about pervasive networking all the Altos on and were on a network and they all talked to each other and to a file server and he totally missed that part as well Apple then spent 25 years or so putting a lot of this back in but one of the most important things never got back in this whole deep rich stack of language design for building interactive graphic graphical applications of course Steve Jobs was a co-founder of Apple he hired a man called John Sculley from PepsiCo with the famous line do you want to sell sugared water to children for the rest of your life or do you want to change the world and Scully came and took over at Apple and one of his first actions was to fire Steve Jobs jobs went off and started his own company which was next and that now is the basis of Mac OS 10 but Scully commissioned one of the only non macintosh computers ever to come out of Apple it was a failure but it was a very interesting and educational failure and I went digging into that thinking maybe I could write about this it's one of the first computers to become famous in a comic strip so you might have seen this it's from doonesbury by Gary Trudeau the computer is the Apple Newton and it was a pocket digital assistant or a personal digital assistant it learned your habits it learned your favorite places and people and things and tried to help you and one of the things that they did is it has no keyboard not even on-screen you wrote on it using some pioneering handwriting recognition technology which had to learn your handwriting before it worked so when you tried it in a shop it didn't work which meant they were almost impossible to sell and that's what got parodied in the comic he tries catching on and it goes egg freckles the newton was written in all the applications for the newton were written in a language called newton script it's a vague relative of java script and of apple script which is still used in OS 10 today but that wasn't the original plan it was originally meant to be written in a
language called dylan dylan is quite interesting um I suggest reading the Wikipedia page it's a good overview dylan is still around there's an open-source compiler for it now development continues um an apples plan was quite bold they plan to write a whole operating system in Dillon and the applications as well and that's pretty unusual one language that does the whole stack like it's not the way things work UNIX I'd be the most successful operating system in history core of it's written in C that what make that's what made it portable but these days we don't run many applications in C but Dillon they proposed would be the whole thing and that led me to a discovery you've
probably heard of the discovery its Lisp it's one of the oldest programming language is still in used it was invented by a guy called John McCarthy who is sadly no longer with us there's a lot of truth in jokes sometimes and I quite like this one programming you're doing it completely wrong the thing is Lisp is a very strange language it's famously quite hard to read it's imperative but it's also functional but one of the interesting things about it is that it's immensely versatile now a lot of people are fans of lists people you might not expect our fans of Lisbeth even notable open source luminaries sometimes are fans of Lisp so now
Raymond this is worth learning for the profound enlightenment experience you will have when you finally get it that experience will make you a better programmer for the rest of your days even if you never actually use Lisp itself a lot ken Pittman head of a company that was involved in the creation of the common lisp dialect please don't assume that Lisp is only useful for animation and graphics AI bioinformatics B to be an e-commerce data mining EDA semiconductor applications expert systems finance intelligent agents knowledge management mechanical CAD modeling simulation natural language optimization research risk and I was this scheduling telecom and web offering just because those are the only things we happen to use it because Dylan was a dialect of lisp they plan to do the whole thing in this one language and I thought well does anybody else do that did anybody else do that and I went looking for a weird old machine to write about and I found one but I also found an awful lot of stuff about les Neal Stephenson is an American science fiction writer and a bit of a fan actually for one of his books he wrote a little essay to try and explain some context it's called in the beginning was the command-line I it's for free on that website now it's on his website for free as well but in a zip file of various formats you can just read it there um I really recommend reading it it's 50 pages long but it's very dated it talks a lot about BOS another favorite of mine but no pretty much no but he became a fan this man also wrote about it I've been talking to people in various tech communities I have about about Lisp and my disc of reason my research about Lisp and some of them are getting very annoyed with me and I've been getting a lot of criticism selling people telling me that I don't really understand this stuff because I'm not really a programmer myself for one guy this quote was what made him reconsider and actually listen to what I said this is the Maxwell's equations of software Maxwell's equations are the fundamental laws of electrodynamics well electromagnetism it's if you're not a physicist a bit impenetrable but if you are these are as profound in their way as e equals MC squared and a bit more useful so Allen K of course is the guy who invented small talk so when somebody who is famous for creating one of the world's greatest and most influential programming languages goes on and praises one of the other greatest and most influential programming languages like that's interesting and then this guy another person I really recommend reading I don't know if you've heard of Paul Graham he runs his venture capitalists these days he runs a company called Y Combinator you might know them because they run the news site hacking news he has a series of essays on his personal site which are well worth reading they're very informative boiling down one of the essays basically he made his money because he wrote the first general purpose ebusiness that you could sell to customers that they could come to your site customized and set up an electronic shop and they could sell goods over the web he wrote it with a team of six people in a year or so it was called via web it did extremely well everybody's forgotten about it now it did so well that Yahoo bought them Yahoo bought them for several hundred million dollars which is pretty good for second guys and once Yahoo bought them apparently Paul Graham and a few of his team were in a meeting room at Yahoo's HQ and they said so we have whole teams of programmers working in all the major languages what did you write it in is it C+ C++ is it in Python is it in Perl and he went no it's in Lisp and they went oh we we don't use Lisp ear we don't have anybody who does Lisp and he said well you know it's Lisp that made it possible to write this small but powerful piece of software that you've just paid lots of money for so I guess you're gonna have to start doing this and Yahoo said now now we don't do this so Yahoo set about rewriting it in C they put in the end 300 people on the project it ran for about four or five years and the end result famously contains in the middle of the code about half of a Lisp interpreter because that was the only way they could get the logic to actually work list people know this so it became a joke Phillip Greenspan was one of the luminaries of list back at MIT and he he said this any sufficiently complicated C or Fortran program contains an ad hoc informally specified bug-ridden slow implementation of half of common lists I I began to take you um he called it his tenth rule because he wanted people to think he was the kind of guy who just came out with these wonderful a4 isms actually it's the only one but you know um there are there are lots and lots of more people writing pithy stuff about Lisp there's a page on Grahams website just called quotes that one takes a minute or two to read it's quite interesting you get a feeling you come away from it and go if all these people think it's so important why is it the world using this so what I found was that once upon a time unlike small talk there were computers that ran nothing but Lisp they were called list machines several people made them probably the only major company that made them that's still around is Texas Instruments but for some years they sold them but the biggest company the most important to give you an idea of their significance they bought the first-ever dot-com domain on the whole internet it was called symbolic comm that's how big these guys were in their time and there's one guy that used to work for symbolic scale man reti who is still out there maintaining these machines because some people still use and work on these 30 plus year old computers and he has a couple of presentations on YouTube showing the operating system it's called open general it's out there symbolic snow longer exists but it's in legal hazy territory but you can run it on an emulator under 64-bit Linux these days it's too big and too complex to run on 32-bit machines and in one of his presentations he made this comment we took about 10 to 12 man years to do the ivory chip that's one of their first single chip processes to run listen the only comparable chip that was contemporaneous to that was the micro Vox chip over at Dec you saw some micro axes in the immediate present ation it's the first machine that had virtual memory support on UNIX I knew some people that worked on that and their estimates were that it was 70 to 80 man years to do the micro VAX Symbolics are much smaller company did it ten to twelve nine years that's a very big Delta in productivity that's substantial that stuff that makes you sit up and pay attention I think from eighty person team or well who knows it it could have been a hundred people for a month that could have been for a few months it could have been one person for seventy years but ten people doing 17 I thought that's quite impressive so I got to wondering what it was about these machines what it was about their architecture you know why did it take so much and why just why is it gone and this led me to discovering what I call one of the first big lies one of the biggest lies it's this computers today are better than they've ever been they're better in every way obviously they are thousands of times faster they hold thousands of times more stuff but also that the operating systems are better that the languages are better that the applications are better the idea is early computers were very simple and they got replaced with slightly better computers which were replaced by slightly better computers until we got to the ones today this gives me an excuse to use my favorite German quote please apologize I play apologize forgive me for my terrible pronunciation does his Nick know any fatigue this is Denis Stein massage it's not only not right it's not even wrong much plane cover or similarly John Glenn America's first man in space allegedly was interviewed by somebody who said what did it feel like right before launch and he said allegedly it
felt about as good as any but I felt about as good as anybody would sitting in a capsule above a rocket that were both built by the lowest bidder that is where we are today the story about computer evolution that you don't was all just implicitly taken on board is completely wrong it didn't happen like that that's one of the really big lies is how it really happened the first computers of course were mainframes huge room size things they cost millions of dollars they evolved they got faster they got more capable until they could run tasks so quickly that you would feed a deck of cards into them they would rip through the card print out the result and be ready for the next one so you backed up all these decks of cards and the computer which was very expensive in which broke down all the time had a team of people maintaining it but you ran it as much as you could then they got a bit more powerful still so that several people could run tasks on at the same time multitasking big deal then they were replaced by many computers principally from dec Digital Equipment Corporation but many computers were much smaller they were the size of a desk or a filing cabinet eventually they shrink down to this desk side thing but they were cheap enough for a department to afford not a company just a small number of people would share them but the mainframes by that point had very rich operating systems based on a technology you might have heard of its called a hypervisor they used virtual machines this is early 60s all that was thrown away in the minute computers was all forgotten because processor time on the mainframe was so precious the peripherals were highly intelligent the peripherals had their own simpler processes in they did the work and they communicated the results to the mainframe all that thrown away with the mini computers all forgotten they started again the first mini computers were again very simple very stupid could do one thing at a time for one person they gradually got more sophisticated and smaller and they were replaced by workstations initially desk side cabinets like the Xerox Alto eventually little pizza box type things on your desk very powerful very capable dedicated to one person which means usually somebody rich and important and senior because that's the way it goes but and then they were replaced by microcomputers little 8-bit things at first but the workstations which mostly ran UNIX that's one of the places UNIX got its first grasp in commerce in industry they threw away a lot of the stuff that had been learned in mini computers the Dec VAX mini computer I learned to program on at university had version control built right into the file system when you saved a file it automatically kept a delta of all previous versions of that file so you could go back to any arbitrary version it was part of the file name was right there all that was lost when we went to UNIX all the stuff that they could do gone thrown away then we got microcomputers little 8-bit things the first ones are pathetic they could take maximum 64 kilobytes of memory so they have nothing multitasking not enough memory hard disks too expensive choice of programming languages toys therefore children given basic in a ROM chip they'll be fine it's all the clever stuff that was in the workstations thrown away the first ones could have all floppy disk drives they had basic file systems too expensive thrown away the second generation you plugged in a cassette recorder that was all you got and then of course famously in 1981 IBM decided to get into this growth market launched the IBM PC everybody forgets now the original IBM PC didn't have a floppy controller as standard didn't have graphics at all didn't have sound at all it had basic in ROM and a cassette recorder port all of that advanced all of that evolution from all the previous generations thrown away they started again and then slowly these things got expanded and enhanced and they got more powerful and all of the features that people really missed got put back in but there's a sort of law of nature that says if you try and put stuff back in that you left out in the first place it's never quite as good as if it was designed in in the first place in the first draft of this talk I I I had a section about the plan 9 operating system which is what Thompson and Ritchie went on to do next after they released unix unix when it shipped didn't include any networking that came in later with a choice of two api's because you know open-source academia plan 9 is Unix where everything really is a file including the network that's where the proper /proc file system in Linux came from but the /proc file system on a plan 9 box shows all the processes on all the machines on the network it's a deeply networked integrated UNIX didn't catch on what we've got today are the remote descendants of the worst cheapest computers that ever were there's a saying you can have good fast and cheap pick any two we got fast and cheap that's what you all run on today hope you enjoy we all think our computers are great they're so powerful they're they've got these fantastic graphics video stereo sound what quinta phonic sound or whatever they are but there was stuff in the past that did some fundamental stuff better so back to small talk it was developed on the Xerox Alto it was the size of a height of a desk the width of one it cost 30,000 and you needed a file system in a network nobody bought it then in 1981 Apple launched sorry 1983 Apple launched to Lisa 10,000 with a GUI no networking was worth speaking of but it still had multitasking but a GUI that was built in Pascal on top of an assembler operating system too expensive nobody bought it so in 1984 they launched the Mac two and a half thousand dollars in one year they managed to chop the price to one quarter that's pretty serious the Mac was very limited it had 128 K of RAM one floppy drive but the next year the Amiga the Atari ST couple years after that the acorn archimedes which had its own dispo processor the ARM chip everybody in this room probably has 10 or 20 ARM chips on their person right now I believe this has about 80 to the minute they're all dead and gone now their operating systems their architectures they're all gone the x86 PC caught up and passed them like all that's left now is x86 and arm to a rounding error you don't talk to these people they're really passionate the Amiga fans especially a super passionate and you can sort of see why in about 1985 they had a computer with a GUI proper pre-emptive multitasking in 512 kilobytes of RAM half a megabyte of RAM because they loved the best graphics and sound in the business at that time but everybody's writing about amigas and I thought maybe they can write about this machine so I started researching this machines and I found that Wow when you go and read the stuff that was written by this machine fans they make a meager owners look like amateurs these guys were really passionate so what happened well they were big they were expensive the whole operating system from the metal right up to the GUI written in lists the processors ran a sort of bytecode like meta language that worked in the way that list works so it didn't require a huge amount of compilation the compiler could be relatively simple because unlike small talk small talk is still famous people still use it it runs on operating systems it's just another choice of programming languages now small talk is one of the original object-oriented languages it's objects all the way down but you can't really run objects on hardware I mean it has actually been tried if you want to look it up there was a British hi-fi company called Lynne who make very very expensive music players and they made a chip called the recursive rek you are SIV an attempt to do a chip that could do object-oriented software in hardware it bombed horribly probably deservedly so but the other of these two great languages that back in the 80s everybody was agreeing were the ultimate Lisp the difference is Lisp makes everything lists and lists you can implement in hardware quite well it's a basic abstraction but instead we've got C machines we work at the abstraction
layer of bits and bytes and words and all of the bigger structures have to be built in software which has now built a multi billion trillion dollar industry on daily weekly monthly patches for stack overflows and or for overruns and software vulnerability finding software vulnerabilities is now a full-time job why because we use descendants of those very cheap computers that are built on a very low level abstraction one of bits bytes you can put whatever you like in it I'm not going to check it's quicker that way
just not everything's written in C anymore these days we have a huge choice of languages up on top there's stuff like Perl and Python there's Ruby there's all sorts of wonderful languages there are things like Julia a very interesting language which has some of the important properties of lisp but they're all running on top of operating systems built in layers and layers and layers and layers of c nobody would write desktop apps in c these days I probably use C++ vast language loads and loads and loads of calls and functions nobody knows all of it but that's okay you just need to know the bit that you need and if somebody else has to maintain your code and they didn't know that bit well tough to use an old joke it was hard to write it should be hard to understand but this it must be said is very hard to understand here is a very very simple program in list and this shows one of the things that many people dislike about it look at that pile of parentheses closing the code there so going to the repository of all knowledge
and wisdom these are your father's parentheses elegant weapons for a more civilized age nobody can read it but also the mouse over text I've just received word that the emperor has dissolved the MIT computer science program permanently put a certain Richard Stallman on the streets and we all know where that got us
but another one is in here and there's a line in this I wish I had a cool little laser pointer but I don't um the speech bubble in the middle my god it's full of cars that's one of the basic instructions of the early lisps ciear contents of address register it means the first item in a list you're going to rest rest of the list with utter contents of data register the point being these are low-level machine level instructions you can make this stuff go quick if you build hardware to do it but we didn't we built hardware to make C go quick instead and everybody loves it we all love our computers today I've got enough of them I bought this one in January used all that progress that we had has led to a machine I bought secondhand it's seven years old cost me 150 euros eight gig of ram two SSDs lovely it's quick very fond of it but I do have to win it's for hundreds of megabytes of software updates every single week just to make sure that it keeps working and somebody else doesn't make it their computer instead of mine but we that's implicit it's another of the big guys when you have vastly complex software systems people make mistakes and if people make mistakes somebody has to go and fix those mistakes so you need software updates well this machine runs Linux naturally um it doesn't actually run suzer I'm afraid but I've only worked for the new humans um but it also runs wine because in wine I have a copy of word 97 which this talk was written in because it has an outliner I love outliners and LibreOffice still doesn't have an IO employment but by Jove word 97 isn't half quick on a computer made 20 years after it came out but word 97 had two major service releases so word processor but it needed two major fixes the first ship diversion when you save the word document it actually saves an RTF file not a Word document and nobody noticed we put up with this kind of stuff it's believed to be implicit in software design in it isn't now once in the 90s in the era of Windows there was a language called Delfy that almost everybody used for writing their software because it was based on Pascal it's quite high level its type safe and have buffer over overflows and things because it checks the stuff like that and it's readable you don't need to be a Kansai whizz you don't need to understand this arcane stuff involving lots of parentheses but
actually that's apples Dylan
from 1995 or so its list doesn't look like Lisp it looks much more readable really it's fairly straightforward instead of having you know one two times it's got one times two it's it's just lists but with the syntax reject to be like what we're all used to Algol style basic Dylan isn't the only time people have done this plot written by one of the original list gurus programming language for old timers you can tell he's a software guru he doesn't know much about marketing um that's the same function in plot it's even simpler than the Dylan version he's a very early one seagull it's got a great Wikipedia page again it's this but unpacked this stuff could be readable now what I did is I went out and I looked at the small took people and what they thought of their operating systems and what they thought of modern ones and they are all in dismay at where we've come to and I talked to the list people or rather I read what they wrote years ago there's a wonderful book I highly recommend it's called the UNIX haters handbook it's a distillation of a mailing list for years right during the time when universities were taking out all of those expensive list machines and replacing them with UNIX boxes mostly songs where the son offs because they were much cheaper and faster and boy the list guys were unhappy about that and they catalogued their woes on the mailing list the UNIX haters handbook ugh PDF is widely available to download it's really funny there's a lot of wisdom in it a lot of the stuff they bitch about has been fixed now but it it's worth a read it's very funny but
it's not see I'm complaining about I personally don't find see very readable I don't like it I learned basic it on my Sinclair spectrum which I've still got it has a 4 gigabyte SSD drive in it now it's hilarious but it's not about the language it's about the abstraction this loper hasta org is a wonderful website that I would recommend it's a blog and it goes on it go a lot but to be honest he got most of his points over in the first few dozen posts I rather liked this summary it's it's quite quite harsh the computers we now use are descended from 1980s children's toys their level of bedrock abstraction is an exceedingly low one this would be acceptable in a micro with 64k of RAM but when scaled up to present proportions it's a nightmare of multi-gigabyte bloat and decay witness for instance the fabled undie bug ability of multi-threaded programs on today's architectures it stems purely from the fact that truly atomic operations can only exist at the bedrock level to fully comprehend what's going on in the entire machine requires wading through a vast sea of binary soup boiled and stirred continuously by an asynchronous world the futility of this task is why programmers usually aren't given even a sporting chance observe the lack of a hardware debugger in any modern computers this is why I write rather than doing support work any more because the state of modern software support brings me to tears I used to be able to master it I did a project in 95 for a computer magazine they had a very very early SSD it was 16 megabytes in size and they wanted to benchmark how fast Windows 95 would run on it and I knew what virtually every single file in Windows 95 did so I cut a copy of Windows 95 down to fit it into a 16 megabytes SSD with some free space because it needs to make temporary files I did it I got it down to 14 Meg because I knew which phone the little window gadgets were drawn in that's no longer possible it's only 20 years ago this is a product that is related to one still on sale nobody can know it all now why because among other things we have this layer cake of different languages each one chosen because it seems to be suitable for that particular task so you write kernels in C but you write applications which are speed critical in C++ and if they're not speed critical well you can do it in Python and if it's going to talk to a web here base well Ruby on Rails and so we have loads and loads and loads which is now and that is perceived as a really good thing that's one of the small lies it's not I'm not saying it's a bad thing I'm saying it's a symptom it's a symptom of the fact that we built a stack on languages which are not great for any arbitrary task and if we started
again well maybe we could do something else now people have tried there are various operating systems out there here is here is a quick description of one of them this is written by a very strange guy called Curtis Yavin he bogs under the name of Mencius mold bug he's very smart but he is one of the people who got the neoconservative movement off the ground he has the stated ambition of causing the collapse of the US government and replacing it with a monarchy he also wishes well he has also written at some length about the theory that different human races are have different innate levels of intelligence you can get how that one panned out he was invited to a list related conference lambdak on for a couple years ago when they wouldn't back down almost all the other speakers quit a lot of the attendees didn't turn up but he wrote a remarkable bit of software I do not endorse the man I never met him or spoken to him and I don't intend to but he wrote a sort of virtual machine to run on existing computers because he decided they were too broken to fix and he wrote a instruction set for it which is the basic unit of storage is a list and he wrote an assembly language which is called NOC and on top of knock because it's an assembly language it's very hard he wrote a high-level language called whom which is awfully like Lisp in some ways and it also has its own network protocol which is sort of encapsulated over tcp/ip he doesn't even trust DNS so he replaces that it's it's very weird but he came to the conclusion that modern software is broken and we have to replace it all it can be done it can be done by a small number of people in a moderate amount of time here's a little one I quite liked
recently this was going to tie into something I had to drop about an operating system called Dallas from the late 80s there's an operating system built so the same binaries could run on every different architecture it ran on about eight different CPUs with binary compatibility across all of you unfortunately the company eventually went under the guy that wrote the core product has now started writing a new one this is it chrysalis this is his early tech demo from github and you will not be vastly surprised from what I've said that this time the language he's chosen to build it in is Lisp again there's something to it if so many people go on about it it can't be coincidence so why would we do this and this is where I get to the second bit of the talk much shorter it would take a lot of work to throw away our entire software stack which most of us make a living from and we actually often enjoy working with I do to throw it all away and start again with a different language even if it was a more human readable one like Dylann it's a big price to pay why would we do that why we would do that is to do with what's in
this chip this is the first shipping product to contain a whole new type of logic gate called a memristor hewlett-packard are very proud of it it's basically a memory chip it's a memory gate that will keep its contents when you turn the power off so they got very excited at Hewlett Packard and started racing at great length about what they were going to do with these things once they got them working in the lab and they talked about a project called the machine which would be a pure solid state server which kept all of its working data in memory store memory well they found that it's a very long way from the laboratory to the fab from lab to fab and after eight years of work this contains eight memristor not eight kilobytes eight but there are others Intel has one 3d crosspoint it's a bit
like flash memory but thousand times faster this is actually a shipping product there is something that they are selling
as an SSD but you can actually put this stuff in servers now here are some dims
that you can put in your server which contain as well as a bit of RAM they contain flash very fast flash memory so your servers memory can be non-volatile we are heading for a brand new type of computer that's the first time a ship this big has happened since about the 1960s because soon enough we will have a type of technology available where you could put say half a terabyte of memory in your computer we already have demos of this sort of machine here's one it's an arm it's got three gig of ram and it's got 32 gig of flash but there's still a separation between the RAM and the flash you put memristor memory or 3d crosspoint or anything related to that in you have a computer with say half a terabyte of RAM and no disks no file systems there's no drive controller all of its memory is directly addressable every block appears in the processes memory map and when you've stopped using it you turn it off you don't suspend you don't shut down you just turn it off turn it back on it's exactly where it wasn't it starts working again you never install the operating system what you install it onto there's no disk drive at the factory it boots over the network from the manufacturers server there's the operating system in memory and it stays there getting patched occasionally of course you can still reboot it if your operating system gets corrupted well my home computers are Mac I can boot it off the internet off Apple servers and load the operating system straight over the web it's a whole new kind of computer and it's coming it's visibly this is one of the next big things but nobody's talking about it very much partly because the tech that's got taking quite a long time to come to market we will have machines which don't need file systems can you imagine what it would do to UNIX if you took away the file system what's left the file system is everything in UNIX the whole point is everything is a file what if there's no files anymore what if it's all in memory and there's no separation between RAM and non-volatile storage you don't need you anymore I mean I know file systems are wonderfully powerful tools but some of my friends say what have you got against file systems why'd you want to take the money from us I don't file systems are there to control block addressable storage non-volatile storage you read it into your working store you work on it you write it back that's how they all work it's how they've all worked since the early mainframes and in a few years that's going to go away we still use shells I have a t-shirt that says taking the SH out of IT and my colleagues all think what do you want to get rid of the shell for no that's not the joke but the shells were designed for teletypes and moved to terminals we still love them we still keep them but file systems exist because of this artificial division between live memory and non-volatile memory and that's going to go away and in our history we have two examples of rich operating systems which were not filesystem centric which were data centric and kept their work in memory and when you at the end of the day you say saved their variables to disk and you turn them off in the morning you turned it on they load of those variables from disk and you're back where you were this machines and small talk boxes both work like that if you run small talk today under a Linux box IBM visual age or something like that that's how it works at the end of the day you don't save some files you save the state of your small talk VM to disk and it comes back we can plug it with UNIX we'd dump the hole of RAM on to the disk when you turn it back on it reads it all back but it takes gigabytes of storage these things took tens okay there's a really really big shift coming which nobody much is talking about and we are going to reinvent the wheel again as we did with intelligent peripherals as we did with hypervisors as we did with programming languages as we did with multitasking we threw it away and then we started again in the next generation this is a bigger shift and I think maybe there are lessons to be learned I'd also reimplemented but learn a bit about how they work because maybe we can build a new and smaller stack this isn't really relevant to servers to client devices maybe there are lessons to be learned from the past from the side that lost the wall and that's it thank you very much indeed [Applause] [Music] [Applause] [Music] thank you very much for your talk oh yeah do we have any time for questions we have like two minutes for questions are there any questions hi I'm going to be very rude to make two points I did have a talk entered into the retrocomputing you said that no modern computers of a hardware debugger I hadn't trs-80 and all of that generation of it but my computer's you could get the schematics of the motherboard and the chips on it and that meant that people could build their own hardware to interface to it in a modern computer they will not give you that and I think that's an example very open-source my second point is there I mentioned meltdown inspector one of the points I saw that one of the excuses made for Intel was that the speculative execution because programmers couldn't be bothered to learn parallelism and they have to they have to keep increasing the performance because the market demands are there for the put and these these features and what your opinion is on that so I don't think we've got any more time
I'm easy enough to find online on the only liam Provine on the internet or come find me during the rest of fun them fast them or email me google me you'll find me i would be very happy to talk about this and enlarge on the themes if you'd like thank you thank you very much
System administrator
Gamma function
Sequel
Patch (Unix)
View (database)
Virtual machine
Bookmark (World Wide Web)
Number
Revision control
Writing
Frequency
Operating system
Lie group
Metropolitan area network
Physical system
QL
View (database)
Computer
Content (media)
Bit
Data mining
Process (computing)
Software
Text editor
Quicksort
Freeware
Routing
Point (geometry)
Group action
Installation art
Computer file
Java applet
Source code
Hyperlink
Mereology
Computer
Bookmark (World Wide Web)
Formal language
Workstation
Oval
Operating system
File system
Electronic visual display
Scripting language
Data structure
Graphical user interface
Metropolitan area network
Physical system
Pattern recognition
Link (knot theory)
Touchscreen
Computer
Keyboard shortcut
Basis (linear algebra)
Interactive television
Planning
Line (geometry)
Cartesian coordinate system
Datei-Server
Inclusion map
Process (computing)
Software
Personal digital assistant
Computer network
Synchronization
Object (grammar)
Units of measurement
Window
Home page
Programming language
Computer programming
Open source
Software developer
Electronic mailing list
Cartesian coordinate system
Formal language
Compiler
Hand fan
Goodness of fit
McCarthy, John
Core dump
Operating system
McCarthy, John
Imperative programming
Reading (process)
Axiom of choice
Email
Scheduling (computing)
Context awareness
Information overload
Scientific modelling
Authoring system
Floppy disk
Parsing
Disk read-and-write head
Unicode
Atari ST
Videoconferencing
Decimal
Error message
Physical system
Mainframe computer
Spacetime
Product (category theory)
Electronic mailing list
Bit
Formal language
Virtual machine
Hand fan
Flow separation
Macro (computer science)
Programmer (hardware)
Lattice (order)
Telecommunication
Genetic programming
Queue (abstract data type)
Mikrocomputer
Quicksort
Simulation
Mathematical optimization
Bytecode
Point (geometry)
Computer file
Open source
Letterpress printing
Auto mechanic
Rule of inference
Computer
Workstation
Number
Goodness of fit
Peripheral
Computer hardware
Data mining
Operating system
Equation
Lie group
Implementation
Metropolitan area network
YouTube
Computer architecture
Home page
Series (mathematics)
Standard deviation
Scaling (geometry)
Assembly language
Computer-aided design
Physical law
Expert system
Code
Cartesian coordinate system
Greatest element
Computer programming
Symbol table
Compiler
Software
String (computer science)
Universe (mathematics)
Interpreter (computing)
Computer multitasking
Scheduling (computing)
Mathematical optimization
Musical ensemble
Code
Computer-aided design
Home page
1 (number)
Sheaf (mathematics)
Mereology
Proper map
Bookmark (World Wide Web)
Formal language
Web 2.0
Programmer (hardware)
Emulator
Plane (geometry)
Virtual memory
File system
Cuboid
Covering space
Programming language
Classical electromagnetism
Continuum hypothesis
Simulation
Meta element
Process (computing)
Electric generator
File format
Computer
Maxima and minima
Data mining
Smart card
Natural number
Equation
Hard disk drive
Website
MiniDisc
Decimal
Right angle
Whiteboard
Data management
Data type
Data structure
Resultant
Fundamental theorem of algebra
Computer programming
Domain name
Read-only memory
Implementation
Game controller
Clique-width
Presentation of a group
Line (geometry)
Virtual machine
Coprocessor
Power (physics)
Revision control
Object-oriented programming
Telecommunication
Internetworking
Software
Uniqueness quantification
Subtraction
Graphical user interface
Task (computing)
Boolean algebra
Dialect
Computer
Projective plane
Planning
Evolute
Estimator
IBM PC
Inclusion map
Logic
Physicist
Computer network
Natural language
Digital Equipment Corporation
Object (grammar)
Maxwell's equations
Abstraction
Multiplication
Computer
Patch (Unix)
Bit
Virtual machine
Leak
Word
Process (computing)
Software
Read-only memory
Energy level
Decimal
Data structure
Buffer overflow
Abstraction
Vulnerability (computing)
Axiom of choice
Computer programming
Mobile app
Code
Civil engineering
Real number
Structural load
Electronic mailing list
Code
Computer
Bit
System call
Functional (mathematics)
Formal language
Category of being
Word
Stallman, Richard
Repository (publishing)
Computer science
Quicksort
Writing
Physical system
Window
Point (geometry)
Email
Complex (psychology)
Service (economics)
Computer file
Virtual machine
Computer font
Computer
Formal language
Word processor
Computer hardware
Repository (publishing)
Energy level
Quantum
Address space
Typprüfung
God
Physical system
Computer
Content (media)
Electronic mailing list
Computer
Line (geometry)
Auto mechanic
Annulus (mathematics)
Data mining
Word
Software
Buffer solution
Speech synthesis
Arithmetic progression
Buffer overflow
Window
Thread (computing)
State of matter
Debugger
1 (number)
Instance (computer science)
Computer
Formal language
Software bug
Web 2.0
Programmer (hardware)
Single-precision floating-point format
Cuboid
Abstraction
Flux
Email
Product (category theory)
Structural load
Binary code
Electronic mailing list
Computer
Instance (computer science)
Functional (mathematics)
Formal language
Virtual machine
Website
Task (computing)
Reading (process)
Probability density function
Computer programming
Computer file
Virtual machine
Computer
Plot (narrative)
Revision control
Architecture
Operator (mathematics)
Computer hardware
Operating system
Energy level
Lie group
Subtraction
Task (computing)
Operations research
Home page
Computer
Debugger
Projective plane
Computer program
Cartesian coordinate system
Ruby on Rails
Plot (narrative)
Subset
Kernel (computing)
Software
Function (mathematics)
Computer hardware
Blog
Universe (mathematics)
Negative number
Integer
Abstraction
Window
Spectrum (functional analysis)
Length
Virtual machine
Functional (mathematics)
Binary file
Theory
Orbit
Software bug
Number
Formal language
Direct numerical simulation
Virtual reality
Computer network
Internet forum
Core dump
Operating system
Energy level
Central processing unit
Subtraction
Descriptive statistics
Metropolitan area network
Units of measurement
Physical system
Computer architecture
Turtle graphics
Product (category theory)
Assembly language
Demo (music)
Computer
Binary code
Interior (topology)
Electronic mailing list
High-level programming language
Bit
Term (mathematics)
Computer programming
Formal language
Virtual machine
Inclusion map
Software
Data storage device
Hill differential equation
Quicksort
Communications protocol
Physical system
Read-only memory
Intel
Server (computing)
Product (category theory)
State of matter
Length
Projective plane
Flash memory
Virtual machine
Content (media)
Bit
Solid geometry
Power (physics)
Data storage device
Data type
Logic gate
Musical ensemble
State of matter
Client (computing)
Non-volatile memory
Web 2.0
Programmer (hardware)
Virtual memory
File system
Cuboid
Programming language
Process (computing)
Electric generator
Block (periodic table)
Flash memory
Parallel port
Bit
Variable (mathematics)
Computer
10 (number)
Radical (chemistry)
Data storage device
MiniDisc
Quicksort
Data type
Point (geometry)
Read-only memory
Server (computing)
Game controller
Computer file
Flash memory
Virtual machine
Computer
Peripheral
Read-only memory
Internetworking
Computer hardware
Gastropod shell
Operating system
Booting
Address space
VisualAge for RPG
Shift operator
Demo (music)
Artificial neural network
Computer
Debugger
Division (mathematics)
Line (geometry)
Motherboard
Factory (trading post)
Computer network
Separation axiom
Service (economics)
Slide rule
Software
Collaborationism
Loading...
Feedback

Timings

  733 ms - page object

Version

AV-Portal 3.8.2 (0bb840d79881f4e1b2f2d6f66c37060441d4bb2e)