Monktoberfest 2016: Bryan Cantrill - Oral Tradition in Software Engineering

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
👍︎︎ 1 👤︎︎ u/akkartik 📅︎︎ May 25 2017 🗫︎ replies
Captions
all right good morning everybody great to see you so on this is this'll be interesting talk back Mac on this will be a nation talk so we'll say this is a bit of an experiment here on but I want to talk about oral tradition and I want type of ultra him that you're in software engineering and oral tradition is something that that is very important to me because you know it wouldn't be interesting facts about humanity is that we did incredibly sophisticated things long before how do I make you go away you stupid dialog box I'm sorry this is just going to come on sorry I'm this is this is the kind of tick that would drive me absolutely insane I'm in such a boat go away all right see it's good company okay so I'm not going to move the mouse will you guard stay now all right exactly I want it I'm going to control it but you're going to go away okay you know the old version replete you did this Mac go away don't advance the slide Accra reach shut up okay okay all right I apologize um because we did as humans we did we've got amazing amazing amazing amazing things we colonized this planet we colonized this planet top to bottom side to side we we went to the Arctic at the Easter Island essentially without right and we how did we do that how do we convey the enormous skills it takes to RIT is required to survive and thrive in those environments and we did it via oral communication we did it by talking and we did it by listening and this is very very very deep in in our animal brain I believe it's a survival skill with the ability to convey to tell stories and to listen so this is very very deep and we've used it for lots and lots of things we use it to preserve cultural values we use it to convey skills on and it is so deep um that we couldn't get it out of us if we tried so was just doing a little experiment here um so if I say jingle bells Batman smells you say okay where did you learn them if that's not a movie reference it's not not a TV show you learn that way I learned that you and that on the playground you learn that from another eight year old another seven year old on maybe you or did we got the college seems unlikely seems more likely that you weren't in this a seven year old an eight year old and you have a seven year old or an eight year old the first time they brought that home from school you probably had a double take because you presumably did this is a lullaby for your children and you have the immediate who talking backs take a bells Batman smells thick but then you guys might my god this is something that has been surviving in this seven-year-old eight-year-old substrate four generations from one generation to the next and of course now I'm going to turn that on and of course yes mr. mr. Baumer can beat on by the back on but this is amazing this is this is amazing it this is survival we could not eradicate that from our children if we tried and by the way where did that come from we don't actually know um it emerged in the 60s it's hypothesized on that that army brats were that were the vector for this particular disease on but honestly we're not going to care enough to figure it out and we might as well to get comfort with it because jingle bells Batman smells is going to be with us until the end of days I mean it will survive the apocalypse um but this is amazing right that oral tradition you heard that with somebody you probably sent it to somebody else and now our kids and their kids and their kids and their kids will be singing this little jingle and this kind of this shows this incredible power and it also plays a role a very important role in software engineering so I want to go through kind of a little bit of a history of oral tradition software engineering how it's changed a lot and where I feel what's going in the beginning software was totally subservient hardware so we actually don't know very much about early software engineering because so little was thought it was held in such low regard it was the actual building of the machines that was the thing we didn't even really understand what it meant to build software um we didn't call it software wasn't even called software and in the earliest earliest days um they wouldn't want computers in the earliest days these are caring machines so we actually don't we don't have a lot in his true true oral tradition and much of it was simply not pass down it was very it was very proprietary and much we just don't have there are lots of architectures that were developed we don't know anything about the software that was developed for them one of my favorite examples of this I like to collect old computer manuals and I bought stock of old manuals and in in the manuals was a quick reference manual that I had not ordered which is kind of in there for a language called language age language age you have not heard of language age was developed by NCR it was actually built by Elliot on the UK it's a COBOL derivative and it's crazy absolutely crazy every language each program begins with chapter 1 and you're like oh oh by the way everything's in caps this entire language on screen ok so everything must be screaming so chapter 1 that's the beginning of every law you would a program anyway ok again and I get it again ok so it's like computers a book ok again it's you know it's early in software like the metaphors book Memphis alert racket but then it ends with everything language program must end with the key word obey yeah ok it's like a book that you've enslaved and it's a very strange it's like you totally mixed metaphor the language is and we would I mean and in every body of talk so that I develop there's a language H Easter egg in there somewhere because I think this language is so peculiar and strange and the question that I'm dying to know and if anyone in humanity is granted omniscience please don't let it be me because I will waste our shot at doing something truly valuable cuz I regretted one question that I could know the answer to that one question maybe was any software ever written in language age and does any of that software survive today do we is there any language H running in production anywhere I don't know I guess I would burn my ambitions on my question so you hope I don't I don't get that opportunity but this is in that to be very very very early days of software we don't have a lot of information fortunately if you want to kind of get a compendium of that oral tradition there's a book on your bookshelf that you haven't read called the mythical man-month maybe you have read it um the reason I did the reason I I think the people would be I think that if people read it they would take it out of the undergraduate curriculum that's why I think that people have mattered because the the mythical man-month there are elements there are nuggets real greatness in there but it is basically extremely old-fashioned and it dates from an extremely early era in software um and it you can kind of convey you can drag some things in the modern era but a lot of that just does not make sense at all it's very very very water following it is and it's very early it's talking about system 360s haven't had a bunch of things that we have i mean ii system syndrome is not something that actually really exists i would argue there are lots of things in there that are just that just don't make sense but they but the mythical man-month does capture the zeitgeist of that kind of era on so it is kind of a compendium of oral tradition in that regard so which is it's it's valuable shortly um so in this way by the way if you're an academic book loris um seems like a long shot but you know it's Monto professed and it's just a just win it's like seems like oh I minded three academic folklorists here I beg one of them could make it fit so if you're not going to make folklorist and you're throwing up your knife a little bit just just bear with me a bit um so I'm going to abuse the terms a tad but in a way that I feel is constructive um so when would oral tradition when we take oral tradition and and make it reliable where oral tradition is actually conveying a real narrative folklore so-called at oral literature and I think the oral literature can be written deaf right I think that that you have literature that I think should be called oral literature because it's it's actually meant to be spoken it was originally spoken it was originally heard and now we just happened to have written it down we happened to purport of it but it is fundamentally oral tradition in nature that it becomes oral literature and for us on in software engineering oral literature exploded on use that right use that I think me I'm doing a little bit nervous because like you met you drop a bill and ted's reference and it's like still pond so I'm thinking like use that money you I've so using it I know there enough people in the room that are old enough for amusement blows you aren't on Usenet was kind of in a very early way that people would communicate in in in on the internet on in news groups so you've got articles are being posted people requiring them and so on that is the worst explanation he's not ever um so I don't know don't look it up on but there's a ton of interesting stuff on these in actually I do you think that one of the things we are we are doing badly I mean Steven asked like one of the things we can improve we are treating use next Shapley right now on the Usenet searching is excruciating and we would all be well served if we could actually search Usenet well because if you go to try to find something old on Usenet it's very very painful anyway there's a lot of interesting stuff on use that a lot of brilliant some stuff a lot of embarrassing stuff too I can definitely put my hand high in the air on that one the there's a lot of kind of humiliating stuff on Usenet because we didn't realize this was all going to be reported forever so but there's a lot of inching stuff when you said to you and there's a lot of kind of oral tradition or alert on Usenet that didn't quite survive that didn't quite cross the jingle bells Batman smells kind of lying um but one did um and one story from Usenet nut has not only survived but it has become the epic the epic the saga of software engineer on this is this is penned by by Ed neither how many people recognize this okay so if that this is the story of mouth and this is I mean the way it begins I mean it begins almost it begins in the fashion of a saga um you know real program it said that your program is right before Tran maybe that you now in this decadent era of light fear hand calculators and user-friendly software direct what era is this of course this is ready make the decadent era of Light beer I don't think I don't know if we commonly refer late early eighties that way but the the decadent Arrow of Light beer as it turns out is 1983 but back in the good old days when the term software sounded funny and real computers are made out of drums and back in tubes real programmers wrote in machine code not Fortran not bad for not even assembly language machine code raw unadorned inscrutable hexadecimal numbers directly I mean the writing here is so good I mean directly as a sentence I mean that is its God it's beautiful the writing is amazing and then we need our epic hero and again I think that this is as much a tribute this is an amazing story written about an amazing person Mel Kay by an amazing writer ed naba on and less the holy generation of programmers grow up in ignorance of this glorious past I feel duty-bound to describe as best as I can through the generation gap how a real programmer wrote code I'll call him Mel because that was his name I just oh god it's amazing so good and and it's so good and this is I mean I and I truly mean this this is our alien this is absolutely this will be read in a thousand years I'd say that that not ingest this will be right in a thousand years and I one of these I love about this is the way this is formatted by the way we're to be the Lions and ours this is formatted because of how it was handed around Usenet this is no no one knows book the original formatting was but it wasn't this this is just like as people are like quoting and handing around and transcribing it this is what it ended up being so it got it has this this kind of this homework feel to it and the story goes you don't know the story about milk hey again it's a true story milk hey is programmer for a company called Libra scope that made a no gp-30 on and the Libra scope was a was a drum based machine so a drum based machine on this is very very early computers the IBM 650 which is IBM 650 is the first really it's an accounting machine that we think of as the first computer and the 650 is a drum based machine so everything is scored on a drum that is moving at a fixed velocity and the way these drum based machines will work is you would execute an instruction and it's called 1+1 address on so you'd execute the instruction and in that instruction is the next address to execute now so that is say every instruction has an embedded go to now there's a very good reason for not because instructions take a variable length of time to execute and you want to be sure that the drum is coming around when it's time to execute the next instruction so you would develop something called an optimizing assembler which would go over your code and generate the optimal addressing such that it would execute with it's going to get huge difference in performance I'm Don Knuth by the Don Knuth undergraduate thesis was on writing optimizing assemble from the IBM 650 this is not the I being such a is the LGP 30 and this is the story of how Mel K was porting a blackjack program from the LGP 30 to the Royal McBee and let's love Royal McBee as a name um in fact when I first met my wife I told her the story when she married me anyway on the she's a PhD in literature it's got nothing to do with identity beauty but I said you know I so want us to have a cat named Royal McBee and it took us like 15 years to do it would you actually do have a cat named Royal McBee we get the gilt room we just took him to the vet and you got one McBee can troll on there I'm just like oh god oh I can feel like you know the ghost of milk a but so he was porting meal to be 32 to this royal precision the RPC 4000 and the story is about a blackjack program that he's been instructed to let the customer win um and Mel's got a bug where instead of letting the customer win when a switch is enabled it always win if the computer always cheats and always wins and the customer never wins metal views this is beautiful Edie goes in to correct this and finds a beautiful beautiful optimization that Mel K has made so that's the kind of the story but maybe the the content of the story almost doesn't matter be that imagine that it is so technically view it's technically beautiful um but it's also got all these kind of managerial aspects to it where you know they've been ordered to make the program do something that the programmers think is fundamentally wrong then the program doesn't behave in that way the programmers view that as fundamentally righteous it's just beautiful it's just beautiful on and every young software engineer will read this and aspire to be Mel K um and Mel and Mel ke has passed away and neither has passed away so this is very prophetic this is actually reaching out in an actual literal literal sense I I can't imagine that neither meant this as literal when he wrote it when he wrote this by the way I don't know whether this is not originally contributed net drop jokes on May 13th 1981 or an eighth grade whatever it is the look at the ER goes wrong I don't know where this first appeared one use that um but when it first appeared on Usenet he wrote this as a joke he did not intend this to be actually reaching a new generation of programmers but that is what it is done and it's it's amazing so um the story of Mel is kind of our first example with the example of a beautiful oral tradition buttoned-down becoming rural literature on and then I would say the kind of the second model stone I mean if Mel is a destroyer of mallas our Iliad then Tracy Kidder soul of a new machine has to be considered our Odyssey on how do you read solve an in machine so solving a machine is an absolute must great it is it is literature it is Tracy Kidder who's an unbelievably beautiful writer terrific terrific writer who sat it wit day to general as they were building a new compute and and watched the whole process warts and all and this is not it's more complicated than a heroic story there's a reason why it's the Odyssey and and and not the Iliad it is Odysseus is a complicated Tom West in this case is a complicated figure and he he deliberately tortures his team to get them to produce what he thinks are higher results um and it's but it's an incredibly good read it remains very very current so if you lead 12 a new machine you've read so I imagine you'd agree with this that soul the new machine still has relevance for us today and you will find shadows of yourself in it today may be shadows of your manager in it today um but I sold in the machine is an absolute must-read and again it's kind of entered our war and rightfully so um so I these two I think are kind of it that the classics um in 80s and 90s the older I get the more certain I am of this I thought at the time that the 90s really sucked from a software perspective um but it's very hard to be you know your teenage years always suck so you know needs to how much of this is just like is is kind of too much hormones too much angst underdeveloped frontal lobe leading you to believe that an era is uniquely bad but seriously the 90s were really bad I think the 90s were they were a dark era for software development intensely proprietary more proprietary than the 80s and 70s actually it wasn't it was a local maximum for proprietary software on and so the oral traditions from the 90s are locked up they existed on these very proprietary islands even an open source even an open source communities they were locked up even in the very small open source communities that existed the 90s they were still kind of locked away in conferences and so on where that's where the actual kind of oral tradition would happen there were great collections of alters like SGI bad attitude that even was at SGI at the time I was never at SGI but SGI got bad attitude you had a reputation that went far beyond SGI on the jamie zawinski actually got a terrific piece on the netscape bad attitude that he created when he went from SGI to netscape and then when bad attitude was discovered by management shut down he created really bad attitude on the mailing list and we and the true beauty of this and this means that this document is is around somewhere really bad attitude was discoverable and discoverable in the legal sense and was discovered in the microsoft netscape case so Microsoft went through really bad attitude and you know there's a he's got a very funny line in there it's like so you know I guess Microsoft learned that like we all complained about the cafeteria food and you know can't complain about managed but all the time but we had these like really great collections of oral tradition but they've also been lost um and to me the kind of the canonical quote for from this era is a absolutely beautiful piece by guy named John Brown called the bug count Also Rises and I did this one that people are probably less likely to a friend so it actually you mind this is going to take me about about three minutes but I I would like to if I can indulge you but to read this to you I'll give you a readings I think that this this captures to me the 90s in software and this is this is very personal for me because of where I read it worked well explain in a second um so this was the winner of a it was designed to be a Hemingway parody contest but I believe that this transcends parody and actually becomes as if Hemingway himself is it Hemingway were describing software development in the 1990s in the poll of that year the rains that was usual and wash the leaves of the dust and drip from the leaves on the ground the shuttle's drove through the rainy streets and took the people to meetings then later brought them back they're tired of spraying the mist into the air many days he stood for a long time we watched the rain and the shuttles and drank his double Tomoko's with the mochas he was strong Hernando who worked down the hall and who was large with microbrews came to him and told him that the ship day was upon them for the bugs were not yet out the bugs which were always there even when you were in cafes a late at night sipping a red book or a double tall mocha and you thought you were safe but they were there and although Enrico kept the floor swept clean and the mochas were hot the bugs were there and they hated you when Hernando told him this he asked how many bugs the rate is huge with bugs Hernando said the bugs are infinite why do you ask me you know I cannot do this thing any more with the bugs once you were great with the bugs Fernando said no one was greater he said again even prayed oh what a pretty let crate it'll fix the boss Fernando shrugged preto is finished he was bored we said Tucson Chicago all he does now is drink our tea and played his screensavers her tea is true Fernandez shrugged again later he went to his office and sat in the dark for a long time then he sent email to Michaels Michaels came to him while he was sipping a mocha they sat silently for a while then he asked Michaels I need you to triage for me Michael slow down I don't do that anymore he said this is Jenna I bugs are most darn infinity I'm finished with that Michael said again I just want penny herb great I was finished honey he was bad before now he can only drink herb tea herb tea Michael said it is true Michael stood up then I will do it my friend he said it formally I will do it for prayer down who was once great with the box I will do it for the time we filled Fredo's office with bouncy balls and for the time Fredo war his nerf weapons in the marketing hall and slew all of them with no fear and only a great joy at the combat I would do it for all the pizza we ate the bottles of coke we drank together they walked slowly back no it would be good as they walked the range of salt Akmal leaves and the shoves carried the bodies back from the meetings so I think it's amazing III think that is absolutely amazing that is for me and that is to me personally that is actually more relevant than Hemingway that is and the reason that this is personal for me and I wondered a winter ago what Claire actually recognized that so this was Roger had this outside office so Roger had this taped up outside his office one of my co-workers had this Cape outside of his office and I read this so many times I would this is the thing you would read over and over and over again and and this is what I mean about this is on the one hand okay this is a wind this is literary but this is oral tradition and the way we've given to me was an oral tradition that this is a senior engineer putting it up outside of his office and so I absolutely love that and I think that that captures a beautiful it's very evocative so fast-forward now if you will to the dawn of a truly new era a new era that started actually for mark the good recently um so people recognize this video how did you watch this video and if I were to ask this of course what got some engineers that on my team a big Brian I was told when this came out so uh this is David Hannum our Hansons how to build the ball again in 15 minutes or 60 minutes 12 seconds um with Ruby on Rails this is uploaded to YouTube on November 7th 2005 YouTube it launches application to April 2005 so this is very early on YouTube I would say this is the first tech video on YouTube to go viral could be wrong but I think this I think basing the number of people actually funny only 300,000 people have seen us which I think tells you only 300,000 people have seen probably 280,000 of which or in the first three months after the same thing came out I remember vividly watching this and the this is the dawn of a new era because now you had someone giving you a demo which is a kind of moral tradition giving you a demo wherever you were and he had given you a demo of how you could build something real with this framework that later would become what they could see overcomplicated it would die of it so I'm gonna heat that but let's well leave that aside but you could take this light framework and build something real really quickly and this this was amazing it would excited it was the dawn of a new era and YouTube has changed ever again it's only ten years old and it has changed everything because now on when old tradition now has surged on because you can if you hear a great story you don't have to go retell it to someone else you just drop the link in the slack or whatever um I mean that's amazing right the fact that you and now that person is getting the exact same story that you've got you don't have to try to tell it in the same way they're getting exactly you've got all the force all the authenticity all the authority of the original and that's amazing and we actually you know we call these things are going viral but it's actually what's going viral is the it's the oral tradition that has gone viral and we were particularly like it means ah I'm hearing because Google had this Tech Talk feel the folks have seen google techtalks google did this the Tech Talks very very early in the history of internet video before a lot of us really understood what it meant and just to speak personally this is definite roommates I gave this talk at Google the the dtrace review which I can't even look at that slide for too long because the T is like that's not well the sorry um this is it does like this but I think it should look like that b-but I gave this talk at Google and I remember like hastily signing something before I I spoke but I didn't even occur to me that the video cameras running in the back I was just presenting to an audience at Google pretty small hundreds of people who were like had gotten up to Roy and I if I had known it all I would have done things differently if I had known that this was going to be viewed but this will be viewed by up until that point more people that had viewed all of my presentations put together so I presented for a long long time many many people when I heard over a 14-year career at Sun this presentation would be viewed and this presentation has not been viewed new as much a lot of other stuff I've done this presentation would be viewed by tens of thousands of people very low by YouTube numbers very high by like number numbers and um and I definitely like I shot my mouth off a little more do you think that I am a candid on you you should heard me when the video cameras weren't rolling actually it was something else when when when no one could tweet live tweet what I said yeah there was though it was a little more candid anyway uh and in particular I had like I this was in Mountain View and I had arrived way too early for this damn thing because of traffic and so I had sat in the parking lot um finishing up a book because I'm a finisher which is a problem I finished up a book that was already really pissing me off I'm like with it when I'm reading a bad book I can't just put it down this is like a major or threat to my marriage my wife is like how about I take the book from you and burn it I know I think I need that I want to smell the smell by my side small okay could you just do it silently please um the and I was finishing his bad book on so and I finished it and so I came in kind of angry and so if you watch this first part of the presentation there's like the first like seven minutes is like a drive-by gangland slaying of the book dreaming in code and you might be like what the hell happened to this guy um and what happened to him is I keep them shut the parking lot was in a real bad mood um the so anyway I I felt a little bit bad about that and then the author got wind of this and we ended up and was like blogging back and forth I'm like okay I need to I need to watch my mouth a little bit and I'm going to be actually prepared if I when I'm when I'm going to be on the event but so this was this was a huge watershed for me personally and has totally changed the way we view everything to change the way now everybody can consume everybody else's oral tradition and in fact anything our own tradition of suffering overload we have an embarrassment of riches and actually the true oral tradition the bit kind of like passed on conversationally from one engineer to another is now what of this I should consume so this is literally this is a hacker news story from 24 hours ago what's your favorite Tech Talk and this is an evergreen on Hacker News um and if you go through these like there's some really really really good talks in there really good stuff on so you know if you ever watch anything but we're taking this amazing amazing stuff on there um stuff that will hopefully will survive in perpetuity now which is great so this is totally change on traditional it's great but I want to talk about last 10 minutes or so I want to talk about um the oral tradition um closer to home and I said close your home I mean closer to my home and your home wherever your home is namely in the source base in in the software that we develop because every source base is is just pulsing with narrative there's narrative everywhere I mean it's like a sitting right a source base is like a city and there is narrative all over voice you've got origin air ative narrative of struggle a conflict of rewrite success a failure all of these things exist in a source base I mean it's this it's amazing and the that narrative those narratives are not just a history of a source phase they also they also transmit the values of a source base yes yes why did we remove that we implemented that functionality oh my god it was a terrible idea I was a huge civil war and we thought we were going to fork over we ripped it out why did we do that I mean that those are those are our values and in the proprietary era that it was purely oral tradition this is purely the kinds of things we bailed one with over over lunch but now that these things are open-source these narratives are open as well and every solar space hat is just loaded with these but the end because the longer you've been in a source base the older source base is the more these you guys so how many adults offer four spots by short hands okay so if your source face arm is um is over a year old so basically keep your hand on all right if your sauce if your software-based over a year old keep it up if it's under UK over five years old okay over ten years old it doesn't bog down okay I don't think this hands to save as long as my vest um over 15 Jersey okay on over 20 years old you might not have to hold on actually um D I'm older than then thirty years old okay forty years old okay so I witness or space that is older than I am by three months so the source place that I work in is one of the oldest or spaces that we still need to work in on that is us so August 1973 when and actually born when I was born seven ninety seventy three eighths and lately we may or may not have followed that I am but the I were communiques and you know now UNIX is it's kind of a complicated family history you know I was six addition and 707 addition son lost notice it's very for Solaris opensolaris illumos on the ice is where I work in today but we got on this very long lineage and it's the same source pace I mean it's the it's has changed a lot that's the central place so it's loaded loaded loaded there and so let me just give you a couple of these quickly um the first one is an untimely death of Joe asana so Joe sana was a was an engineer at Bell Labs brilliant Guide roted a Doug McElroy wrote Roth Doug McKinlay gave humanity Roth and Joe sauna turned it into T Roth and enrol um and so T Ralph is written in PV assembler ions in he later poured to see in at 75 and then in 1977 on asana thoughts so he is ported disassembler into c and then died suddenly and he in true kind of oral tradition fashion we don't know beers we don't know how he died yeah i died of a heart attack or car accident or i read one of these when he was struck by a car so I returned to like make it seem sudden and violent but Joseph asana dies on and probably a part of that um and he leaves behind this see that is pretty inscrutable actually um and it's nodes this in our source space today Brian Kernighan goes into this see to modernize it and comes out saying screwed I was going to write it from scratch and get rode it raw from scratch um it was easier to write something from scratch and it was to figure out what Osama had done some of this stuff was severe it was very delicate and again this code is executed all the time in our source test this is what Enron our source face is we still summon asana from the dead every type of time we type man in our operating system josepho saunas ghost comes out and provides it for us and then disappears as quickly and we don't know how we did the lesson here is that code survives us which is it's pretty amazing that this is that this is still around on the second one it's a very famous comment infamous comment if you have seen this you are not expected to understand this so um this is a code in a function at least have today called switch switch because in the 70s you apparently deducted pay every time you used a vowel the the function switch is missing in I so it's SW TCH just like react doesn't have an e this guys we're really kind of saving on the paycheck by not having vowels um so in switch on this is the code that actually does some that the actual mechanics of the context switching they wrote you were not expected to understand this and it was actually written to say this is like not on the exam is why this is read it was not to say this is so hard that nobody can understand this that's what it was actually meant to say is like look don't bother to understand this basically like this is too arcane what to me is most interesting as a footnote is they didn't understand it themselves and there was a very subtle issue in here that took them awhile to resolve and they ultimately ripped this code out in 7th edition so when you write you're not expected to understand this you probably don't understand that either and I and and I believe fervently and I think this is a value that we very much have in our source base that if you can't explain it you don't understand it so very important that we can explain all of these things and they did they had explained employee and once if you go to explain employer they kind of understood it but is it kind of an infamous comic um the third is logical xor so um I have always been extremely upset by the lack of logical XOR and see so we've got the got bitwise XOR but we don't have logical XOR and we've got logical and logical or and I would have a evergreen debate with Roger Faulkner on Roger Hawker actually passed away this year and actually was part of the reason that Stephen asked me to give this is because of my memoriam Roger Roger was was a lion in Suarez coral development on and you're posted about channel so rises on but Roger and I would get debates over various things and we got in a protracted heated debate over logical XOR because well I insisted I that I held dennis in such high regard that i'm just like they forgot it was a mistake roger held in an even higher regard that said anything that is not there is not there intentionally it is what the founders in did and logical xor isn't there because it can't short-circuit and I'm like Roger that's stupid that doesn't make sense it's like why do logic less I mean obviously logical and control circuit logical Oracle short circuit logical xor can't short-circuit who the hell cares I mean like I see it's not like there's a there's a commandment that logical operators can short-circuit and Marge's note that like logical operators yay and logical operators shall sort short-circuit is ridiculous and wait there's no way that then it's then that he said Rogers like well I'll ask them I'm like you can ask and and of course like this is where you get to like the limit the underdeveloped frontal lobe cuz I'm like go ask him I mean yeah ask him now I'm the i30 answer Roger and much to my chagrin Roger did go ask him on and and again you know you have bit this is at this point this is this is correspondence from one deceased great to another so god we've got it on and hi Roger back from vacation here's a belated response logic LexCorp was a minute because it is of little use particularly because be the short cut evaluation guaranteed for logic or in logic way and it doesn't help both sides have to be evaluated no matter what what when give me the effect eight is on equal zero bitwise XOR B's I equals zero is Matt much worth to write love the Lord honestly I might throw part of me it works like this is actually Roger is actually just cooking the books on this he just made this up um oh my god that's it is exactly what your sudden would say and it goes through a couple of things one it shows it shows that actually well one it shows that original intent to be wrong um but it actually it actually shows that the the degree to which people care about your intent I actually did care I mean to the point like I thought ia was gonna follow my favor I really cared about what Dennis thought before I knew he was wrong but the but people care what you think when you write software people care what you think future generations want to honor your intent and I know it's like my kids hate me to think I'm stupid because I can't figure out snapchat but now that's I use that's how actually is stupid and and it's very easy to actually kind of denigrate the young as not having veneration for the old and that is an I am here to say that it's not that case if there's one kind of take away at this I would say that that young software engineers one as I was when I was doing is you probably you were young look to venerate older software engineers they want to do right by them they want understand help me understand your intent so I can abide by it's important to them so we need to tell them what our intent was you know one of the major failings I mean JavaScript as I said before javascript is the failed state of programming languages and what one of the reasons one of the reasons that that is true is there is no Constitution to JavaScript there is Brendan Eich never wrote a book oops but where's the book Brendan you you let I mean you let other people write about your programming language no one knows what your intent is you need to take to broadcast that intent so that your intense important from the final one on which it is not worth belaboring as I five belabor to trust me to death in a chapter I wrote in beautiful code but is a comment that Jeff on work and I wrote together in a moment of total crisis when we had a bug that actually looked like we could not fix which is ends okay Jeff and I have both fix a lot of bugs and we thought we had met our match and we had what both of us have referred to as the mind meld and had an extremely intense week where we tried to resolve this a bug of someone else's code and when we finally found a path there was this very narrow path by which we could solve this problem and it felt like we had taken a bit of a kind of a cheesy solution but we knew it was the only one and Jeff did something which I I will always thank him for which is in this long explanation of what we did he added this I you think this is cheesy let's see you do better and this is this is a little note to future generations that right on it's like yeah we get it we get it this doesn't feel really elegant but but we suffer we've suffered the scar tissue is right here let me show you the star youngster but before you before you kind of throw yourself in this machinery to improve it that understand we've done before and in the independent almost it's been 15 years since we wrote that or almost 20 years since we wrote that no one's done better I don't think anyone ever would I get that that code will survive forever um so I think this kind of brings made it to the kind of a thrust of this which I think code comments our oral tradition and if you look at the best comments the best comments have this aspect of oral tradition too they explain not only what's going on but they give you a narrative as to why why is this happening why are we doing this why are we solving problem why are we here and the that comets live with the code but don't affect its correctness oh my god that's great we we as software engineers get this free body of literature that we get to tuck in with our code that is an incredible power that we don't use often enough we don't use this often enough and we get very we get broad scope and artistic license in our comments now feel will be right to twitch right now because when I say artistic license I do mean within reason and Larry wall if you're listening putting putting elfin in a comment is wrong and any of you if you see Thea frost echo you should probably you're one of you is violating the others restraining order on the so it's broad artistic license but but but not overly broad but it does allow us to convey that intent explain what we're doing because these software systems are going to survive long past us when we write write for future generations write software for the next years and that I don't speak say this in jest I look at how much code in I mean I'm a I'm a relatively young person we are young people I look at code that I've written in my career that is running unreturned from 20 years ago and his show is is not a directory to go anywhere on this stuff will survive for a long time comments are how we speak to future generations and it is very important that we use this incredible power they are the art within this this timeless machine I mean it is this amazing amazing power so just to wrap up and start going a little over here but the sovereign during has changed incredibly in the last decade we have seen it's not just the rise of of YouTube it is all right so I mean we are in the open source era I mean Stevens been talking about this for a long time but it's only really been in the last five six years that we have been in an all open era it's amazing everything is open transparent distributed it's a revolution in oral tradition and we're recording this stuff we've got oral literature I mean it's if you if you've given a presentation your kids will watch it your grandchildren will watch it your great-grandchildren will like will watch it and it changes the kind of the way you think about what you're doing and the longevity and again we can expose that that with that Y of the thing and I would say if you're software engineering that team of software engineers encourage folks to record the oil tradition because not record the things that you don't otherwise record in comments where appropriate in a video where appropriate that record these things and not just for future generations but also because it allows a source base to project its values here's who we are about when people want to come work for giant I have them go watch a couple of key videos just so they know what they're getting themselves into and as I tell people like I've got a couple video listen if you know me you know which ones I'm referring to I'm like you would watch this and you will want to work here more or less but you will not want to work here the same after you watch is good but by doing that you allowed people to opt-in to your traditions your values and it leads to much more success in hiring you get a much more diverse team you get people you wouldn't otherwise get because the values that you have transcend the traditional ways that you hire people and I think our oral tradition is our legacy to future generations and we owe it on that we owe it to those generations to expand it thank you very much
Info
Channel: RedMonk Tech Events
Views: 25,780
Rating: 4.9771428 out of 5
Keywords: software, software_development, developers, culture, coding, code, bryan_cantrill
Id: 4PaWFYm0kEw
Channel Id: undefined
Length: 47min 59sec (2879 seconds)
Published: Fri Nov 18 2016
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.