Brendan Eich: JavaScript, Firefox, Mozilla, and Brave | Lex Fridman Podcast #160
the following is a conversation with. brendan ike creator. of the javascript programming language. co-founder of mozilla which created the. firefox browser. and now co-founder and ceo of brave. software. which has created the brave browser each. of these. are revolutionary technologies. javascript. is one of the most widely used and. impactful programming languages. in the world firefox pioneered many. browser ideas. that we love today or even take for. granted today.
and brave is looking to revolutionize. not only the browser. but content creation online and the. nature of the internet. to make it fundamentally about. respecting people's control. over their data quick mention of our. sponsors. the jordan harbinger show some basket. meal delivery service. better help online therapy and eight. sleep self cooling mattress. click the sponsor links to get a. discount and to support this podcast. as a side note let me say that there's a.
tension between. theory and engineering that i've been. thinking a lot about. i tweeted something like good execution. is more important than a good idea. but one helps the other i think the. wording of that. sucks but what i mean is a a good idea. is a must. but in my experience good ideas are in. abundance. good execution on the other hand is rare. i think some mix of good timing good. idea and good execution is essential. getting that mix right is tough and.
brendan somehow. multiple times in his career did just. that i'm starting to believe it's more. art than science. like most interesting things in life if. you enjoy this thing. subscribe on youtube review an apple. podcast. follow on spotify support her on patreon. or connect with me on twitter. at lex friedman and now here's my. conversation. with brandon ike when did you first fall. in love with programming. i didn't program a lot when i was in. high school but i had a friend who had a. commodore.
pet and after we saw star wars he said. hey let's make a basic. uh program that does the death star. trench run and it was just you know. simple. 2d graphics and i didn't know what i was. doing so i just helped him out. uh on the math and stuff like that i was. a math and science kid. i was really into uh the hp calculators. of the early mid 70s these were the rpn. they were really strongly built and as. alright goldfinger. instead of gold divinely heavy there's. probably some gold in them too. gold metallization but they were awesome.
calculators and they had all the. scientific functions so i was really. into that. um so i aimed towards physics um. i was a little late for the i think the. you know the 20th century golden age. and i read a lot of science fiction so i. was like yeah it's onto hyperdrives and. warp drives and. physics was not going to get there. quickly and i. started hacking on computers while i was. studying physics as an undergraduate. at santa clara university and you know. i dodged the fortran bullet because i.
was in the science department instead of. the engineering department where they. still did fortran. card decks i think they had an auto. collator but. we were using pascal and uh i got one of. the first. portable c compilers uh ports to the. deck mini computers were using and i i. fell in love with programming. just based on um. you know procedural abstraction uh. pascal. just what now would be considered old. school like structured programming from.
the 70s. um nikolas vert the creator of pascal. was a good writer and. a good pedagogue right he always at eth. would do these courses where it's like. build your own computer. build your own compiler build your own. operating system from scratch. yeah kind of and uh i know some people. who are grad students under the study. was. um he would torture the students with. things like this custom email system. that had 25 word limit. [Laughter]. and uh things like that i unfortunately. dodged both the pascal and the fortran. bullets uh could you uh.
maybe uh linger on the pascal like what. kind of programming language was it. what is it reminiscent of of today. because it sounds like. it may have had uh an impact on your own. trajectory yeah. it was in the algol family and algol was. um. you know the big uh successful uh. language design and compiler project in. the 60s it had a successor called algol. 68 which is ambitious but not as. successful. but pascal was kind of wordy procedures.
and functions language. it distinguished between functions which. return of value and procedures which. don't which just compute. and you could say that whole algol. family went into ada. pascal had a second life thanks to. borland with turbo pascal. which was hugely successful uh i think. in large part due to anders helzberg who. then went to microsoft and did. you know c sharp and done that with his. team there has done really well doing. typescript type javascript. so yeah there's there's a lineage here.
uh but. i was also interested in c in unix by. the time i was an undergrad. because uh people were bringing unix up. on all sorts of hardware i. had some friends who were doing their. own wire wrapped computers 68. 20 maybe and i was wire wrapping for my. engineering course um 1609 or something. simpler. building a computer on a board and i. wanted to build a more ambitious one and. port unix to it but i picked the wrong. processor i picked the national. semiconductor. ns16032 which was this amazing.
you know cisc complex instructions that. computer. and not the reduced instructions that. computers that were just. being contemplated into the mid-80s um. and risk ultimately went out risk one in. some ways it it. dissolved into that you have both now. you have these super scalar. architectures where. like intel has kept probably too much. backward compatibility at the. instruction level. but that's just a there's a front end. that parses that into these you know. these wide internal instructions so.
you know the very long instruction word. research that um. was also interesting at the time kind of. became the micro architecture inside the. backward compatible intel but i picked a. national semi chip and it. never got made successfully it was full. of bugs and i never could have brought. it up. but i went on uh out of physics after. three years into math computer science. and like i said i did it because i saw. um i was being sort of. childlike and naive about physics and i. thought meanwhile the valley is go go.
for computers the apple. ii right the the pc the intel. um 8086 uh. 8088 based pc the ibm you know gave. microsoft the future. for in a somewhat fishy deal so it's. wide open in the computing space but in. physics. you you were as optimistic about physics. no. i mean i was one of three brothers who. were all in the same grade i have a twin. and a younger brother who um skipped.
second grade was with us the whole time. after that. and you know he went on he actually. studied under kip thorne at caltech. wow but he also didn't he ended up in. software. physics does it make you sad. that uh theoretical physics even with. strength theory hasn't really. had any foundational breakthroughs in. the latter part of the 20th century and. uh. yeah in fact i'd say the problem is. theory over over. experiment i would say you know we need. more aristotle unless plato.
you know mathematics it's not all. physical there are lots of. mathematics that cannot be realized as. far as i know in this world. so to understand the world you need to. do experiments you need to. not just dream up uh inductive theories. that could have. lots of alternative theories competing. with them with no way to decide between. them except. aesthetics which is not a good guide in. my opinion i don't know if you. uh are friends with have a relationship. with elon musk. where's the in terms of like what you. would love to see our society investing.
in. building up is it closer to elon or is. it closer to. feynman and einstein and those well. those gentlemen are no longer with us. and. i think that's noticed so like i said. the real glory days of physics the. famous pictures from germany. before the second war were uh just a. fantastic. assembly of brains um you know. schrodinger and einstein. and physics i think took a wrong turn. that maybe all. of um i would say western science took.
in going for models over reality right. you see this in all sorts of fields now. we can build models that are very. predictive and generative and then we. build. actual devices or you know. semiconductors things like that that's. that's good i'm not dismissing that. uh we need good models we need to. experiment and. prove them and and test them but the. problem i've seen. in physics which you see certainly in. economics. the dismal science and you see. surprisingly. in other so-called hard sciences is. models that.
don't really have to be tested against. reality they can instead become. policy tools or they can become like i. said uh. one of a large family of alternate. theories that. could be as predictive but nobody's. doing the winnowing out that's such an. interesting tension in society. you see this in even the software. sciences which have a. deep love for like psychology you see. this in epidemiology not with the virus. absolutely it's this tension of you know.
how much of the world can we understand. through just. a beautifully fit model and then at the. same time. my main work is in machine learning. where. it's like there is no provable. thing usually it's just it's kind of you. it's all about just getting the right. data set and getting tricks and so on. and if there's this tension even in my. own soul of like i grew up. i grew up on theoretical computer. science like i loved. approximation algorithms like all of. that like.
different complexity classes just those. little puzzles i mean i don't know do. you. to you as somebody who was in math and. computer science. and then ended up going into places. where you. engineered some of the most impactful. things in this world. do you see the p versus np. all that whole space is interesting at. all yeah. uh it's it's not that useful in practice. right people are using it. uh with sort of crypto analysis or. asymptotic arguments about you know can.
can we have a quantum resistant. crypto algorithm things like that which. may not be practical right if you. if you follow mikhail diakanov or gil. collide. there are big questions about how health. quantum computing will scale up. um how practical it will be is that. something that you think about quantum. computing and. not except for spare time like you said. i'm not using this kind of computer. science in practice because. almost everything now is engineering and. finding ways to get um computers to be.
more useful for people. which goes from you know design problems. which are really kind of an art like. you've said anything you can't automate. as an art yeah well. we can have you know machine learning. compose music and it can imitate. you can train it it can sound kind of. decent but maybe lacking. that genus aqua but you know user. interface still i think requires uh. human art so speaking of things that. didn't follow a perfect theory and model. uh javascript so there's two things one.
had an impact on the world. a huge scale obviously and it also still. is one of probably the most popular. programming language in the world. so can we go back to the origin story. uh can you tell the story of how. javascript was created. yeah i was at talking graphics after. graduate school. for seven years and it got to be big and. successful and divisionalized and. political. and i thought um kind of boring.
and a friend who'd been there went to. one of the last of the super companies. the. super startups in in the early 90s there. were several. i suppose general magic was a little. after that around the same time. but micro unity was that company that i. went to and. it was because my friend uh jeff. weinstein had gone there from silicon. graphics he recruited me. and michael unity was doing everything. so. this was like the ultimate sort of. pretend grad school it was doing a new. fab. new semiconductor process it was doing. new um.
analog and digital circuits on the same. very large but not wafer scale chip. originally it was um five centimeters on. the side. it was really hot too so i needed a. water cooler. it was a cray killer and then they. shrunk it and they tried to do a. home sort of media processor that was. essentially a barrel processor but you. could think of um. trying to do all the things that we now. see in modern architectures. uh with short vector instructions and.
um sort of wide instructions or multiple. issue. uh and and doing a lot of the stuff in. software because. the second iteration the set-top box was. really for. avoiding the cost to the cable company. of rolling the trucks out. to replace your garbage general atlantic. set-top box with a. slightly newer less less uh garbagey one. so if you could have software upgradable. um. set-top boxes the cable companies uh. thought they could save a lot of money. and add features. is this assembly or was it it was which. level of design it was like.
we were writing in um we were using gcc. we're writing c plus plus and c. uh somebody i i worked with there um. really. very smart guy hired from a sort of wall. street. um hotshot programming consultancy. did his own hardware design as well as. software and we were working on how to. make uh not only. short vector units but general bit. shufflers and permuters. so you could do things like um you know. crypto algorithms efficiently and you. could do. uh demodulation of the cable you know.
complex uh quadrature amplitude. modulated signal. so you're basically taking a to d. converters dumping things in buffers and. then doing the rest in software. all the framing and the reed solomon and. viterbi and all that error correction so. that was really great learning. experience but it was not going to work. it was doing too many risky things at. once right if you. as jim clark said to me when i hopped to. netscape after three years at micro unit. he said oh yeah. you do 10 things each one in 10 odds. it's going to be 1 in 10 billion. the multiplication principle so you know.
netscape was already a rocket and i. passed the chance to go there in 1994. i. knew the founders. because i worked at sgi clark's company. could you pause for a second and escape. when was the launch of this rocket what. uh 94. 94 was the launch of the escape and i. went there in early 95 in april. okay but uh so you said you missed the. launch well i missed the the. end the first floor employment. opportunity but the ipo was was august. 1995. so i was there for that how obvious was. it the netscape was like world changing.
uh. what was the layout was netsk one of the. first big browsers. yes so when i was at micro unity still. in 93 we saw. a browser called mosaic and up till then. we'd used email and we'd used. usenet the nntv protocol we'd use news. readers. we used ftp we used all these old. internet protocols. all relying on the dns and tcpip and udp. for that matter when i was at silicon. graphics we brought up the whole stack. right we had to you know discover how. how to find the ethernet addresses on.
your network and then. find ip addresses for them our protocol. all that stuff and it was. great because nobody knew in the 80s. what was going to win all the. proprietary stacks like ibm sna and. decnet and all these other protocols. were. saying it's we're going to do it or it's. going to be heterogeneous future and. instead it was you know berkeley unix. and the tcpip stack that. dated back to the arpanet that won and i. think we knew it we all knew it at sga. but the sales people didn't. and so they kept trying to get multiple.
network stacks interoperating but in the. end. uh it won and so it that was the. internet and it was email and. texty and it was used very texty and. then. tim berners-lee did his thing but i. don't think i was paying attention and i. think the date. when he first did it or when he wrote. the famous email has been pushed back to. 89. but i noticed mosaic in 93 because. one of the things that mark andreasen. and eric biena did. at ncsa was they innovated on on the. html early html standard they in.
particular mark sent this email saying. hey everybody we think you should be. able to put an image in a page. and you know when he sent that eric bean. had already written the code and. you know i talked to tim berners-lee. more recently just a few years ago and. he was like oh we had another way of. doing it. yeah didn't work out because mark. shipped his in mosaic. and this convinced me of several things. one the internet meant. there was a huge first mover advantage. and being fast. getting on first mattered a lot and so. you know richard gabriel. of scheme and poetry fame has written.
about this. what's poetry uh well he's a poet uh. actual poetry. he's like he talked about some kind of. song no no i mean he's the founder of. lucid which is where jamie zawinski. worked before netscape and lucid was. doing you know compilers. and lucid emacs which was a fork of. emacs. famously jamie fighting against richard. stallman stall max. and so richard gabriel you know very. very brainy computer guy but also a poet. but he wrote a nice essay that gets. abused all the time in fact jamie's put. a kind of warning in front of his.
version of it on his site. jwc.org called worse is better and this. is about. survival advantage of software in the. network world in my opinion it's about. unix it started out being framed as unix. and lisp good news bad news because all. the list people the mit people were like. oh. you know this is the crown jewel right. uh scheme this. is faberge egg or common list this giant. cathedral of course we're going to win. this is civilization. and those you know those farmers in new. jersey to borrow from the sopranos those. those kicks down to bell labs they're.
just you know there's nothing sound. there it's all hacking. yeah um well guess what one wow so. you're saying this is a fundamental like. principle. of the internet is moving fast. wins you could say in in almost any. network system like in biological. evolution you see. successful alleles sweet populations and. they don't always have. um you know they are free of flaws the. heterozygous advantage right you can get. both parents give you the gene variant.
and you get sickle cell anemia right but. but if one of them does you're more. resistant to malaria. and so this isn't um a beautiful process. except at large scale and then you. realize that because it moves fast and. can adapt it. it can win and people still struggle. with this i i used to struggle with this. because javascript was done in such a. hurry. and the force of web compatibility meant. early mistakes couldn't be. fixed and even the standards process. injected new mistakes as it will. but often standards bodies go back and.
making compatible changes you can't do. that with the web it's more like. again like biology you you preserve what. still works you don't want to break. atp metabolism or whatever so um you. have to kind of resign yourself to. the reality of um worse is better. being enshrined in actual. design points you might not like and. that happened with javascript. and i'm way over it but it also i think. was a huge advantage why javascript has. kind of swept.
a lot of programming domains um people. will say oh it's not because of merit. well you're right but we also improved. it over time in the standards body i. spent. 20 years doing that and you don't get. that choice it's like. i'm not saying that that was the best. language i'm just saying that was the. right time to do it. and i like to say the alternative was. not to do it i could have. told netscape i can't do this it's too. rushed and it would have been. visual basic script it would have been. bad. uh so that's a good way to present the. alternative but so you're it was a.
netscape and. you were you have written in how many. days and why was it only that many days. and what was the. the goal and the underlying principles. in your mind so the whole. i'm sort of describing worse is better. in a frenetic way because it fit the. the model of netscape when when um it. was known that jim clark. and mark andreas were founding netscape. and they did the first release in 1994. that browser took over from mosaic in. fact that's why. mozilla is called that it's the mosaic. killer it's like the giant monster that. kills mosaic that's awesome.
and they knew they could you know it. wasn't that. again it's not like you're doing. advanced scientific research that is. changing the world you're more like. taking down uh the last iteration in the. browser mark did which had images. and you know other importances before. you stopped working on it and you're. making. netscape the new thing that has images. plugins which was the way to do video. back in the day. it had something that's kind of died now. for tiled windows called frames and. frame sets. html tables that was new eric bina did.
tables in escape 101. so when i got there they were heading. toward ipo. clark wanted the ipo early i think his. instinct was right and that kicked off. the whole. dot-com era right there was a recession. in the us in. 91 you can see old law and order reruns. where they talk about the recession how. hard it's hitting new yorkers. and after that greenspan really goose. things at the federal reserve and. and technology had been sort of. fermenting in a way that came. together with the internet and netscape. made it you know possible to do pets.com.
to do ebay to get people to recognize a. url on a billboard and then type it in. when they get home. and that was huge um that that was so. fast moving a rocket that uh mark and. um the engineering team there thought we. we need to. make this a programmable browser not. just a a document viewer. not just a video it's all html with. images and tables and also like you said. frames. really plug-ins there's no dynamic. element at all yeah the most dynamism. you get was from a plug-in which.
there were a few of them then flash. didn't exist at that point. uh it was i think um java applets. yet or no well that's the thing we did. the deal with sun in fact. i was recruited to go do scheme in the. browser remember. guys stealing gerald sussman's beautiful. lisp variant. i was going to do it in the browser. because my friends from sgi thought hey. we like scheme you like scheme and i'm. like i hardly ever use scheme it's not. really used in industry except in. sort of silos but i like it. okay i'll come do scheme in the browser. i have a slide from my.
2017 uh talk where i have bruce wallace. crawling through the duct and die hard. he's like. come out to the coast have a lot of fun. come on do scheme in the browser um. but when i got there there was no scheme. in the browser because they'd started a. deal with sun microsystems. and my best contact there was bill joy. who i admired as a berkeley unix founder. and. son founder uh and bill got the idea of. making the browser programmable too and. so the. idea main idea was to put the java vm. which at that point was. not really easy to embed into netscape.
including the netscape version on. windows that was still most popular. which was the 16-bit. windows 3-1 which was going away. microsoft was coming out with windows 95. and everyone was afraid they were going. to do you know internet explorer. i guess two at that point three the next. year they already bought. uh or invested in somehow spy glass this. other company that shot out from. ncsa at the university of illinois. and in fact microsoft had tried to buy. netscape in late 94 before i got there.
and i heard about this later i heard. they offered way too little money and so. you know. jim barksdale and jim clark said get out. of here pound sand. but then they realized oh this is going. to hurt us because now they're going to. copy us. didn't happen right away i'm not sure. when gates internet title wave memo was. written that's the famous memo he wrote. when bill gates realized that microsoft. was going down this. old copy aol path or copy compuserve. path. a project called blackbird presumably.
after the sr-71 i don't know. but they were going to make a you know. dial-up service with a custom. content language stack and custom. rendering it wasn't the web. um you know they could have content. partners uh. they have a lot of money but it still. wasn't to scale the web it wasn't going. to be compelling and. gates realized this and he turned the. company on a dime and they. couldn't buy that escape again i'm not. sure the timing so they decided to copy. it and. once we realized that everybody inside. that escape felt even more urgency and. more of a frenetic mood.
and so my chance to do scheme. disappeared when. the java deal started brewing but there. was still a chance to do. a companion language to java because. java was a compiled is a compiled. language. it's evolved and improved quite a lot. since then too but it was. for sort of serious advanced programmers. that cost a certain. salary or hourly rate and people. observed bill bill joy observed and i. mark and jason and i observed that in a. mature stack like microsoft you really. benefit from having a scripting language. like visual basic.
which became visual basic script in ie3. but didn't take on didn't take over. uh kill javascript that you need two. languages one is for the. component writers who are higher priced. and more expert. and the other is for uh scripters. certified public accountants uh. designers graphic designers with some. programming inclination. anybody amateurs doesn't matter there's. a much more demotic. approach there for programming the. components together gluing them together. some people say duct tape language which.
i don't really like but. we saw that bill joy and mark and jason. and i we saw the need for companion. language. and the gleaming r i was to call it. javascript i didn't like it that was. marketing's. plan mark called it moca which i liked. and netscape marketing i think didn't. like that so they said oh there's some. trademark and some software. somewhere that uses mocha so we can't. use that and they tried live script in. august and that didn't last and then. finally we got the trademark license in. december. 1995. but the work i did to prove that.
it could be done. was important because i i came in in. april. and even then netscape was growing so. fast that they couldn't find. an open hiring requisition in the client. team for me so they hired me into the. server team. and i worked for a month on server team. on what became. http one one so i was actually i had. done protocol work at silicon graphics. with greg chesson uh former. bell labs intern grad student intern who. knew all the unix founders and. greg was very interested in taking um.
protocols to the next level with vlsi. because he thought that cpus wouldn't. wouldn't scale up he was. mistaken in that unfortunately moore's. law more than kept up and you have you. know gigabit ethernet running. with conventional processors but i. worked on protocols at. sgi as well as unix kernel hacking and. nfs and things like that so i. i came into netscape to work on the. server side for a month but i was i was. thinking the whole time. what should this language be like should. it be easy to use. might it syntax even be more like. natural language like um.
hyper talk which is bill atkinson's. language in hypercard. if you have ever used hypercard on early. mac uh and i thought. uh well i'd like to do that but my. management is saying make it look like. java. which looks like c from a distance what. does that mean is it braces we're. talking about visually yeah i mean like. what management do they understand what. they don't marketing didn't know but but. management did like. rickshaw vp of engineering knew and we. had a plan even.
that was if you have this companion. language you're going to glue things. together between java and javascript so. you're going to have commerce. in memory in the heap with data types so. you're going to want some of the data. types in. java to reflect into javascript you're. going to want the primitive types that. java unfortunately separated from. objects so at least. some of them number double let's call it. in java's terms. from the c term for double precision. floating point. um or strings or booleans. um and objects and so.
right away there was this constraint. looking like java meant. kind of the c curly brace syntax but. also some of the data types and objects. like objects and so on all that kind of. stuff. comparison operator garbage collection. yeah. uh even the bitwise operators and the. shift operators including the unsigned. right shift which. java had because it didn't have unsigned. integer types it's it said if you want. to do unsigned operations use an. operator. and that turned out to be important much. later i'll tell that story five time but.
javascript inherited a set of. operators the expression grammar the. statement grammar up to a point. from java but i wanted a functional. language i wanted scheme. a little bit of scheme even though it. wasn't as clean as scheme i wanted you. to love sergeants and drops you had a. love for scheme and lisp but. that that that functional language yes i. wanted first class functions. because i i saw the need for callbacks. in the browser where. it's a single threaded program all the. early browsers were single threaded and. it's the right model for users most. users weren't ready for mutual exclusion.
and. threading so in a single threaded world. you cannot block the user interface so. you have to use a callback and run later. and the without getting too fancy and. trying to capture the continuation like. call. cc does in scheme i thought i'll just. make it easy to have. fun arcs first class functions you pass. you know downward and they can call back. and be called back and java didn't have. that at the time. it had it took forever to get proper. first-class functions. uh lambda is now into into java java. seven or eight i think.
it did have concurrency right from the. from the very beginning but you were. thinking that the. javascript in the browser would not have. the luxury of being. concurrent that's right and the reason. was java was going to run into plug-ins. so it could. fork threads and go go to town but the. main action in the browser was in the. single threaded program the single unix. process on on unix. or windows and it was where you had to. service the event loop and then go. you know do things respond to the. network lay out some html. render it turn you know widths into.
heights by filling containers boxes. uh the early what became the css box. model uh. and run scripts to you know make the. thing livelier respond to user input. uh and all that event driven programming. was in part like hypercard because. hypercard had this on. event name syntax and so that's why you. have in javascript on click. run together as the name of the event. handler and there's some funny ones on. mouse over and on mouse out. people still complain about those but. you know um there are many more events.
now. over the years standardized but it was a. mix of event-driven single-threaded. programming because it had to run. in the main thread of the browser where. the action is and. java never got there which meant java. could not interact easily or. quickly or in a nested way with the. document with the objects. reflected from the html document with. the tables and forms and so on. and that that is one of the reasons i. think javascript survived and java kind. of died java was in this plug-in prison. it essentially was confined to a. rectangle the apple rectangle.
and while we even built next year nick. thompson. a friend from sgi who was an intern grad. student. at cmu at the time built the first. version of live connect to glue. java and javascript together to deliver. on that vision where you do have. commerce between the data types and the. heap um. did it work it worked but you were java. was in charge. javascript was in charge and java was. just these components these helpers. you might as well do everything in. javascript and what happened over time. it's like an evolutionary filter it just. kind of. who needs the plugin and in fact sun.
mismanaged java as a plug-in they they. thought well netscape. is giving us the distribution vehicle. and we don't care about the browser it's. just about getting java out there and. that was a big miscalculation they then. tried because microsoft was killing. netscape after. years they tried getting into microsoft. and you may remember there was a sun. microsoft deal. which famously blew up and and. microsoft kicked java out of windows and. that's when they really pulled the. trigger i think they already evaluated. it and liked it. on anders helsbergs.net and you know c.
sharp. and decided we're going to just not have. java we don't want. you know any of that sun stuff we don't. want the patent risk we don't want. i'm not sure what the fights were about. there was some patent angle to it i. think. and up till then microsoft had been. using. java components like in outlook web. access. which had a lot of javascript to be a. web mail like hotmail like user. interface they had to call. the the mail server drew htp. and they they used a a java object to do.
this. and when they gave the boot to sun they. suddenly other. you know the left hand gave the boot and. the right hand said we better do. something else in outlook web access. what are we going to do. and they said let's just add an activex. component which is their own. native way of embedding things in. languages and. we'll make it it'll be what became xml. http request which is now a web standard. for calling. asynchronously and it's been replaced by. the fetch api in html5 or html living. document but. this whole lineage goes back to java.
being successfully the loser and getting. kicked out. and after microsoft kicked it out it was. a plug-in and you would find it required. for like. smart card banking in in the nordic. countries where. that was mandated by law but really. didn't get used much or you know there. were pilots who used it for. um flight information but. flash which netscape could have bought. but unfortunately didn't. they really definitely did yeah we would. have screwed it up i mean what year are. we talking about with flash. i think after the ipo so it was probably.
late 95 and flash was wrong. was it adobe no it wasn't no it was it. was called future splash and it was. these brothers jonathan gay i think his. name was he. he uh came knocking and the marketing. guy at. netscape who was screening the. technology partners or want to be. acquisitions was brutal and just. everybody wanted to get on the netscape. you know stock gravy train and he. sent them packing and they they ended up. selling the macro media and macromedia. was where. flash was created and the good thing. about macro media was it was a.
um tool company so it invested in. you know the best ideas i think which. are still somewhat lost to us of flash. the timeline uh animation is sort of an. immutable function. over time they had the tooling around. that too like that dreamweaver. there's a flash flash a director there. were a bunch of them yeah. i mean yeah they that was a flash. builder was one of the last ones. these tools were used by real artists. and you know special effects people and. designers. all the restaurant websites around 2005. were done in flash which was.
you know we were trying to do html5 at. the same time that was the firefox era. we were trying to make. the web capable enough you didn't need. flash but if you recall you go to a. restaurant it's like. this is kind of like a game or something. it's like a flash all the font looks. small. you didn't like flash from the beginning. you're like this is this doesn't feel. right. not really i actually admire flash's. technology and i'm pretty pragmatic. about these things and i i. realized that you know it doesn't matter. if you're. dealt a bad hand like javascript was a. rush job or if you have flash as a. plug-in.
and you can invest in the tools and make. it pretty good uh you should you should. make it better for your users and grow. it as best you can. and what happened with the browser due. to microsoft's monopoly abuse. for which they were convicted and you. know um. even after that until i think firefox. and then chrome. was people kept saying oh the web can't. do x i can't do y. we'll have to have a plug-in we'll have. to have a new approach we'll. we'll clean the slate and have a new web. and everyone who said that. failed and the reason they failed is. because there's too much value.
in the web this huge network and the. worst is better principle. means that you can not only start bad. which they all sneer at. but get on first and get wide. distribution get sort of evolutionary. advantage. in the priority of place but you can. also improve it over time. yes and so if you're going to improve. flash and for some reason flash is now. out of favor steve jobs said you can't. have flash on the iphone that was. probably the death knell. put your energy into javascript and that. happened right so we we did things.
at mozilla with adobe to improve which. bought my macro media. to improve flash and to improve the. version of javascript that was in flash. we tried to standardize that oh that's. right i'm getting ahead of myself. yes yeah that's it that's right can we. just rewind yeah it's a magical like. you know it's a special moment in the. history of all of computing it's. uh we'll talk about it later but it's. arguable it's possible that the entirety. of the world will run in javascript at. some point. so like it's like those are those days. it would be.
it would be interesting if you could. just describe actually zooming in. on the how the cake was baked. uh from the you know the the several. days that you were working on it. what was in your mind uh how much coffee. were you drinking. were you nervous why you're freaking out. i'll try to remember it i mean you're. right. there are these pregnant moments you see. in hindsight maybe they're overrated but. like. hegel sees napoleon on horseback right. yana and says there's the world spirit. uh on on horse and.
uh i knew that there was a chance to do. it mark knew. and he was my you know executive sponsor. and. he was the one you know sort of. brainstorming how the javascript should. be right there in the page that was. important for him to say that because i. i thought so too but a lot of people. were like well you can't write. programming language in the middle of. the markup. and indeed there are problems if you did. it naively you'd see the code. laid out as like random gibberish so i. had to figure out how to hide that that. was a. challenge is that is it a breakthrough. idea i mean.
so you mark thinking about this idea. that you just inject code. in the middle of the market the web page. yeah it was considered kind of heretical. there was an sgml guru i forget his name. but he corresponded with me and at first. he was angry he's like. you should have used a marked section. why didn't you use a marked section and. i said well. html marked sections are not part of. html by the way and they're not. supported in the browser. and so i did some hack that was. equivalent and over time you could do. the proper sgml thing but it eventually. came around. and it was again sort of of evolutionary. necessity it was almost like.
introgression like like. you know the idea um which liam. arguelles i think. helped get across that uh we have to. consider. mutualism biology that maybe you know. mitochondria were ancient. uh prokaryotes that got into the cell. and became beneficial. um somehow uh the same sort of thinking. applies uh you have to embed javascript. in html it's gonna be a good virus. it won't so the code the code becomes. data in the sense it just gets carried. it's very carried along but is there is.
there's. the side of the so you were focusing on. the netscape at that time. doesn't the browser have to support. interpret correctly this. mix of html yeah and whatever code i had. to hide it from old browsers including. netscape one one which was predominant. then. so i used an html comment but the. inside the container that comment lived. in the script tag which is a new element. i could make. different semantics in netscape 2 where. those. html comment delimiters instead of being. multi-line brackets became one line. or essentially one line so you wrote the.
javascript was written the programming. language was written as a comment. a comment for all browsers and a set of. uh brackets that were ignored with real. code for new. and it was this two-way comment hiding. hack as i called it. that was absolutely necessary for us to. get off the ground we couldn't have. bootstrapped javascript without it. we didn't have scripts that were loaded. from a separate file the only scripts in. netscape 2 were inline in the document. what were the challenges here what what. like what uh. you know typing uh uh what were the. choices you were thinking about garbage.
classified because garbage color i. didn't have time to write a garbage. collector so. i just i didn't at first so the thing. was using essentially arenas or what. gnu calls obj pools and just would run. out of memory eventually. and i added reference counting in a. hurry after the 10 days in which i. hacked. so after i was in the server team doing. http 101 and thinking about the language. i finally got transferred to the client. team in early may and that's when i. you know i got the go sign from mark and. it was like we can't wait because people. inside netscape are doubting. even people inside sun are definitely.
doubting bill joy was the champion but. he was like. alone in that in seeing there was a role. for javascript as the. as i call it the sidekick language robin. the boy hostage. frank miller put it in the dark knight. returns um. that uh there was a silly little. language that would be the glue language. it could become important over time and. you were better off having that. complementarity that pairing of. languages just like microsoft stacked it. with visual c. plus and visual basic so what was the. big moment.
of uh i'm done so i had to do a demo i. i forget the dates i think i for a. history of programming languages paper. that alan where's brock. did with my health he did a lot of the. writing um i think it was the. 10 days from like thursday evening. through to the following. weeks you know whole that week and then. into the monday. sleep not not enough and i was really uh. going fast because i had already used a. lot of. um c compiler and front-end compiler.
knowledge that i'd gained from. undergraduate school when i started. getting into computing. as a renegade physics major uh people. were formalizing. more efficient bottom-up grammars. parsers for bottom. languages uh really lalr 1 was the big. thing. and i studied all this and learned how. to parse them and. in the end uh if you're doing c. languages you often do what um. what what dennis richie did anyway which. is a recursive descent.
parser you can hand code it and i did. that for javascript. in a blazing hurry mostly got it right i. didn't you know have precedence in. version problems or other bugs but i. copied a lot. from java and c and i tried to keep. things simple like the equality operator. in those 10 days sprint between. two objects of different dynamic type. said no they're not equal their types. are different. and then after that i had internal early. adopters and they were using javascript. to. like match a number against a database.
field that had been string eyes and they. said oh can we just have implicit. conversion and. like an idiot i agreed i gave them what. they wanted i was trying to please them. and get adoption. and that you know broke what what. equivalence relation. um nature there was to the double equal. you know there are some four edge cases. with not a number. that break that of two but it really. broke it um having implicit conversions. in the operator is something that people. still. roast me over so let's let's talk about.
two things one. it sounds like the comparison operator. the equality operator. is the thing that you regret so maybe. making it sloppy making it sloppy so. what is the biggest. thing you regret in those 10 days and. what is the biggest thing you're proud. of. so that that making it sloppy came after. the 10 days and my lesson there which. i've tweeted is. when people come to you saying can you. please make it sloppier add this cute. feature. the answer should be no and i should. have known that because i think. nicolas vere one of my heroes said the.
essence of design is leaving things. out um but during the 10 days i also. like i said i was in such a hurry i left. out garbage collection. came back to haunt me but i got. reference counting in in time that. people. weren't running out of memory right away. on on long-lived jobs. what happens when you don't have garbage. collection you have objects well you. just run out of memory. and you know i love it at first you. write a short script and the page. doesn't last long longer it doesn't do a. lot and it's okay oh i see yeah yeah but. if you're writing a game or something. and you're. doing event based allocation you run out.
of memory and this was noticed. in the summer of 1995 and people were. like what's going on oh yeah i gotta get. i better go back and do reference. counting. and then the problem with reference. counting is you're writing the language. in. the runtime in c an unsafe language and. if you're reference counting and you. overflow the counter you mismanage it so. it goes high it gets stuck high you leak. memory again and you run out. if you underflow it you pre-memory. that's still in use. and even then we knew what all the. security hackers.
came to know that you therefore have a. potentially a remote. code execution vulnerability because. this was before things like. non-executable heap memory and. stack defenses against taking over. memory so if you can. from the the remote side write some html. and javascript that just happens to. exploit a bug in memory safety like it. causes javascript to underflow a. reference counter and the script still. has its hands. on that object and it's trying to call a. method on it and there's some kind of. lookup function table in the object.
but you've managed to stuff the heap. with strings that. forge their own lookalike for the. function. table you can call some other code and. this was a problem. right away so security you know. javascript upped the ante java had this. problem too but in its own vm. and it just was you know a separate. headache for. sun to worry about we had this problem. in netscape right away so netscape 2. came out. after my 10 days and after these you. know follow-on work to embed.
javascript better in the browser and to. add garbage or collection through. reference counting really. i'd call it reference counting and get. it shipped. we had a bunch of dot releases where we. fixed security bugs like maniacs. but what is the thing you're you know. when you sit back. on a porch and just look out into the. sunset what are you most proud of from. those 10 days. i think the first class function shines. i think especially since java didn't. have it and it was. somewhat unusual ski made it in somehow. uh. at the end of the day in spirit i mean.
people complain because scheme has. you know minimalism it has you know six. or seven special forms it has. hygienic macros it has call cc it has. sort of. a beautiful uh complete um. set of forms to make the land of. calculus pleasant to use in in practice. um and javascript is you know kind of. a multi-paradigm or shambolic. just a small tangent you mentioned mark. andreessen. it sounds like in bill joy but staying.
on mark. it sounds like he had an impact on you. in that he sort of believed in what you. were doing there can you can you talk. about like what role mark had in your. life. yeah we would meet at the um the. peninsula creamery in downtown palo alto. and mark was just fresh out of you know. grad school or whatever he was doing and. he was. a big dude and he got fitter later. uh he had hair he he would order giant. milkshakes and burgers. and we would meet there and brainstorm.
about what to do and it was very direct. because. we didn't have much time the the sort of. we didn't talk about it but the. implication was microsoft's coming after. us. mark was saying things boldly a pre-ipo. like netscape plus java kills windows. right this is. ambitious makeup browser programmable it. becomes the new runtime for programs. it's the meta os or it's the replacement. os um but he still. saw value in javascript yes even though. he was saying that and java was the big. name. hence the trademark license uh he saw.
javascript is important. and he even thought what if we got i. told this another interview second state. he thought what if we had. my friend kip hickman who'd been at. netscape from the beginning and who was. a kernel hacker at sgi when i joined. he started writing his own jvm before we. consummated the sun deal and got our. hands on their code. and the java compiler java c which. arthur van hoff had written very nice. code was all written in java it was. self-hosted or. so called bootstrap and so we could use. that as soon as kip's. java vm could run the byte code from the.
the sun. jvm running the self-hosted compiler to. emit the bike. so once we could bootstrap in the kip's. vm we wouldn't need sun and. mark was like well maybe we can just you. know ditch sun. or java vm or if you're a javascript vm. we. now we need graphics so mark was. thinking far ahead because he knew. you could do things with html and images. but at some point you really want like. cinema graphics or yeah. three-dimensional like even sgi had. already started its downfall because.
the first four vlsi team there had gone. off to do 3dfx and all these other. companies that made the graphics card on. your pc right. doom was was big and quake and so you. were we were all playing quake i was old. so i was terrible um. but why not put that graphics capability. on the web and in fact it finally. happened. uh at mozilla with firefox era with vlad. vukichevic. taking opengles and reflecting it as. webgl but opengles. is the mobile version of opengl which is. a standard based on sgi gl so this whole.
lineage of graphics libraries. or really graphics languages for what. became the gpu. and mark was thinking ahead it's like we. need graphics too and i thought okay i. could try to get somebody i knew at sgi. but he's a grad student at mit he was. studying under barbara liskoff. he laughed when he heard about this. later andrew myers he's at cornell a. long time i think he's a full professor. and mark said great we'll get him i'm. not sure he's going to come. we'll throw money you know stock options. we never did it and. they did the sun deal so kip nobly put. aside his own jbm and we used the sun.
jvm. so that was an ambitious period and mark. was very generative because he was. pushing hard. he was ambitious and he wanted to have. netscape. possibly be in control of the ball maybe. you could speak to the. this dance of uh. netscape versus internet explorer you've. uh. you've thrown some loving words towards. microsoft. throughout this conversation but that's. the theme with uh i mean steve jobs had. a similar sort of commentary.
from a big sort of philosophical. principle perspective. can you comment on like the approach. that microsoft has taken with internet. explorer. from ie1 to edge today is there. something that you see as valuable that. they're doing. in the in the occasional copying and. this kind of stuff or is it. um is the world worse off because. internet explorer exists. so i'm going to segment this into. historical eras because i think. microsoft is today with. quite a different company and what.
they're doing with edge is different but. back then. um gates you know aggressive character. not really original in my view. not an originator steve jobs famously. said once he doesn't have any taste and. i don't mean this in a small way. there's no taste you can see this apple. at the time. had beautiful typography and ligatures. and kerning and the fonts looked great. and windows had this sort of ugly system. font that was carefully aligned with. pixels so it. didn't get anything what is it i'm sorry. to keep interrupting but why did why was.
internet explorer winning. throughout the history of these. competitions distribution distribution. matters more than anything and this is. why. um you know even now we're seeing in the. browser wars edge. doing better because it's being fostered. on people of windows we have windows 10. boxes at home. we have some windows 7 boxes we or. laptops we keep running too because we. we don't connect them to the internet. generally but um. but but uh once you have that operating. system. you can you can force you know edge and. apple did it with safari too. it's not unique to microsoft that's sad.
but. uh distribution matters and that's why. uh i think ie was going to win that's. why. everybody at netscape felt were doomed. this was something michael toy and jamie. would say were doomed. um but for a while there we had a chance. and we innovated in netscape too we. did a big platform push java and. javascript and. plugins more plug-ins and um. you know more html table features and. and really started making. a printable stack out of what were. pretty static web languages and.
even in the beta releases in netscape. two people were using javascript to. build what you would call single page. applications like gmail. and they were using javascript locally. to compute things and to call the server. on a hidden frame in the background. so it was prefiguring a lot of what came. later as ajax or dynamic javascript. dynamic html so people saw that i mean. even when they saw it that's kind of i. don't know. from my perspective that seems quite. brilliant this it seems like really. innovative that you would have code run. in the browser. it did impress me with something um.
which i learned later about from. eric von hippel of mit which is user. innovation networks lead user effects. that throwing out javascript even though. we weren't doing open source we were. doing beta releases early and. permissively with netscape. getting early developer feedback. absolutely critical i loved it i did. some of that with sgi with some of the. products i worked on but it really came. to the foreign netscape and that. you know culminated in mozilla where. you're dealing with developers all the. time and early adopters lead users but. the lead users helped improve javascript. even in those.
last few betas where i could hardly. change things i was under pretty rigid. change control. so we're talking about just a small. collection of individuals that are just. like. up front guy named bill dortch you can. find his work in the web archive still. from 1996. it's a single page. application it's an. artist's gallery of mountain art. javascript doesn't quite work he uses. javascript locally uses a local. database what you would think of now is. json but it's all. pure javascript code a bunch of objects. being constructed that's so cool. so how is uh if you can do sort of a big.
sweeping progress of javascript how has. javascript changed over the years any of. you from those early 10 days. with a quick addition of garbage. collection and fixes around security. how is this evolution that now it's. taking over the world. in this it's been a bumpy ride because. the standards body got shut down after. microsoft i think um took over the web. and then felt punished by the usb. microsoft. antitrust case can you speak to the. santa body like. that was a fun ride too because netscape. had uh taken the lead.
with the web and html innovations like. um. frames and frame sets tables and the w3c. was sort of off even then sort of in. sgml land heading toward xml. la la land i'm going to be a little. harsh on it because it's html i'm sorry. html was the precursor markup language. to html. it was sort of the more extensible um. standard generalized markup language it. was it was a xml like 20 brackets but it. had. all sorts of elaborate syntax for doing. uh different semantics.
and this is why i think you know tbl and. others who wanted to do the semantic web. then took xml um forward but they had. this. uh or some of them anyway had this. strange idea they could replace the web. with xml or that they would upgrade the. web. to be xml and it couldn't be done worse. is better had. concrete meaning the web was very. forgiving of html. including sort of minor syntax errors. that could be error corrected like error. correction. isn't generally done in programming. languages because that's another amazing.
thing about html is like. it's more like biology than programming. yeah exactly. and so uh xml was in its standard form. super strict and could never have. admitted you know the kind of users who. were committing these errors. and the funniest part was microsoft said. hey we're doing xml but the way they put. it in internet explorer under the. default media type. put it through the html error corrector. oh wow. so they kind of bastardized it to make. it popular and usable and accessible. and so xml as a pure um.
you know thing was never going to take. over and the w3c was kind of. not fully functional because netscape. wasn't cooperating with them. we thought about where to take. javascript and we realized our standards. guru carl. cargill realized there was a european. standards body that had already given. microsoft fits by standardizing parts of. the windows. 3-1 api which european governments. insist on they said microsoft we can't. use your operating system without. some standards and microsoft said you. know here's our docs and.
and the government said no we need a. european standard so this body called. the european computer manufacturers. association. ecma which eventually became global and. became a proper noun instead of an. acronym. right it's uh it's just one capital e. now with a lowercase cma. right and as uh one of the early. microsoft guys i met when we first. convened a working group to talk about. javascript said it sounds like a skin. disease. but it gave i mean maybe you'll speak to. that but it gave the name to javascript. of ecmascript. that was the standard name because java.
was a trademark of sons they were so. aggressive they were. sending cease and desist letters to. people whose middle european heritage. meant their. their surname was javonko and they. called their website javanco.com. and son was sent them a letter saying. you're using java at the start of your. domain name you must cease and desist. i love marketing more than anything else. in this world uh. so so ecmascript and now is popularly. named as es. plus version i would say people use js. more than anything people still say.
javascript javascript. books sorry i mean when you're referring. to it's usually javascript and when you. want to refer to a version of javascript. you'll say es6 es5. yes or now they've gone to years which. is kind of confusing because it's an. offset. of 2009 es6. is yes 2016. uh. yeah it doesn't match the years. perfectly yeah yeah so so what. uh what what were the choices made and. how did javascript evolve here so. we took this this this new standards.
body which had we thought. a sort of a proven record of standing up. to microsoft but microsoft. sent a lot of people they sent some some. people who were. pretty good and then when they realized. that i was there and netscape was not. going to. you know just bend over and do whatever. they wanted they sent somebody really. good he was a smart guy he did a lot of. the work on the first draft of the spec. sean katzenberger he's left microsoft he. even. did what i sort of did he told his. bosses i stopped bugging me to do other. things i'm focused on this because it. took a lot of focused work to create the.
first draft of the spec. and i was still holding i was spending. almost all the plates i had like. part-time help in certain areas and on. the front end integrations i had the. front-end guys. but i i couldn't take as much time as. sean was to write the draft spec but i. had to participate because. i was essentially helping write down. what the language did in areas where we. didn't like what it did and. microsoft didn't agree we sometimes got. away with slight. changes and that's the story of. standards you have different. implementations. and depending on their market power they. interoperate where you have agreement.
and where they don't the dominant one. usually sets this. de facto standard and then you should. probably reflect that into the jury. standard. and this happened with javascript over. time as netscape went down and microsoft. went up. we did the first edition of the standard. codified in 1997. in france we had a trip to nice which. was very memorable. for any interesting reason or just. because it's nice and and ecmas european. and ibm and others were you know there. uh mike kalashaw an ibm fellow was a.
britisher and we. the the the guy who ran active at the. time john vandenbelt was quite a. a raconteur and a very fun guy and he. had us out for you know the great. you know frida mayer the boy bays and. was the standardization process. beautiful or painful that those early. days you as a designer of the world it. was painful because it was rushed now. guy steel was contributed by sun so even. more than sean you had this giant brain. guy steel helping bringing some of that. scheme magic and he even brought richard. gabriel for fun and richard wrote the.
fourth clause of the. standard which is kind of an intro to. what javascript's all about. so we had some really good people and we. didn't fight too much there was some. tension where i was. fixing bugs and i was late to a meeting. and sean katzenberger microsoft was. actually mad. like where is he we need him and when i. got there. i saw that only he saw this sort of off. by one bug in somewhere in the spec and. then i saw it too and i said there's a. fence post bug there and then. we kind of locked eyes and we realized. we were on the same page and we kind of. he wasn't mad anymore.
what were the features that are being. like struggled over and debated and. thought about and. it was mainly writing down what worked. and what we thought should work in the. edge cases that didn't interoperate or. that. seemed wrong uh but we were already. laying the groundwork for the future. editions that. i was already implementing i was still. trying to lead the standard. by using the dominant market power to. write the code that actually shipped. so the de facto standard would lead the. de jure standard and i was putting in. the the missing you know function forms. that i didn't have time for in the 10. days.
so this is the engineering mindset. versus the theoretician so you didn't. want to create the perfect language but. one that was the popular and. shipped and all that kind of and you. could say there was i was standing on. the shoulders of giants so there was a. staged process where i had to hold back. things that were well designed by others. in other languages and i could. imitate but i couldn't do them all in. the 10 days so they came in. 1996 in 97. and they came into the third edition of. the standard which was finally finalized. in 1999. but at that point netscape had been sold. to aol and was.
which was a decent exit considering and. uh. you know had previously been mercilessly. crushed that netscape was selling the. browser along with. server software that it acquired after. its ipo. and microsoft was just under pricing it. so there was no way. to compete with that microsoft was also. you know. making internet explorer the default. browser in windows. which is called tying and antitrust law. and they were doing even more brutal. things there's a famous. uh investor he did very well on google.
so he's a billionaire rahm sri ram and. he was. sales guy or head of sales at netscape. and. he got off the phone looking ashen faced. after compact called and said. microsoft just told us they're going to. pull our windows license if we ship. netscape as the default browser. wow this is so there is some bullying. going on there was totally. material in the anti-trust case but but. javascript escaped into the standard. setting where there was fairly good. cooperation microsoft. had a really good guy on it and you know. guy steele was there for a time and and. there was some good work.
but after the anti-trust case and. you know netscape kind of dissolving. into aol and not really going anywhere. quickly mozilla. took years to really bring up um the. standard froze and. by 2003 even though they've been sort of. noodling around with advanced versions. javascript 2. i'd given the keys to the kingdom to. another mit grad baltimore horowat. very big brain still google i think he. won the putnam in 86 so he's. yeah very mathematician um he he.
designed this. successor language javascript too but it. it only showed up in. mutated form in microsoft's asp.net. server side and it. didn't last there and it showed up in. flash and that's what became action. script three. with the action script interesting and. then and then flash of course declined. and so. how do we arrive at es6 where it's it's. like. there's so many where everyone okay. there's this history of javascript. that people were it was just like cool. when you're like having beers to talk.
crap about javascript. everyone loves to hate like people who. are married say ah marriage sucks. is they just want to get let off some. steam even though everyone uses the. language yeah. but es6 ever it's become this like. uh reputable like it fixed major pain. points i think it added things to the. language and added something. that was already es5 strict mode but. made it implicit in class bodies and. module bodies it was a big jump but it. accumulated some of the es4 designs.
that we've done with adobe for. what we hoped would be the fourth. edition of ecmascript. that were supposed to fold in some of. these old javascript two ideas that had. come into actions or three. so you look at the family tree and you. see these forks and the main ones. are the the ones that go into adobe. flash acquired from macromedia and the. one that went into the server side of. microsoft's. stack which kind of died and then trying. to bring them back into the standard and. not quite succeeding es4 was was.
mothballed. but all the good parts that everyone. liked made it into es6. and so that that was a success and i i. said earlier i had the wrong year i. think it's 2015 so it's off by. four yes yeah it was done finalized in. 2015 it took a little longer than we. hoped but. um because es5 was 2009 and that was a. smaller increment from. es3 we skipped four again we mothballed. it and. we had a split in the committee where. some people said you know es4 is too big. we're going to work on incremental. improvements. no new syntax in particular they they.
promised. not quite true but uh they they added a. bunch of interesting apis alan where. sprock my. co-author of that hobble paper and he. was at microsoft at the time i ended up. hiring mozilla he wanted to. get to mozilla and keep doing the. sort of editoring editor job of the. javascript standard ecmascript um. and when we got es6 done it was it was a. little late. 2015 and we switched to year numbers so. people still call it es6 i call it es6. yeah but if you remember you know off by.
nine. plus two thousand yeah i mean esx is. such a big. job i mean like you said there's a. thread that connects all of it but es6. is when it's like became this language. that. it almost feels ready to take over the. world completely. we're programming in the large features. more yeah features you need for larger. teams. and software engineering microsoft did. something smart too they. anderson company um luke hoban who's. left microsoft also did typescript. and they realized uh something i think.
that gilad brock has also popularized. and. and uh he was involved in darted google. if you. don't worry about soundness in the type. system you don't try to enforce. the type checks at runtime in particular. just use it as sort of a warning system. a tool time. type system you can still have a lot of. value for developers. especially in large projects so. typescript has been a roaring success. for microsoft. what do you think about type what do you. think about typescript is it uh. adding confusion or is it ultimately. beneficial i think it's beneficial. now it's technically a superset of.
javascript so of course i love it. the the shortest javascript program is. still a typescript program any. javascript program is a typescript. program which is brilliant because then. you can start. incrementally adding type annotations. getting warnings yes learning how to use. them. microsoft's had to kind of look around. corners at the standards body and guess. how. their version of modules or decorators. should work and and the standards body. then may. change things a bit so i think they're. obligated with typescript either to. carry their own version or to.
bring it back with incompatible changes. towards the standard over time. and i think they've played generally. fair there there's some sentiment that. why don't they standardize typescript. well. they've been clear they don't want to. they have a proprietary investment it's. valuable they've controlled the ball. and in some ways you can say the same. thing to any of the other big companies. in the standards body why doesn't google. standardize its stuff um. so you you think it'll continue being. like a kind of a dance partner. to javascript to the base javascript. there's a hope that at some point. if they keep reconverging it and the. standard doesn't break them and.
goes in a good direction we will get at. least the annotation syntax and some. semantics around them because when. you're talking about type annotations. they're generally on. you know parameters and return values. and variable declarations there are cast. operators. you want that syntax to be reserved and. you want it to work the same in all. engines. and this is where ideas like go odds. plugable type systems might. might be good though then you could. create the same problem you have with. lisp and scheme where there's a bunch of. macro libraries and they don't agree and. you you have conflicts between them.
but but pluggable type systems could be. one way to standardize this. what do you think about the giant. ecosystem of frameworks. uh in javascript it feels like. because i mean this is a side effect of. how many people use javascript yes. a lot of uh entrepreneurial spirit like. create their own javascript uh. frameworks. and they're actually awesome uh. in our own different ways and that. this is an interesting question about.
almost like philosophically about. biological system and evolution all that. kind of stuff. do you see that as good or should it. like should some of them die out quicker. i think that maybe they should now. jquery was a very clever. uh thing john resigned this library that. was sort of query and do. and blended sort of css selector syntax. with. javascript sort of object graph or dom. querying and made it very easy for. people to do things almost like they. were learning jquery as its own language. yes domain-specific language. and uh that i think reflected in part.
the. difficulty of using the document object. model these apis that were originally. designed in the 90s for java as well as. javascript they're very. object-oriented or even procedural. they're very kind of verbose. and it took like a constructor call on. three different you know. okey-pokey dances to do something. whereas in jquery it's just one line. right so that fed back finally into the. standards it didn't. it didn't mean we standardized jquery it. wasn't quite that concise but. you find now with the modern standards. that we were working on.
in the html5 sort of um effort. that things became simpler the fetch api. and the query selector api. document.queryselector. a lot of things can be done now in raw. javascript that you would. make more concise in terse in jquery. but it's it's not bad it's pretty good. whereas in the old dom of. 15 years ago it was just too provost so. maybe the frameworks were born. kind of uh because javascript lacks some. of the features of. jquery and so like uh now that.
javascript is. swallowing what jquery was then the. frameworks will. only the ones that truly add value will. stick around and the other ones will die. out and that highlights this. also this division between the core. language javascript which can show up in. other places like node.js on the server. side. and the browser-specific apis or the. document object model apis. which are even managed by the w3c the. standards body. that was off in xml la la land when we. were doing real javascript standards in. ecma. and you you you have this division of. labor division of responsibility and.
division of style. and sort of aesthetics and. also speed so the document object model. really stagnated. after um microsoft kind of de-invested. in the web and microsoft did something. in. their haste in the spirit of netscape. doing things quickly and getting on. first. called dhtml and some of their. innovations that were like an. alternative document object model. didn't really get standardized until. html5 when. we pragmatists said opera at the time uh. ian hickson who went to google.
apple and mozilla said let's let's. xml is not going to replace html html4. is too old. let's standardize html5 based on all. this good stuff including that dhtml. variant. dynamic html5 it feels like to me maybe. you can correct me like a beautiful. piece of design work it was uh it's not. often with web stuff. i you have this breadth of just like oh. whoever did this is did they fix it this.
just feels good. uh is that what what are your thoughts. about html is the am i being too. romantic a little bit a little bit are. there flaws fundamental flaws to it that. i'm just not aware of. my i'm you know my old friend hicksy did. a great job he was a. a renegade physics student uh and he was. a. basically a qa guy at opera but he. obviously the. trained physics you know student and uh. someone who could write. a british or he he developed test suites. and he started thinking about them. more axiomatically now this is this can.
be good because you can sort of. systematize in a way that makes a better. html. or you can get caught in the pragmatism. of saying well we have to handle these. edge cases so we're just going to have. sort of a. test matrix and if the matrix is large. it will not be beautiful by many. people's lights everyone likes to. minimize along. their preferred dimensions the seven. special forms and scheme or whatever. but but reality is. html needs uh to be big it's kind of. symbolic. it's a creative multi-paradigm and hixi.
did a good job i would say. with a bunch of it uh other people came. in. in the spirit of ian hickson to do html5. work and. they've carried on that effort and it's. a so it's a mix of pragmatism. de facto standards from the past being. sort of combined or. written down for the first time and then. rethought in a way that has a simpler. syntax like the fetch api instead of. xml http request um video too as well. it's ultimately it feels like maybe you. can correct me it feels like it was the. nail in the coffin a flash steve jobs.
saying no flash on the iphone in my. opinion was the actual. stick to the heart but but well and i'm. not sure what trope you want to use this. flash was a zombie for. until just this year right or last year. i think last year was the end of flash. in main browsers. um but jobs really did the death blow. and. uh yeah you're right we had to make. html5 competitive. i still don't think we got that. beautiful timeline. animation the timeline thing yeah you. like the time i mean me from uh. i you know i used to animate all kinds.
of stuff inside flash plus there's a. programming element. yes it was a little bit i don't know if. you can. comment on that but to me it was a. little bit like go-to statement like. in a sense that it was a little bit too. chaotic. like it didn't uh that ocd part of me as. a programmer. wasn't satisfied by flash it feels like. there was bugs. that were introduced through the. animation process that i couldn't debug. easily yes. i heard that too i i didn't use it so. i'm doing the grass's greener thing here. yeah the thing i.
like i liked about the animation model. was that it was this immutable function. of time so you could. time warp and you could if you dodged. these bugs or worked carefully. you could really make it sing in ways. that i think still a little challenging. with. the web animation standards but. or just using raw canvas and webgl um. but there's so many tools now that maybe. it doesn't matter. and and yet we had to you know do video. we had to do. uh webgl and then evolve it we had to do. web audio. um but once we did all these things that.
helped flash uh die thanks to steve gubs. we had something that um people didn't. realize we had that vision that mark and. jason have this this graphics capable. to the metal uh portable runtime and. we at mozilla realized this and we we. saw. javascript was something that you could. compile to use adobe had somebody in the. adobe labs doing this too he had a. project called alchemy. we had somebody who's now google alone.
zakai who did his own. llvm-based compiler that would take c or. c plus plus and it would emit javascript. and you would think this is crazy. you're going from this sort of machine. types low-level. you know controlled memory allocation. language to this garbage collected. dynamically typed. uh high level higher level language but. alone sort of just phenomenologically. carved nature the joint. found the forms that were fast in. javascript and then. with dave herman who i'd recruited from. northeastern university who.
was a type theorist and um luke wagner. was still at mozilla. who was the compiler guy and and the jet. guy. they figured out how to codify what. aolong had done. into a typed subset of javascript called. asm.js and this is a strange thing to. think about because it doesn't have new. syntax. the types are casts that. occur in dominator positions in the. control flow graph. so it's like a hack on javascript and. it's a subset and it uses those bitwise. operators that i talked about copying. from java.
to basically cast. numeric types which are double precision. floating point into integers. and so inside javascript in the kernel. semantics. are integers and if you use these. operators if a compiler emits them in. the right places. you can then treat them as typed values. typed memory. locations and you can type check your. program. you can not only type check it you can. compile it this is all in sort of linear. time oh and. you can compile it to have deterministic. performance it doesn't touch the garbage.
collector. it calls a bunch of functions that come. from the c functions or c plus plus code. that you're compiling. and you can make the epic unreal engine. go in 30 frames a second yeah and when. we did this in 2013 in the fall. you know tim sweeney i met um didn't. think it could be done. quickly i thought it would take years. and the team went to raleigh. to epic and in four days they had unreal. engine. ported by pressing a compile button. right they had but they had to have.
webgl. which came from opengl es came to opengl. which came from silicon graphics jail. they had to have web. audio so they could map open al which. was another audio library standard to. web audio which was kind of a chrome. idiosyncratic thing. um but they could make it work and they. had to have. asm.js for fast c plus plus to. javascript. and uh if you didn't have that fast. compiler step. the javascript you'd write by hand. trying to do an unreal game would be too. big and too slow it would touch the.
garbage collector it would not. keep up with 30 frames a second on the. hardware 2013 hardware. so we demoed that at um uh this was in. fall 2012 now to think about it because. we demoed it at. gdc game developer conference 2013 and. people were stunned it's like. unreal engine unreal tournament running. in my browser window no plugin. no flash no java no so where does the. early days of because javascript now. is able to run basically on par with. a lot of the like c plus yeah and even.
before then you had the fast javascript. vms in 2008. when chrome came out just before it came. out mozilla. my friend andreas gal and i uh and. others hacked out trace monkey our. trace-based jet the squirrel fish. extreme. team at apple did their jit and we were. all competing on these. these crazy performance benchmarks it. was a little bit too much tuning in the. benchmark but. javascript started getting fast and. developers started noticing it but it. was still. kind of this its own high-level language. with garbage collection.
the asm.js step helped us go further. because. until we really proved the concept. people were still saying well. javascript's okay it's getting faster. thanks to v8 everybody gave google. credit especially google. but we need something to kill flash. let's use the portable native client. code that google had acquired native. client. um which is a separate lineage we're. taking basically c. code compiling it into a software fault. isolated container of some sort. using some kind of virtualization. technique and.
maybe it can even be in process and. still be memory say that would be. awesome but they ended up using process. isolation too and that kind of. weakened it and in the end it was like. portable native client okay. you know meet new boss same as zeal boss. this is the google flash right. yeah but but when we did asm.js and we. showed unreal engine working. i think it was only a matter of time. before google threw in the towel and in. fact. everybody agreed in spring of 2015 we're. going to take. what was proven by asthma js and make a. new syntax a binary syntax that's. efficient. that loads into the same javascript vm.
that javascript loads into so there'll. be two source languages one vm. very important one garbage collector one. memory manager one. set of compiler stages uh and that's. called web assembly. and that's the successor to asm.js and. it's important that it have binary. syntax because. at the end of the day especially on. mobile if you're downloading javascript. even if you're using lz compression on. the wire that's cool but you've got to. blow it out into memory and then parse. the silly. eight character function keyword that i. picked. when i could have used something shorter.
i picked it because of awk the. unix tool um so anyways i'm not. following i want to but i'm not. following. the awk thread is it surprising to you. that uh how damn fast javascript is. these days i mean like cause you've been. through the whole journey yeah i know. every. every step of the way but is it like i. mean it's. it feels incredible it does but i knew. so the funny thing is computer science. is this big. karmic wheel right wheel of fortuna um. and uh in the most in 97.
i was loaned by netscape to do due. diligence for. sun in their acquisition of anamorphic. which was. david unger uh come and and friends. people uh craig i'm forgetting his name. he went to microsoft. these stanford language buffs who'd. taken small talk. and then david created itself as a. simpler sort of. small talk language and made really fast. just in time compiling vms for them and.
they. you know well ahead of java hotspot or. javascript v8 or any of these. modern vms figured out how to make. dynamic. code fast because small talk is a. dynamic language right it has classes. that has. i think more lockdown declarative syntax. than javascript but it's fundamentally. dynamic you don't declare the types. but you could in further types as the. program runs and you start to form these. ideas about what types are actually. flowing through key operations and you. form little.
so-called polymorphic inline caches that. are optimized machine code. the cache is the machine code that. assumes it does a quick check to make. sure the type is right and if it's not. right it bails to the interpreter. if it is right you go pretty fast and. that short. test is a predicted branch so things are. things are pretty quick. all that amazing stuff i knew about the. 90s and i. i didn't have time to do it and. anamorphic got bought by. sun and they did hotspot and you needed. that even in java because at scale.
java has some dynamic aspects due to. invoke. interface you can have basically. collections of java code where. you don't know at the time each each. module or package is compiled. exactly what's being called what what. subclass or what. implementation of an interface is being. called and so you want to optimize using. this sort of dynamic polymorphic caching. there too. and they did that and hotspot it's. amazing amazing beast i've met like 13. people who all claim they created it. i think i think one of them may deserve. credit more than others.
but uh i didn't get to do that in. javascript. and when we knew that that google uh was. going to do their own browser which we. knew at mozilla around 2006. i also met the team that did v8 and it. turns out it was lars bach who was one. of the young engineers from anamorphic. got acquired by son and so lars is like. the one the world's expert on these. kinds of virtual machines. and he picked my brains about javascript. i could tell he didn't like it at the. time but. he had to do it and oh really.
interesting yeah in 2006 lunch at. google's campus um and and. then i had another friend who was. deverell at chrome and he said yeah we. don't know what they're doing this is. getting 2007 to fall getting toward. 2008. we're trying to get chrome out and we. don't know what's going with the v8 team. they're often all who's. denmark you know rewriting their engine. four times which is good that's the. right way to do this kind of development. you know they were learning javascript. including all its quirks which they came. to hate. the fire of a thousand suns which is one. of the reasons that lars and company did. dart. their own language but they also made.
the language fast and. meanwhile we knew this was happening so. we got our act together with. trace monkey our tracing jet at mozilla. and apple i think was also aware so they. were doing their own. so the era of jitted fast javascript in. 2008. had this pre-history going back to small. talk itself. and anamorphic and the again the lineage. is interesting because you had lars and. anamorphic and then he ends up at google. yeah and today we have an incredibly. fast. language that like you said still.
you know without hate you can't have. love so uh i i. think there's both love and hate for. this dance. uh this rich complex dance of javascript. throughout his history there's a. dialectic of sure for sure. today javascript is the most popular. language in the world. why by many measures why do you think. that is. is it is there some fundamental ideas. that you've already spoke to a little. bit sort of broader that you think it's.
the most popular language in the world. so i think i did you know by doing first. class functions. and taking the the good parts of the c. operator hierarchy and just keeping. things um. simple enough maybe it could have been. simpler but i had had to make it look. like java and interoperate with java. that there was uh you know inherent. goodness and aristotelian quality there. and people. perceive that even through all the. quirks and warts and then over time. working on it with the standards body. working on it.
not only in it as a core language but in. the context of. html5 making the browser better. listening to developers. thinking about this is something that. nick thompson wrote nicely about. on hacker news i was very flattered he. said java was this thing where. the experts were writing the code and it. was compiling you had to declare all. your types and. some didn't really give a damn about you. know the. average programmer who wanted to build. real web apps dynamic things. and i was in there meanwhile doing you. know a bunch of people's jobs making. javascript.
survive those early years when it was. kind of touch and go right. javascript was considered mickey mouse. language it was for annoyances like the. scrolling. text at the bottom of the browser in the. status bar but i. kept listening to developers working. with them and trying to make. the it run in that single threaded event. loop in a useful way and i think that. forged something that people have come. to love now you don't. always love you know the best thing. right i talked about. shakespeare sonnet about um. uh my mr size or nothing like the sun or.
you know the scene from uh. josh whedon's film uh serenity at the. end where the. actual piece and the score by david. newman is called love where. uh captain mal is teaching uh river tam. about how to pilot the ship and she's a. super genius super soldier she knows how. to do it already. and he's he's basically talking about. how you have to love the ship because if. you don't it's going to kill you. and then the piece falls off the ship. it's kind of like javascript yeah i love. it yeah. they love it because now people say. we're stuck with it because it got this.
priority in place but there's love. underpinning that and actually the. listening to developers. that's kind of beautiful there's uh most. successful products. in this world with all the messes with. all the flaws perhaps the flaws. themselves are actual features but. that's a whole other. that's a discussion about love but. underneath it there's something that. just. connects with people and it has to keep. connecting if javascript. kind of went off in this people. sometimes complain about es6 oh you put. classes in javascript i hate classes you. know you've ruined it.
but it's it's not true it's a dynamic. language small talk had. classes um python has classes um. there are lots of lisp variants that. have classy systems um. comment list um so you know people. who don't reject it based on some sort. of. fashion judgment do use it and do. interact with the standards body the. standards body is competing browser. vendors mainly but also. now big companies that use javascript. heavily the pay pals and the.
other such companies uh salesforce and. they have to cater to web developers. they have to hire. developers who know javascript they have. to keep. their engines up to the latest standard. and this creates all this sort of. social structure around javascript that. is unusual i mean. you get c plus plus buffs that follow. the inner workings of you know c. plus plus what is it now 21 something i. don't know i've lost track but it's it's. a more rarified group it's more like the. old language.
you know gray hairs whereas javascript. is a younger and. more you know vibrant large crowd. there's a community feel to it. there's a echoes perhaps i don't want to. draw too many. similarities maybe you can comment on it. there's a. c plus is like wall street and the. javascript is like wall street bets. from the recent events it's like there's. a chaotic community of all. and there's some power from that. distributed. crowd of people it's more demotic it's.
more of the people. uh it lets people in without requiring. these credentials i remember. in the late 90s into the 90s people were. all getting java credentials and i knew. people. um and friends knew people who became. jealous programmers and you knew they. really should have been like. nature guides or pilots they hated. programming but they thought. i got to make money i'm going to become. a java programmer do you have some uh. because it's such a monumental moment in. our current history. as a quick aside do you have thoughts. about this.
huge distributed crowdsourced. financial happenings uh with wall street. bets. that's like nobody could have well you. could have predicted but the scale and. the impact. of this kind of emergent behavior from. independent parties that could happen. like i said my own um. experience with the dismal science as. with physics led me to reject a lot of. bad models and. you know economics was always. compromised by politics. political economy um you could also. argue that it was it used to be a branch.
of moral philosophy so it was concerned. with the good and. it became divorced and became sort of in. this quasi-newtonian way just about. everything's just running by itself. don't worry about it you know this is. not least crushing your netscape company. but that's just. nature and economics couldn't or doesn't. really have good models for. the wall street bets subreddit you know. they. they know how to uh squeeze a short. right so um. the amazing thing is you have robinhood. app which was again. supposedly for the demos for the people.
yeah and. eliminated the fee through various kinds. of. um you know straddles or some kind of. spread operation that helped them. eliminate the fee and or eat the fee. and in fact you know as a broker in. these days because it takes two days to. settle there's counterparty risk as they. found out. and um so the wall street bets. uh people you know the the memes are. like the terminator robot with. six hundred dollar stemi check and the. hedge funds the the anime.
little girl hiding under the desk um. there there is a problem which i talked. about in the recent podcast which. i'm conscious of from the history of the. web and that is you could say it's. monopoly which. antitrust wasn't enforced after using. microsoft for a long time. and um a lot of this was due to the. money interest spying. control of politicians and you know. in plato's five regimes that's oligarchy. that's that's. that's where we are and now we're seeing. the fight against the old arcs i don't. know if it'll work but you're definitely.
seeing it. and it's also kind of hackerish right. it's got a hacker ethos. you know hey robin hood no fees oh. interesting hey you know um. i could buy a fraction of a share in. this thing or i can keep buying with my. stimulus check. so uh i mentioned hegel seeing napoleon. on the horse. right hegel also talked about the the. cunning of reason that you have. the sort of you know god sees history in. full and if you believe in god or you. know. we don't know the future but there's. always this sort of fly in the ointment. this. uh unintended consequence uh that.
confounds the best. um plans of the powers that be and we're. living through it that's. i'm glad it's not you know street. warfare or. or mechanized warfare because it has. been in the past um. uh it's it's more like soft power yes. and uh people are fighting back do you. think it's possible so the javascript. used to be uh for the front end of the. web. it's now increasingly so being used for.
back end like running stuff that's. like behind the scenes and it's also. starting to be used uh quite a bit for. things like tensorflow.js. so starting to actually use like these. heavy duty applications that are using. neural networks machine learning and so. on in the browser. is it possible in 10 20 30 years. that basically most of the world runs on. javascript. this is a dystopian a nightmare to some.
people. um when i when we did ask them jason web. assembly i would joke and meme people. with scenes like. neo waking up in his pod in the matrix. and he's all skinny and. weak and hairless um and you know. you realize in the future that you're. living in some simulation and it's all. running on javascript and you just. scream forever. um it's possible gary bernhard uh. does these funny talks he did wat js and. then he did this. uh the life and death of javascript i. think it's called where he.
he took some clever ideas that actually. have a a thread of. uh credibility to them but i mentioned. software. fault isolation in the old days when we. were using computers we. we said we're going to use the unix you. know monolithic monitor and it's the. privilege program. this is before you even had hardware. rings of protection those some of the. early 60s operating systems used. hardware. protection zones but unix is privileged. and the. program that runs user code in a process. is. is hosted it's the guest in the host and.
and you get to. suspend it you get to kill it if it. crashes it doesn't take down the whole. os it's a wonderful idea. but the call into the kernel is. expensive the system calls so-called and. this has even been optimized now for. things like getting the time of day so. it doesn't actually. enter the kernel and meanwhile. hardware architectures and. virtualization techniques have gone in a. different direction. even to the point where you can do. software fault isolation very cheaply. without entering the operating system.
kernels you get unicorns and exokernels. and. very lightweight vms and so gary took. this idea and said. javascript will take over computing. because the system call boundaries too. expensive so everything ends up in. javascript with these lighter weight. isolation enforcement mechanisms it's. not totally beyond belief. yeah um webassembly too. it's nice to ask you sort of for advice. to uh. there's so many people that are. interested in starting to learning about. programming getting into this world.
is there um some number of languages. three to five programming languages that. you would recommend people learn. or maybe uh a broader. advice on how to get started in. programming well so you asked about. machine learning and you know javascript. is a general purpose language and it's a. language that's not um. not that great for doing you know matrix. operations. or doing parallel programming i would. say. without using some extensions or some.
libraries that have some magic in them. so if someone wanted to you know learn. um of the there are amazing languages in. sort of the apl family that are very. useful for. i would say linear algebra which gets to. a lot of the kernels in machine learning. and so apl had like j and then k. and their k variants because the guy. that did k is still. going and he's they're proprietary but. he's still innovating there. um there are you know python is used so.
people talk about. vlog js well it's not that's surprising. because python was heavily used for. machine learning and python was always. you know they didn't have this fast. just-in-time compiler. tradition there were some projects that. tried this and some of them were. interesting um. pi pi was interesting but um. the philosophy with python was oh you. need to go faster write a c plug-in and. drop into c code so i think people. should look. at multiple languages because they're. different tools in the belt if you're.
trying to do supervision or rapid. prototyping you want a dynamic language. you want to throw things together and. see what works if you're trying to go. down to the metal very fast well. i'm an old sea hacker but i was also the. sponsor executive sponsor of rust at. mozilla and rust has now escaped. you know from that sort of nest where it. was born to be. adopted by a bunch of companies that. have a foundation in the works. some of the key core team members are. working now at amazon. and other places so it looks like rust. has reached escape velocity and rust is.
an interesting language because. one of our goals there one of the. reasons i sponsored it was we were all. tired of seeing those. remote code execution vulnerabilities. due to cnc plus plus. and we thought can we have a sort of. safety property through. a type and effect system or an ownership. system and rust has that. and that ownership system is interesting. because it doesn't just give you memory. safety. there's a sort of theorem for free a. dual that falls out for. protection against data races so rust is. better for. low-level programming you limit your.
unsafe code where you do have to be. unsafe. and you can prove certain facts about. memory safety and race. condition uh avoidance and so. i think people should learn these new. languages i think go is. a great language i admire you know the. eunuchs uh. people who did that ken still was. involved rob pike of course. um dave uh what's his name and other. people um. go is a huge success um really on the. server side anywhere you have. um you know a lot of networking to do.
and it's garbage collected. but it's also very pragmatic it has that. sort of c flavor as an overseas hacker i. can't get used to the fact that they. swapped the. type and declarator in the declaration. order. i haven't used rust but this is one of. the most respected and loved languages. currently so it's. yes and it's still young you look at. these things javascript is now. considered old. that's gone through so many versions. that you can fall in love with it all. over again. 25 plus years you know it's it's it's an. adult. uh should be out of the house but um it.
could be around another 25 years. cannot rule it out so rest will be. around for a long time the longer you're. around the more likely you're. lindy and you're around a lot of people. ask me like uh. i i'm i'm often torn between. recommending either python or javascript. is the first language to play with. because. i mean it's difficult because it's so. easy to do. javascript incorrectly it's much. uh it's much easier to do it correctly. these days. or like well like learn about.
programming but the the cool thing about. javascript is that you can create stuff. that will put a smile on your face like. as a as a developer. you can create stuff and it'll visually. look like something and it'll do stuff. and it makes you feel good it makes you. fall in love with programming. with python you could do the same it's a. little slower and with c plus it takes. five to ten years to write a program. that actually does something. yeah so like there's that tension. between. is javascript the right first step or is. it python and.
i've been going back and forth on those. two i had my python right it came from. a lineage of abc which was a pedagogical. language. in in the netherlands um and um. it uh you know um it. it it was a good teaching language too i. think it is a good teaching language and. it's a little more restrictive in. that if you misspell something in a way. that. javascript might let run let reach. runtime it'll. get stopped at a syntax check. in python that's good for beginners i.
think the the sloppiness that some. people object to. like people were just tweeting at me uh. having just learned javascript they said. i can take a number and i can index into. it and get undefined out of it as a. property and. why is that a number is not an object. and i explained why it is because like. in java. the primitive types which unfortunately. are not objects can be automatically. boxed or wrapped by an object and i made. that implicit. in in java it's it's typed and you have. to declare things and you'll get. type errors um but there are cases in.
java where you get auto boxing or auto. wrapping because you've declared that. you want it. in javascript it just happens and so. once i explain it like oh wow i get it. but it also means that you can commit a. blunder that right just. you don't get punished for you don't. detect and there's an undefined value. and you don't know where it came from. right i've been reading a lot about. military history recently. and one way to paint the the picture of. browsers. internet browsers is through the various. wars throughout its history.
i don't know if that's a useful way to. look at it but we've already talked a. little bit about netscape and. internet explorer uh in the early days. can you tell the story of the different. wars if that's at all an interesting way. to look at it. of the 90s and to today yeah. so i mentioned that microsoft you know. which was convicted for it. did abuse its monopoly but they had a. pretty good team by the time they did. ie4. and netscape unfortunately i was like. second floor and i was friends with all. the first floor people. the front end guys who did the.
javascript event hookup and things like. that. that that team was fairly burnt out and. i think having gone public uh the man. upper management wanted to buy a bunch. of companies to try to go head-to-head. with microsoft. it didn't work but buying a bunch of. companies usually. doesn't work i think the modern sort of. approach it. roughly is like mark zuckerberg uh took. which is to keep them at arm's length. and let them do their thing. and now that he's pulling whatsapp in. and people are fleeing it.
because it's tied into the ad. surveillance but um. you know for a while they're keeping it. separate really does work because you. bought it for its value it's. complementary and you're not messing. with it. with netscape when they bought a bunch. of companies they had. some of the first four people or the. founders burned out they had. um newcomers who wanted their turn to do. the browser. and they hadn't really done browsers or. understood them and so netscape 4 was. originally supposed to be 3. and it was so late they renumbered it. when we did a 3 release.
jamie and a few others put some extra. effort into secure mime was supported in. the mail. built-in mail program and sk4. was late and it was only on windows at. first and microsoft had really started. doing better. like they do they copy and the first. version is trash and the second one. you're starting to feel all threatened. the third one. you can tell what's going to happen and. the fourth one's good and plus there's. the benefit like you said that it comes. as a default browser yes and and yet. netscape screwing it up and. microsoft really putting some quality.
people on it. ie4 was good on windows it was good and. they did the dynamic html innovations. they uh scott isaacs my old buddy a. former. accountant who programmed in basic and. became. what microsoft calls a program manager. which is kind of an elevated position. it's. um you can be a programmer or an. engineer track but you switch to it and. you sort of. lead a lot of design and standards. efforts and so scott isaac put in a lot. of those. funky dhtml apis that didn't quite have.
the same flavor as the stuff that i did. and neither of them was like the later. sort of verbose java like. dom w3c standardized but ie4 was pretty. darn good we. i remember a friend scott fuhrman and i. got invited by scott isaacs ii. uh gordon bierisch in san jose they were. doing a. preview of ie4 this must been 1997. and scott said yeah we've got here's the. new graphics stuff we're doing we've got. something like your netscape layers. um we've got vml a vector markup.
language. you know we can do like virtual reality. and scott and i looked to each other and. said we're doomed. right microsoft was starting to fire on. all cylinders so i have to give them. credit for that. even though they abused their market. power and maybe you know i shouldn't. give them credit for having the. resources to hire talented people but. they did. a credible job on ie4 what really was. bad was. that phase of the browser wars ended. with monopoly and. perhaps due to the antitrust case. perhaps due to regulation in europe. um perhaps just due to microsoft not.
liking dealing with standardization. they they let it rot they just abandoned. it i. five five five um i6. later but these were not well maintained. they had a lot of security bugs. and files really closed and outdated too. even though it's getting updated. it's just weird browsers like in mozilla. and then firefox were adding tabs. opera had a version of tabs and uh they. didn't add tabs and they. pop-up blocking something i should have. done from the start people realized that. you can tell when the user clicks.
something. and it goes in javascript to open a. little window that. you can sort of inspect the stack and. see that the click originated that. and it's probably okay whereas if you're. just loading a script and it. opens a new window that's a spam. technique and you should block it. tabs were brilliant innovation like you. said opera had it but like i remember. i fully switched to firefox the moment. it was i. i remember like the moments of first. using tabs in firefox. and like not liking it like for the. first few minutes.
and then like wait a minute you get the. groove yeah you get the groove and you. understand. so that timing what year was this uh so. because uh. also as a aspiring web designer i. used table so we didn't mention layout. or css much. there's also a change in the way like. the frames were going away. yeah so there's a change in the way. websites looked and behaved. and all that kind of stuff css finally. which microsoft embraced with ie4 and. netscape never really did right.
css became a better standard over time. for doing table layout that. relieved you of the need to use what are. called spacer gifs. spacer gifs right images yeah you would. throw into space out tables. um you know the the typographic. power of the web has gotten better but. it's still not on the level of pdf. and you can't do advanced typography but. um it's gotten really better and even. then tables were getting better. if you were using firefox that would. have been 2004 because it was called. firebird until. earlier that year five no yeah i think.
uh it wasn't three. i don't remember it was a fiber which. had tabs. uh we had tabs the whole way so yeah. mozilla slash browser. in 2002 became phoenix there's a bios. that has an embedded version of ie and. they said we're called phoenix. technologies you can't use phoenix. and so we said okay we'll call it. firebird and then this. australian-centered. open source database project started. really like. in the true mad max style just screaming. at us saying you can't use firebird and. i had to sort of be the ambassador and.
say okay we're going to rename and like. we don't believe you shouldn't use that. we hate you. and then we renamed it to firefox and. they're like ah. we love you and then i don't haven't. heard of them ever since. but firefox was a clever name we had to. think of something distinctive we wanted. to keep the fire going. and it turns out there's a red panda. right it's a nickname for. so so that's the second set of problems. second browser so. how did you how was firefox. born how's mozilla born is there a. there's a long story there too so.
netscape got acquired by aol which as. i say was a reasonable happy ending for. a lot of people because netscape. otherwise was going to go out of. business because microsoft was just. killing its market there was no way to. charge for a browser windows came with. ie. ia4 was pretty good and netscape 4. wasn't that good it took a while to get. better. but the netgame executive said let's do. an open source. escape pod you know and like in star. wars a new hope the. gunner won't shoot it because there's no. life forms on board right it's not a.
threat. uh and so we did mozilla in 1998 and it. looked. like it was going to you know initially. just give the world of open source. browser. but it's really hard to get people to. work on this sort of hairball that had. been hacked up over. by that point four years uh it also. couldn't have the crypto module for. secure sockets. so called or now transport layer. security that was an electronic munition. we're not allowed to release that. in the full 1024-bit. key strength and yet.
people one of whom i happened to meet. previously at sgi when i went on a sales. support. engineering trip tim hudson in brisbane. australia. and um eric a young. did what became open ssl it was called. ssl ea y. after eric's initials and tim and eric. took their open ssl outside of the. purview of the nsa and the. department of commerce and they stuck it. into mozilla's code and that was perhaps. the best hack that was done.
in the first few months after we open. sourced the browser. we had other problems the politics. inside netscape were driven by these. acquisitions so the one acquisition that. kind of. messed up netscape 4 also wanted to keep. doing a proprietary mail. and groupware program not jamie. zielinski's mail program that was. netscape 2 and 3 and they held it back. from open source. we didn't have a mail program it was. just a browser we. didn't know what aol will do to us turns. out they didn't interfere with us for a. long time. but netscape wasn't the best steward of.
mozilla we were operating mozilla. as a pirate ship without a legal entity. so. most of us worked for netscape under a. separate organization. and um initially uh. the first engineering manager tom paquin. of netscape was the mozilla founding. manager. but he he left pretty quickly and he. left me as the acting manager. which is more like method acting in my. case. and i i did that was my first management. stint but then. um someone who'd written the licenses.
mitchell baker she was a lawyer in. netscape she was involved in the open. source. license decision making and the actual. writing and construction of those. licenses that was mitchell's job. netscape public license and the truly. open mozilla public license. and there were two because netscape. needed because of some uncovered code. needed some special rights but that went. away over time. mitchell was almost interested in. mozilla and she came back from maternity. leave and she said. i'll be the manager if you want and. jamie and i said sure and then jamie. quit he quit after a year he said.
this didn't work i'm sorry you know he. acted like it was a total failure. because mozilla didn't. restart the browser market but there's. no way it could have right netscape was. still. shipping variants of netscape 4 which. was based on the old code. mozilla was trying to react to the code. to make green field for developers so it. was one of my big goals it wasn't a. technical goal so much as. again a social goal people wanted a more. standard space browser they wanted a. less of a hairball that had been hacked. on. by ex-grad students starting four years.
prior so. we said we're going to make a modular. code base we're going to use a variant. or an open source version of microsoft's. component object model. as reference counting and standardized v. tables virtual. calls and c plus and we're going to use. javascript we're going to have a bridge. between those two so you can script. those components just like java. components. we're going to make a portable front end. with a markup language for the user. user interface not tables not html but. custom you know menus.
and drop downs and toolbars and and that. was called. zuul xml user interface language and. some real talent on an escape site. delivered that dave hyatt. who was instrumental in zul chris. waterson. joe hewitt blake ross and. blake was an intern he was like a high. school-aged intern in that. and at some point we were innovating. rapidly in the mozilla world. and netscape was still caught up in this. management mess from these acquisitions. and it wasn't delivering and.
every year they were wondering if aol. was going to come and start beheading. the executive because it didn't do. anything useful. and there was a thought you should take. the netscape browser engine and put it. in the windows aol client which was the. dial-up client that all the. increasingly aging users of aol were. using never happened it would have been. too big a change so it wasn't clear why. it all bought netscape but as i said. they left it alone but netscape didn't. leave mozilla alone. and so um in 2001. mitchell called me up and said i'm no. longer employed and i'm saying what you.
quit. no no this wasn't my choice and there. was a layoff. which maybe accidentally or on purpose. got rid of mitchell but the funny thing. was we had an open source project we had. a lot of the engineers on staff. on our side and we had um people we'd. hired for the mosul community. were top-notch they'd risen you know. they came in high quality they knew the. code and they actually were. better than the average or median higher. of netscape. and so the funny thing was the. executive who thought they'd gotten rid. of mitchell in the layoff. on the next week's community call around.
mozilla and what to do. there's mitchell and so this show you. can kind of transcend your. uh you know boundaries of corporate open. source if you get a project that has. enough. loyalty even among the paid staff. because we had outside people. contributing. with people at red hat and a few other. places but the majority of the hackers. were employed by netscape. but a lot of them at that point had had. come from the community and others got. the community and wanted to work with it. it was really the weakest engineers at. netscape who didn't like mozilla and. didn't like the the crucible of.
competing with the the better. uh the programmers so if the project is. good enough it will rise the phoenix. will rise out of the. that's exactly right and so we had this. this mozilla code base that was getting. better in fact. i think at some point in 2002 when we. declared mozilla 1-0 we i. engineered a road map that successively. through similar sort of six-week. five-week releases. like we all do with browser releases. nowadays chrome does and firefox. um braved us three weeks we we we got to. a point where we said you know what. it doesn't suck this is like the 1-0.
that you want. to release because if you hold it back. any longer to polish it you're denying. others the ability to use it so like pro. engineer the mechanical cad tool. embedded the code they embedded the. layout engine. and mozilla 1 0 was like a netscape. communication suite we at that point. gotten male people to reintegrate mail. and news and we had. an editor for html and it felt like a. 90s. suite sweetware and it felt kind of. bloated and the people. who were taking that mozilla open source.
and then adding netscape. flavor to it were not calling the shots. right and they were also under al's. thumb a little bit and that they said. we should probably put the aol instant. messenger chiclet on the toolbar we. should put the icq. the other messages that aol acquired we. should put the icq. you know button on the toolbar and. pretty soon netscape looked like a. bit of a nascar badged version of. mozilla. and that also made mozilla more popular. and and yet. um they they had you know contrived to.
um fire or lay off the leader and. and and we carried on with an open. source structure where muslim. was still you know mitchell was calling. sort of management or. project level shots and i was calling. technical shots. and we we had a popular suite but we. thought. why not make it just a browser because. it'll be simpler it'll do one job well. and even then we can strip it down by. having extensions. so dave hyatt and blake ross the high.
school-aged intern. did the first version which was called. mozilla slash browser it was very. the small group of us ian hicks and asa. dotzler me and uh. joe hewitt and hyatt and blake and and. they. and hyatt was really the senior hacker. he'd done all these things like amazing. uh cross-platform menus through the user. interface markup language. and he knew how to do tab browsing he. implemented it natively on. mac os at the time in camino. um originally called chimera he he'd.
written. multiple implementations which was i. think programmers should do it's like. the va team did for those missing years. when the rest of the chrome team's like. where's v8. um in fact dave's wife rebecca told me a. story about when they were. at uiuc they were also universal. illinois uh grad students. there was an assignment it was a. programming assignment supposed to do. the end of the semester. and dave's friend was this i'm going to. go. think and i'm going to design and i'm. going to make this you know platonic.
perfect form of the program and then i'm. going to write it at the end when it's. due. and hyatt just went there and started. hacking you wrote one version you wrote. a second version a third version. the end of the semester comes around the. friend's not doing too well. it wasn't perfect and it wasn't written. i'm not sure how that story ended but. for him but. dave's version was the fifth iteration. was great and. so he done that with everything you need. in a tabbed browser and this really. showed well in phoenix what we called. phoenix and had to rename. two more times and you know. blake went to stanford he became a.
stanford student and couldn't work on it. um dave hyatt went to apple in 2001 he. was one of the founding. safari team members um interesting wow. but he was. still here vlogging about tabbed. browsing i think apple at some point. said yes. sorry already have to have browsing yeah. but it was because of hyatt yeah. i was quite a feather in their cap don. melton at uh who had been the. engineering manager at. for safari from the beginning uh had. been in netscape also. and so this is diaspora of talent and. and yet. hyatt was still kind of writing blog.
posts about how to do tabs right. and at some point apple said don't don't. blog about that that's our proprietary. tab technology you know it's like no. it's not it was an opera and i've. refined it. um so we had to replace people and we. had ben goodyear. new zealander we hired at netscape and. he stepped in to be the. firefox lead and we also had this weird. circumstance where. aol finally did notice that netscape was. kind of a. albatross they bought it for no. particular benefit.
and even then the aol politics were also. heinous sort of. east coast politics i remember taking. two trips there because i was a. principal engineer and so us principal. engineers got trotted out to do. dog and pony shows in dulles virginia. and the uh. the aol upper management was very east. coast in flavor and they were at that. time. merging with time warner which would not. go well so one of these years we went. out there and we were all doing dog and. pony shows and there were. these characters that were sort of like. marketing guys one of the most wearing a. cravat and they were. one was named reggie and they were they.
were they were. very um you rather than non-you or they. were like what's what stoneman's. metropolitan film uhb. um urban. um they were uh they were um. funny and they were kind of useless and. kind of preppy. and then the next year we went back and. i said where's reggie and it's like oh. richie's not here anymore. because time warner realized that the. merger wasn't in their interest either. and then. the sort of knives came out and this was.
these mergers really work right this is. very difficult you get these giant. companies and they think there's going. to be synergy that was the 90s late 90s. watchword and there wasn't synergy with. aol by netscape and there wasn't synergy. with time warner. but did aol ever really work was it ever. really cool like. the same kind of fire and excitement. that uh firefox eventually created. was that ever there in aol aol was. the right time to do a dial-up service. that got distribution by basically. leaflet bombing compact disks right on. the country.
and they beat out compuserve and the. other ones. prodigy and then the web happened and so. you had. almost like this um isolated continent. like. some of the evolutionary biologists i. follow make fun of the. the funny large mammal you know. marsupial mammals of australia how. how silly they are and so aol is like. australia. and you saw it over time because they. kept aging and they were using aol to. get online and. they couldn't really use a web browser.
and it became sort of a. a valued cohort because they're still. have relatively high socioeconomic. status and they have grandchildren but. it's going away it's dying at some point. towards the end of the arts. that decade and then to the decade. 2010 plus that firefox became. it's incredible i forget when chrome. came out but 2008 september 2008 but. firefox was the sexy cool. thing that represented a lot of the. cutting-edge technologies and all that. kind of stuff. it was amazing tim o'reilly and john.
patel did the first web 2. conference which eventually became huge. and they split it but that was in 2004. right when firefox was out craigslist. was it was huge it was killing. classified revenue for newspapers but. um there was just this ferment people. starting wikipedia along there somewhere. gmail was already done. and it was an impressive webmail there. were others before like hotmail but. gmail was really impressive from google. and google maps people started seeing. what could be done. they thought how can you drag the map. around and you know how does that work. and it was all javascript and images and.
and. um so gmail was 2003 for so yeah. it actually started quite early it might. have been 2002 or three but by the time. we started dealing with google and. firefox to get the search deal which. was the main revenue source for mozilla. and still is um. 2004 early sergey brin's one of his. trusted engineer guys fred schneider. made contact with me at mozilla and. we started talking and we realized. search and. browser need each other and this is. deeply true right this is still true. this is why a lot of the search engines.
have their own browsers yeah so in case. people don't know the the main revenue. source for the browser. is the default search engine which is. kind of incredible to think about. that the that is a revenue source it's a. little bit sad. yeah it leads to this capture or kill. effect where you have the search engine. on its own browser and. other browsers may struggle to just get. this distribution we talked about. earlier yeah. so where and you said uh you've. figured out that uh google is working on. its own browser at some point. 2006 yeah 2006. so would you say firefox.
versus. was internet explorer part of the war. here or was the firefox versus chrome. so firefox didn't quite cause microsoft. to reconvene. i.e they did do ie7 and i remember being. on a plane. back from the standards meeting. javascript standards meeting from. seattle from redmond and there was some. microsoft. guy in front of me it turns out my wife. knew him from her. past life before we married and he was. just this bearded big guy and he was. like. we should have just killed firefox in.
the cradle all we needed to do was add. pop-up blocking in. tabs and we could have made it. interesting kill firefox and it's like. shoulda coulda woulda pal and i was. right behind him hearing this. um but they didn't they were slow and. they ie7 wasn't that great. and what really got them started i think. was. um chrome and you know i talked to larry. page in 2005 i think i said. you know we're talking about the firefox. relationship but he was also saying what. about webkit this was. apple's version of the old khtml.
engine from from linux the kde side of. linux. that was used in the conqueror browser. also with kays that. apple had forked and and in 2005 was. when. apple's principals including dave hyatt. matches takovic some of my friends were. still there said. we must stop patch bombing this poor kd. html project we should make a proper. mozilla-like organization webkit.org now. it wasn't a separate non-profit or. anything it was still apple it was apple. controlled but. they made their fork first class and. they made it be. something that they all worked in and.
lived in and that was before chrome. and then chrome larry page said what. about webcam i said yeah it's nice i. have friends who work on it. you might use that if you do your own. browser why don't you do your own browse. don't worry about firefox. you should do your own browser you can. have your own you know opinion of how it. should work and. and sure enough they did so by 2006 we. knew they'd been working on it some of. the some of my friends who'd been at. netscape. did the original demo and the demo. wasn't what you thought it didn't have. the fast javascript yet that was still. off in denmark in the farm um. did i have tabs it had tabs because all.
browsers had tabs at this point. and it had this. software fault isolation i mentioned it. was through process isolation so. in theory each tab has its own operating. system process and so. what's going to take your tab down well. webkit has. bugs that can crash it but flash was. still big then all the restaurants sites. remember. and flash crashed a lot so the demo that. i heard about. my friends x netscape x as all people. did inside google was. the sad tab they showed an early version.
of chrome which is just this bare-bones. tab browser. they loaded a site with a known flash. volume and then suddenly. flash crashes and everyone expected the. whole browser to go down. but instead you got this little sad face. in the tab and you could reload it and. there it is again. so this was this was a an improvement it. was a real move for security. it was based on you know a company that. acquired called green border. they had some really big brains like. olfar erlingston i think was involved. and they had done some exotic. security stuff but they ended up. simplifying it to this process isolation.
and um it was good and firefox didn't. have it at the time so we were still. struggling with you know. security bugs so we knew chrome was. coming but it took two more years to. come out. and at the time we were still getting. you know the google search revenue and. we were still. um making google the default engine and. firefox was still growing firefox. grew i think until 2011. that was when. it peaked. and as it started falling it was because. of chrome chrome came out in 2008 and it.
was. a comic book that leaked accidentally. that showed some of the people who. worked on it lars bach was in there and. so on. it was kind of soft launch because they. didn't market it heavily they didn't. push distribution. but google had reason to worry about. distribution because microsoft. was you know doing a search engine bing. since 2007. in fact when they came out with bing. google was worried that microsoft would. just. brute force switch the default browser. in everyone's internet explorer or even. firefox. on windows to bing from google and.
uh microsoft wasn't i think ready to. dare the anti-trust cops that way. even though they'd gone to sleep and i. don't think bing was ready either. but just in case it happened sundar. pichai. who rose very well based on this work. was sort of. in charge of getting distribution deals. and he got google toolbar. and google desktop search distribution. and remember those pieces of software. those were like. desktop extensions toolbars.
or operating system extensions for doing. desktops searching your local files kind. of like. that's right mac os spotlight right. sadly died doubted. and there were some features that we. still missed that didn't make it into. chrome but. sundar got oems to bundle those and then. he got enough of those deals that by. 2007 or eight. google felt well if bing microsoft does. the worst and tries to force bing. we can reach in and reset it with that. point of presence. so that was you know good for sundara's. career and it was good for google but it. never came to pass that they had to.
defend microsoft was still you know slow. and by the time they saw. chrome come out then they did what would. have been ie9. and then they said we're going to have a. fast javascript engine to chakra chakra. core. and uh they did okay they were another. process isolated fast javascript browser. tab browser. so it sounds like there's a deep. fundamental coupling of search engine. and browser that's. mixing this whole thing up and obviously. firefox doesn't have a. a search engine that's like i mean.
you're. you're partnering with one with somebody. with a search engine yeah. with with yahoo or with uh yeah uh with. google or so on they tried yahoo that. was. unfortunate because i think um even. though marissa. mayer talked about it she never pulled. it off and never restored the search. uh team that had been laid off i believe. carol bartz was running yahoo when. carol said i've got to get rid of one of. three expensive things i'm going to get. rid of search. and those researchers went to google and. microsoft and.
there was no way to put yahoo search. back together so when firefox tried. switching. all their users who'd stuck with a. default from google to yahoo. like mid-december 2014 a bunch of users. said what. just happened to my firefox and others. didn't notice right away but over time. they did. and so over the next year the the. traffic just. went away for yahoo and and yet they. were obliged i understand it i. i don't have inside knowledge but this. is leaked out and danny sullivan's. written about it search engine lin. i think the deal was like fixed payments.
to mozilla so mozilla was getting a. bunch of money for traffic that wasn't. staying because users were. resetting their default and this shows. how defaults are important. but they have to be good enough that the. user doesn't override them. and you know a lot of the commercial. value in. popular apps is what are the default. settings what is the default search. but oftentimes there's something just. like you said i mean. if there's something compelling that's. also can beat out the default. like tab browsing and so on yes and. that's where i mean.
we'll talk about brave browser it feels. like now we're in this. third stage where there's. uh chrome firefox. edge i guess it's called and. brave and these are all seem like really. exciting. i don't know innovative browsers they're. all kind of copying off of each other. picking up the good stuff. there's evolution again especially on. tracking protection so privacy. is this sort of global um.
wave that's rising i like to call it a. wave because it's a large. somewhat chaotic structure it's not a. unitary good you can't say. i'm buying privacy for you know three. dollars i'm paying three dollars privacy. some people think a vpn does this and. are disappointed when it fails them but. often people use vpns for. region unlocking video or getting the us. netflix exactly. but privacy is is not a unitary good. it's complex and people are. understanding it only. over time and as they get burned but. there's a genie that's not going back in.
the bottle there people are fed up. apple has responded to this apple was. always making safari i think more. of a privacy branded browser from the. very beginning i think this was probably. steve jobs. safari had private windows private tabs. before firefox did and. these are only private in the sense that. they don't leave local. traces uh if you don't want them to it. turns out safari does keep them around. between shut down but the canonical. model is no local traces after you close.
the private window. no no leftover traces that you went to. you know some site that you were. embarrassed by or bought a gift for. somebody you wanted to keep secret. um but there's still some level of. tracking there's network. uh tracking there's network privacy is. not guaranteed at all because you're. using the same internet and isp. as a public window a non-private window. but sorry had that early on they also. had. a cookie blocking policy that. might take a little explaining when you. if you know what a cookie is it's a. little bit of storage in the browser.
indexed by the name of the site. and it's really only the main name of. the site like bfa.com. or you know something like. npr.org every site can store some. information in a cookie every time. it's contacted by the browser the. previous version is sent back. and in the response from the server the. cookie's updated. so it's this little bit of storage in. the browser that the site can keep. updating and it can store an encrypted.
version of your login credentials with a. timestamp so you can. stay logged in without having to re-type. your password every time you navigate. which is how. it would be if you didn't have cookies. the web protocols. especially in the 90s are so-called. stateless protocols so. you go to your bank you log in you go. from your login. confirmed page to your account view if. you didn't have a cookie you'd be. logging in again. everything every time you type in so. that was a great thing about cookies. lumon truly did it in a hurry in 1994. before i joined escape and he did it for.
really. holding that kind of credential but. even then there was the image element. embedded in the page and the image gets. fetched. possibly from a different server and. that request carries the last cookie. which could be empty at first. and the response carries the updated. cookie so just by having images and. cookies you have tracking because that. image server can be. serving a little one by one pixel and. they still use the word pixel on adtech. and that pixel can be served from the. same server embedded differently with.
different. url spellings in the new york times and. espn and as you go from one to the other. the image server can say i haven't got a. cookie for you it's empty initially i'm. gonna. assign you user number one two three. four i'm gonna put a database entry in. and i see by the way i always fetch the. name of the path part of the url that i. was in the new york times. so you're a new york times reader and. then you hit espn. same thing and the database gets updated. and the number user one two three four. indexes in the database. to a profile of you you've been tracked. this was not intended. and it was too late to undo by the time.
i got the netscape um. i think lou wanted to do twinkies he. called them and he was trying to solve. several problems. he wanted them to be bigger because. initially cookies had a short size limit. i think he wanted to solve the third. party problem but tom pake when the. engineer manager said. nope no twinkies just cookies we're done. you're done son. and um that's how a lot of that stuff. was that's how javascript you know. um got frozen like a flying amber in. some ways with that sloppy equality. operator that i made because of the. early adopters. and the cookie got stuck with this.
tracking hazard and then. because javascripts can be like images. they're embedded in the page. by the time netscape 3 i made that work. you can get a request with the last. cookie value and the response updates it. that's a tracking mechanism and that's. why you don't even need images to track. now you just use scripts. so this whole tracking economy evolved. and it it. it depended on these accidents of the. 90s these unintended consequences well. it created. some of the richest companies in the. world right i mean it's the social media. all i got was t-shirts.
all i got is this crappy t-shirt yeah. i mean uh so that's that's the. fundamental problem the world is facing. now they're looking at. what social media has created and. they're looking. at and like a world is looking at itself. in the mirror. and seeing that privacy is actually. something. supposed to like a nice thing to have. it's something that is. actually should be fundamental to the. way we interact with the world. as part of our tooling and that's where.
the. brave browser comes in and i suppose. others as well are playing with this. idea but brave is at the forefront of. that so. maybe can you like describe what brave. is yes and what are its key principles. and uh what's broken and what is it. brave trying to fix so when i. realized that these accidents like the. third party cookie. the image or script that's tracking you. or the um. this javascripts that can do it. invisibly now that all this stuff wasn't. intended and that firefox had supported.
extensions that blocked some of these. things i thought. probably we should have browsers just. block some of these things by default. these were not intended and they're now. unsafe they're tracking you there could. be data breaches. malware distribution um you know. bullying and psyops and other attacks on. people. um block that stuff block that. javascript i've i'm dr frankenstein. with the monster here but obviously you. go to gmail there's a bunch of script. there to make that amazing web client. that's okay that's first party.
javascript so how do you tell the first. from the third party and it's not easy. it's not a matter of just. what's embedded from a different server. because a lot of. publishers use benign scripts from. unrelated domains or apparently. unrelated domains. so you end up having to develop a sort. of human and machine learning practice. around blocking and at brave we did that. from the start and built a research team. to help. drive it and automate it we realized. that protecting people. needed machine learning and around 2017.
spring i talked to my friends at. apple about this too and they were also. doing what they call intelligent. tracking prevention. which uses local machine learning in the. browser and. the funny thing is we you know great. great minds think like we were they were. taking their third-party cookie blocker. that was in safari from the old days. and making it not have a big loophole. because what they did was in. 2003 when sorry came out they said we're. going to block cookies that. are from those third-party embedded. elements. where you've never visited that site. before so i'm going to pick an.
ad company that got sold to att so i'm. not picking on anybody unfairly. appnexus.com have you ever been to. appnexus.com no i've never been there. but i guarantee you 10 years ago you. probably had if you were using firefox. you had a cookie third-party cookie. because you're being tracked by them. and they were using that cookie to build. up a profile of you in safari. as long as the user never went to app. nexus that cookie would not be set. and that was a real move for privacy. early on uh when jobs were still around. in safari. but it had this loophole that if you do. go to app nexus then why it's okay to be.
a third-party cookie and. so app next just did something very. naughty they took their ad partners to. put the actual. ad you click on and they said hey add a. little script so that. when somebody clicks on the ad before it. goes to your landing page. redirect to app nexus and will redirect. to the landing page and by doing that. they set a first party cookie and they. got white-listed so as a loophole they. exploited. intelligent tracking prevention in. safari was sophisticated enough to. counteract this and it did other things. and it's evolved since they did it. and we've evolved brave too and so when.
i say machine and human learning there's. a real. um set of techniques here they have to. fight fascinating problems. fingerprinting right anytime you have a. little bit of storage in the browser. associated with a website if the bad guy. can get 32 websites. each one has a bit of storage that's 32. bits you can. turn the bit on or off you can make 4. billion numbers you can make an. identifier it's called a. super cookie sometimes it's a. there are there are weaker ways that are. statistical they're called. fingerprinting you have to block all of.
them and you have to not only automate. you want to work in the web standards. body to. put privacy in by default by design from. the get go not add it as an afterthought. or. you know go hog wild with new web apis. add a bunch more. local storage or fingerprint surface. area. and that's been a struggle too because. guess who's the new microsoft in the. standards body it's google. and they're not in favor of privacy. first they. they want to do privacy their way only. under. i would say market pressure but with.
apple uh and with brave leading the way. we we block third-party cookies almost. without exception so. we've just blocked them and that gives. us a very strong privacy uh. benefit but it also means some sites. just don't work right embedded youtube. videos might work right so we're. adapting in similar way to apple's done. with itp. to make third-party cookies blocked. but to sort of simulate. what looks like a working third-party. cookie for the site it essentially. tries to i partition each site and its.
third parties into its own. sort of cookie jar got it and so and. like like you said is this both like a. human. uh fine-tuning issue and the machine. learning problem so. humans learn then they train the machine. learning but. you know uh maybe google side or. including google. there's millions of dollars if not b. billions of dollars to be made. from fighting the ways of brave that's. right and it's been uh. an interesting change from when we.
started 2015 when we started. you know ad blocking extensions abloc. plus was one of the big ones that. started on firefox in 2006 i believe. had gotten to a certain level of use. around the world and browsers like uc. web uc browser in. asia had some amount of ad blocking. built in and on by default. so a page fair was a startup. and they measured ad blocking adoption. and they tried to say hey publishers. you're you know 30 of the visitors to. uh pitchfork or wired to kind of nas.
properties are using ad blockers. if we can somehow convince them to lower. their ad blocking. for your site that could be like a 43. lift right. um and three sevenths well. that's easier said than done and page. fair and others source point. many others tried to either smuggle ads. through or cajole the user into. letting you know ads appear and it. didn't really work and meanwhile the ad. blocking adoptions just continued. intelligent tracking prevention in. safari in 2017. brave from 2016 on with very strong.
cookie blocking and other productions. and this this is not going away the. publishers used to rage against it like. we would try to say we can help you. you're dealing with users who are. already blocking all your ads. we can try to put back uh some economics. that help the user and you. that led to the basic attention token. that we started with bitcoin. we can be your friend don't don't just. fingerprint us as an ad blocker and. treat us as an enemy. but in 2015 or 16 it was like ah you're. an ad blocker get out of here i hate you.
and by 2017 or 18 it's like something's. happening the app walking is not. stopping and. we're all getting sort of pulled onto. google's plantation. through amp amp or you know we're. getting killed by the google ad system. we use because it's taking all the. revenue. or you know it's permitting or some. other vendors we use are permitting ad. fraud and so. a fake new york times is getting paid by. the marketer running an ad. that a a bot clicks on and the real new. york times it's supposed to get that. doesn't get it.
and there's something really broken. about that kind of system and that that. fraud is mediated through google's ad. exchange which is the biggest of them. all. and google takes a fee there's a flip. side of that which is malware. distribution advertising where. fake advertisers put malware payloads in. or look. exploit kit loaders in javascript and. they smuggle them in ads onto real. publisher pages. the ad exchange takes the fee now i'm. not a lawyer i'm not going to say this. is a ricoh predicate but. why is the ad exchange facilitating. fraud and malware distribution and.
taking a fee. it's not right as opposed to just. fighting this is the really interesting. thing about brave is. as opposed to just fighting in and being. treated like an ad blocker. you're providing an alternate there's a. there's a philosophical idea here that. might change the nature of the internet. with the basic attention token. yes well maybe what is basic attention. token bat. and how does it work okay i'll tell the. story first by saying. how i came to it i realized for a long. time at firefox we were.
dependent on this google search deal and. i thought you know. now that chrome's out maybe that's going. to go away and they just. at some point google will say you know. firefox. you know like old yeller you saved me. from the rabid beast now you have to. shoot you in the head. yeah done your job sad but true goodbye. and what could we do and i think this. mozilla doesn't know what to do this is. something that i couldn't solve there. and i don't think they can solve. but i thought why is the browser the. sort of passive servant of these big.
tech companies why is it. a blind run time for ad tech javascripts. including from google why doesn't it. block some and if it blocks some. why can't it reconnect users. readers fans with publishers creators. websites. why can't it help people make direct. payments or. even possibly get an ad revenue share. for private ads that are placed in the. browser. the ads are all placed in the browser. some people have this sort of model that. the server is painting the ad into some.
you know flash uh combined. package or into some giant image and. then it all gets sent down that's not. how it works. all the ads you see on the web are. placed in your browser by. calling out to various ad tech partners. and. google's among them and and so if you. block those scripts you. you break the the advertising. flow of money from the brands and their. agencies. to the publishers and if you want to. reconnect it. directly with the user you have limited. choices the user generally isn't going.
to sign up with a. ach bank connection or a credit card the. the publisher isn't going to. sign up the user except just a. subscriber and then they're going to. overcharge you. because they want you to cross-subsidize. all the content and buy more than you. read and all that stuff and how many. you know people are doing great who are. big names like new york times in. washington post but how many. subscriptions are you as a user going to. pay for. this is why startups like tony hale's. scroll are trying to do a portable. subscription system but by the way just. a small attention there even the new. york times is really.
annoying how difficult it is to. subscribe there's way too many. clicks they don't make it easy i had. friends a few years ago i think they. fixed this who would pay for the paper. and then they'd go online and they get. up charged for the digital and they. there was no break there was no. connection between them yeah um. but publishers are not that technical. and they're they can't all get you to. subscribe you can't have a thousand. subscriptions. so for a long time people talked about. micro payments there was glendale and. netherlands which came to the us but. didn't grow and i thought if you have. just a browser. and it's protecting you by blocking all.
this ad tech tracking junk. it can provide you an option that uses. cryptocurrency to let you support your. your favorite sites and even youtube. channels and that way prototype with. bitcoin. and that meant the user had to be of. means to contribute and willing to. contribute. but it could be done on the bitcoin. blockchain and it could be fairly. efficient even though bitcoin went. through a period. when we had this prototype running in. 2016 into 2017 where bitcoin was very. congested and. very slow to confirm and the fees got. very high um.
and a lot of users who were not bitcoin. maximalist or even experienced. we helped them out by embedding a. coinbase buy widget and they had the. income to buy but it was hard it was. like. do i buy five dollars a month but the. fee is like 450. i better buy in larger batches right. then they're like i don't want to own. that much bitcoin so it became this this. painful. thing and the real idea that i had of. private ads that pay the user a rev. share couldn't be realized. alone in that kind of system in.
these cryptocurrency systems especially. with the blockchain we switch to. ethereum you can have smart contracts. the bitcoin system is not turned. complete so what you can do with the. script is more limited. but you can still do sort of clever. things um. even with bitcoin script what we wanted. to do was sort of a. three-sided ecosystem we wanted users. creators or publishers and advertisers. and we wanted the advertisers to put. money in just like they do today. but without going through the googles. and the app nexuses and all these other.
ad tech companies. because those companies take out a huge. cut the guardian in the uk once did an. experiment for a month they bought out. their own ad space. they put in a pound and they were paid. 30 pence 70. was coming out to the intermediary. vendors they were using. wow um and that's like the opposite of. what the app store does the app store. takes 30. and gives the publisher 70 so pretty. broken in the old. days of the superstation tbs the media. um owner would get 85 so.
these splits have become really. unbalanced and the middle players the. the ad tech vendors are taking out way. too much money and they're they're doing. something worse which has been noticed. they're. they're letting um not just the malware. vendors. but also the ad fraud side which fakes. the publishers. and click bait merchants. come in and steal traffic from good. sites because once you have a certain. audience identified at one site jason. calcon has told me this about his. experience with. i guess it was in gadget uh which site.
he was running but. once he started using an ad partner that. was sharing his audience information. across multiple sites he saw his. competitors stealing all his traffic. and then what's worse is the clickbait. sites that just have. much cheaper rates steal all that. traffic and that facilitates. you know fraud facilitates um fake news. all sorts of problems so brave blocks it. and then we give users the ability to. give back and because we invented the. basic attention token and ethereum we. can do this three-way split.
and we can give users a share of the. revenue and if they want to take it out. they can. now unfortunately for us and for all. blockchain the regulators are saying. we're going to have to know who you are. there's there's the. treasury department's uh fincen. agency there's the office of foreign. asset controls ofac. uh there's the um you know. other regulators in the federal. government that take a very dark look at. things like money laundering. and sending money to someone named osama.
bin laden so. compliance starts to come in and even. now they're threatening for pure bitcoin. sending to some address. if you're a coinbase you're gonna have. to know who who's at that address you're. gonna take the actual identities of. people involved yeah now with coinbase. members you sign up and they know you. and they comply with regulations they're. a regulated. money services business uh and um. but if somebody's using their own. self-custody. so-called self-custodial wallet where. they have the hardware private key. and they're not named and they want to.
send to that address. our friends in the federal government. are talking about requiring at some. threshold knowing who that is. so some threshold that's unreasonable. it's not that big. um yeah yeah i don't know how this will. play out i think crypto's here to stay i. think. the beauty of being able to send. peer-to-peer without any bank in the. middle without any. you know huge wire charge and two-day. delay and all that nonsense it's. beautiful and i've used it i love it. but we're pragmatists to brave about. crypto and we realized that anything. like a revenue split. we can't facilitate without being.
licensed in a certain way and it. requires knowing who the user is. so our default mode doesn't know who the. user is it instead. imputes to the user's browser some of. the revenue. and allows that browser to steer it back. to. the creators and we do have to identify. the creators but. as things improve and you know who knows. how it'll play out. there should become a day when this this. full vision can be done more. uh fully on a blockchain but regulations. and the practicalities of. today's blockchains which are not that. fast and not anonymous over time you.
fingerprint yourself over time. we do some of this with the browser so. one of the ideas of the basic attention. token. is to make a hybrid system that's. stronger than blockchain alone it's the. browser. and the blockchain and the browser is. this trusted endpoint. software it's this universal app. everyone uses browsers the bigger the. screen the more you're in the browser. and the less you install. you know fat clients for things um i use. slack on. on mac os and it's it's like a browser.
it's based on an electron framework we. used to use and it's just. it's not that great i some people at. brave use slack. in brave as a in the browser browser. yeah i use that often yeah. and i noticed on the ipad i use apps. less um the smaller the screen. you know the browser got handicapped by. apple and android both and it. also uh you know can be slower or not. have the right you know affordances the. user interface for the the. security uh limited apis but in. principle with the right permissioning. you can make the web.
browser just as good as any app you make. it be a super app. and that's part of our mission at brave. so we want to have the economics that. got captured by these big tech companies. through tracking. and through social networks we want to. block that for your own safety and then. let you opt into a cleaner world. where you keep your data defended in. your browser and you can actually. realize value from it. so the way our ad system works i. mentioned it being private but how does. that work. we don't see your data at all all. browsers are sort of the mother of all. data feeds your history. all your searches at all engines each.
engine sees the queries you send to it. but it doesn't see the others but the. browser. sees them all machine learning in the. browser that you can opt into can study. all that in a very complete way. and do a better job than google this. google has you know cookie. and scripts across the web from. acquiring doubleclick they have. youtube they have android they have. search which is still their big revenue. link. but they don't see everything the. browser sees everything and if it can do. a good job locally and this is not. advanced machine learning this is. not tensorflow this is like svms now and. naive bayes.
then you can match intense signals. intent signals from those data feeds. searches the queries. the history how much you're scrolling. down a page. how much you redid a search it's all. blind browser algorithm we don't see. that data. and then pick the best ad from a fixed. catalog. per day and the catalog is fixed across. a large population per day and it only. updates the date once a day because new. offers come in and old ones expire. sometimes every week or every month and.
that. catalog and there can be many such. catalogs is sold by our direct sales. team. and so we're making an anonymous. audience available to advertisers. without the advertisers tracking them. instead each browser is a little machine. learning system that's picking the best. catalog entry now the catalog is not the. ads those are big right it's a video or. a web page. it's just the link to an edge cache and. there are many such edge caches we're. not trying to. protect them from seeing your ip address. it's not really feasible we could use. tor but we don't yet. um and some keywords about the ad so.
it's basically like. metadata and a link and that's what the. catalog consists of and that's what the. machine learning picks. and the machine learning is learning. about you specifically. locally in order to choose from the. catalog of different ads. couldn't this possibly be like a. multi-billion dollar. is this taking on the google ad. so like what i mean one question to ask. there seems to be some really profound. ideas here that that are. different than what the internet has.
grown up to be. if brave or something like brave. the ideas the fundamental philosophical. ideas underlying brave. win out and runs 95 of the internet. how does that change uh the. what what are the major things these. changes about the internet so social. networks and then the creatives like. youtube creators and all that kind of. stuff so let's talk about that. first of all if brave gets 95 i'm going. to demand a recount because i. i won't believe it uh i don't know i i.
think uh. we're trying to put things into web. standards that can be standardized. across browsers so. the main value of brave will be the. trust users have in us and our ability. to. give the best deal to users so 70 of the. gross ad revenue we give to the user and. if they. go through that kyc process i mentioned. they can take it out they can also give. it back they could take some out give. the rest back they can. add basic attention tokens to give back. some of them turn off the ads because. you just don't like ads but they put in. twenty dollars a month. so i believe zuko of zcashframe does.
that and that's very generous because. the browser is just anonymously based on. his browsing. sort of keeping score on how much time. he spent on this video on that website. and if those sites verify in sort of a. like getting a domain certificate. fashion they can get paid. they can get part of his 20 a month. so that vision could go big and if it. does i hope it's across multiple. browsers i don't. know that uh they'll all compete well on. the quality of the ads. the quality of the ad blocking and. tracking protection those those are.
subject to competition it'll take a. while to standardize them. but i think that would be a better world. it would have less counterparty risk. fewer fee takers in the middle really. just the browser we're taking 30 percent. um sort of the app app store split and. if we get bigger maybe we can take even. less. social networks creators if you look at. youtubers a lot of them. the indies that are getting some size. are getting sponsorship deals. uh they're using patreon they're. encouraging people to subscribe and give.
them regular money through patreon. but that's centralized your patreon so. there's censorship hazards there's a. five percent fee. what if that were web standard what if. brave pioneered it first and we took. three percent and we did it in a way. that was. through your browser so we couldn't. censor it um yeah that's brilliant yeah. do you think it could be standardized. across browsers can like uh. internet explorer come in again and and. uh yeah protocols are easy to copy and. that they're meant to be interoperable. so.
it's there's a risk there and the loyal. users might be tricked into leaving you. or they might. because of that distribution power you. might end up getting stomped. um i don't know i can't predict the. future i think antitrust is back on the. case finally in the u.s and. and certainly in europe gg comp is doing. its thing so i'm hopeful that we'll have. a period of innovation. uh you know people were talking like. elizabeth warren was talking about. breaking up the tech. tech companies very clearly um now she. didn't win. and i suspect that won't happen but i. also suspect that google might be smart. enough to see. they should do something more than just.
put privacy perfume on chrome they. should maybe get rid of doubleclick or. something divest something. i don't know it might happen so so brave. might inspire google to completely. change the way they're doing things. they're already doing something you may. have read about called the privacy. sandbox or. um flock which they have this bird. metaphor going um. turtledove um fledge but these. these these systems have been very. googly kind of over engineered and yet. depending on differential privacy which. has weakness over time if you know how.
that works kind of injecting. noise to hide you in a crowd but over. time an adversary can pull you out of. the crowd. that this doesn't look like it's going. to become a standard like apple. brave mozilla we're not going to just. say oh google you saved us. you've invented the privacy sandbox so. we'll all just adopt it. not going to be that easy it's going to. be more like pieces of what we do in. brave the synonymous ad matching or the. blind signature cryptography we use to. confirm the ad. impressions that's david chum's. invention that could get standardized in.
fact some of that is being standardized. even google's in favor of so-called. trust tokens which are xiaomi and. blind signature certs but they're not. using them for ad confirmations because. they don't want to blow up their own. business. and they need to let some of the. publishers they serve. have other ad tech scripts on the page. and so they're kind of caught and this. is something i realized doing brave i. thought. what's you know google's innovator's. dilemma apart from just you know getting. being mature and having trouble. innovating it's that they have come to. depend on. this ad tech system that has all these.
these. vendors that are publishers rely on. because publishers aren't technical. enough and i feel for the publishers but. i realize the users have to come first. and if you give the users. a better browser that's faster then. you'll get enough users to to give back. or support publishers. the speed and the battery savings and. data plan savings are significant. there's so much bad javascript involved. in ad tech. if you block it and you sort of chop off. the what's called the programmatic. waterfall which. chains a bunch of requests yeah that's. one of the incredible things about brave.
i guess you're saying you should. attribute to the fact that the the the. messy javascript. no offense. uh is uh i mean brave just feels. faster even then i mean chrome was fast. and one of the things that it was like. impressive is. it it showed that browsers could be. really fast and brave is even faster. than that which is blocked so much and. it saves. the network it's it which means data. plan it saves battery because the radio. consumes your battery when it's running. more to do those requests.
and it's just stunning how many there. are like some of my google friends were. like oh that's just that bad site. they'll fix it. and you actually do a survey of web. pages mostly like that. i know google or google engineers could. make everything super efficient but they. can't. especially an anti-fresh court do it. they cannot take over. all the publishers and do that they're. trying with accelerated mobile. profile amp they're trying to pull. publishers they're like oh you poor. publishers don't know how to make your. pages fast. put them on our amp system we'll give. you extra placement in the search. carousel.
that's an antitrust problem for one but. it's also publishers we talk to hate it. because it degrades their brand. now they look like a gig writer wrote a. piece that's got. google's framing an amp url on top of it. and they're trying to fix that too but. it just looks like a google's borgifying. all these publishers and they don't want. to be plugged into the board cube they. want to. build their own brand and have loyal. readers so you know i'm in favor of. giving the users power to help all the. publishers and the little platoons and. the creators. and so we talked about patreon what.
about social networks well. they're inherently like search a global. algorithm you're trying to find friends. of friends you're doing the transitive. closure of a graph. induced by this friend of relation but. you should own your friend relation you. should own your posts. they shouldn't be owned by somebody else. who can take them down. or sense them and your friend relations. you should be able to find those friends. on other networks and so i've tweeted. about this i haven't built it yet. what if the browser could keep track of. those for you what if the browser could.
maybe combine facebook and twitter and. you could find your friends on both and. you could. have a so that relationship is not owned. by facebook or twitter it's. owned by you they they throw their. brother they still have terms of use and. they'll say they own it. but if they zap you on one and you're. still on the other your friends find you. and the browser could. preserve a combined view you could. resurrect almost. across networks it's something i want to. maybe quickly ask you about. on that front there's been a quite a lot. of. um centralized we talked about wall.
street bets. and then uh robin hood has been. centralized. banning of different accounts and. removing like parlor for example from. aws and this kind of. overreach of centralized control. is your hope that it's possible to like. what are your thoughts about that in. general is it. and is it possible to create tools. that give individual people the power to. fight back against. overreach of such control so we're.
talking about. oligarchy i do think and that if it. controls a nation state that's. formidable it's the tax. and the police power the military power. it means that you may have the great. firewall of china you may have people in. china who are. jailed because of their tweets right. this is a serious threat i can't. minimize it or say that. we'll win i don't know how it's going to. go but i do think. like i said earlier about the cutting of. reason people find ways around things. the internet routes around censorship. and this is not to endorse any. particular bad faction one of the things. that happens when you try to.
wave the free speech flag too much you. say i'm not going to censor anything and. you get colonized by. terrible terrible people right yes i. don't care if you call them neo-nazis. some of them could be doing. illegal things right and you don't want. them colonizing because it'll ruin your. reputation and destroy your business. so what you really want is that kind of. user first. subsidiary that subjectivity i want my. social. networks to be composited in some. multi-social user interface where i. don't lose track of people across. networks. and if they leave one or they get banned.
from one i can find them on another i. can still sort of thread them together. yeah that's brilliant. and and this didn't happen because. browsers got captured by the central. powers. why did they get captured mostly because. of search and search is a central. algorithm. so you know larry page said this too. many years ago he said with search. you're giving up a little privacy by. handing the query over to us. and we'll error correct that alan eustis. used to be a google and google executive. he said oh yeah we used to laugh they'd. all be doing typos and they'd be typing. the wrong word. like no dummy type that query and it's. like okay google.
you might want to dial back that ego a. little bit but yeah yes you do see. all the queries and you can improve them. and you can find the best results and. that was google's. forte when we did the firefox deal in. 2004 google was really good. and over time you know seo which is an. adversarial game. yeah and google itself buying all these. companies and crowding its own results. page with its own. tied in yeah stuff the youtube the. slipper slope that happens when you when. yeah when you have control over these. kinds of really important mechanisms.
yeah monopoly capitalism or cartel you. get this with the robin hoods and the. the. hedge funds you get uh sort of the money. interests take over and kind of abuse. their power and wear out their welcome. so what how do you get around that. you have to have either new land to go. to which you know. some people's ancestors not mine i did. to found the country. um um mostly irish german um. you have uh new virtual space people go. to. and that requires you know an isp to or. a. colo center or amazon to host you it.
requires. domain name registrar who will not. strike you. and so when parlor was taken down you. know. i thought that was egregious parlor i i. it was not well designed and i i tried. it out because i tried all these things. yeah. um but i didn't use it and i i also felt. they were being unfairly scored for not. moderating because you can find tweets. to this day that. are horrendous and threaten all sorts of. violence where's twitter why isn't. twitter being taken down. but so it was very selective it was the. insiders who have the power. are going to take out the newcomer and.
it it looked bad sort of like the. the hedge funds um sorting gamestop. looked bad. you know you're seeing a piece in time. magazine this week that's like. basically saying yeah we interfere with. the election but it was great aren't we. good. i don't know if you've seen this piece. yet no i haven't if you tried to say. that. as a trump supporter in in november. after the election you get banned from. twitter. but now time in its twitter account is. saying you know. we saved the day we we it's afl-cio and. big business.
the better business bureau got together. and kept trump from. you know spreading fake news so the. country's kind of broken i don't know. how to fix that the oligarchs have. run wild in my opinion and big tech is. in the antitrust stock. what's going to happen i don't think. they get out i think some of the doj and. certainly the state. cases because they're separate cases are. not going to go away just because. somebody got elected differently and. these are career prosecutors and they. have a strong case. and google smart microsoft almost got. split up right. the judge thomas penfield jackson he.
overreached he didn't hold a hearing. about the remedy he just said i'm going. to break you up and microsoft appealed. and the. higher level court said go back and. figure this out you're not breaking them. off you didn't even hold a hearing. and when they got back microsoft said. let's settle let's settle we want to get. broken up. because jackson was going to make the. opsco the operating system company and. the appsco. office you know word in excel and uh. that would have been a huge blow to. microsoft so. but ultimately i don't know you i don't.
know if you're optimistic or cynical. about. the possibility of breaking out big tech. to me. uh i'm optimistic that tools like brave. i love the idea of owning your. friendships and like yes users more and. more owning. stuff is the only real way unfortunately. it's like the wall street bet subreddit. is the only real way to fight the. centralized power you can't break them. up the regulation is very difficult. certainly i want to wait for the law. netscape was long dead or acquired by. aol and effectively dead it was only. mozilla that. returned firefox to the market uh by the.
time that the usb microsoft case was. finally. settled and the penalties were put in. place and. uh and yet ana trust has a role to play. those penalties caused microsoft to kind. of. turn away from the web they did windows. vista and they thought the web's too. painful we got. punished in court and we got we had to. standardize things with those iggy. standards people. so they ran back to proprietary lock-in. and windows vista flopped it was late it. was bloated. longhorn remember now what google i was. going to say but google's smart enough.
they won't get split up. they'll split something out to get off. the hook i think. this is a complicated subject but i. myself was so. i i decided to journey out from the. world of being a researcher at mit and. potentially doing a startup myself and. i've been. thinking of you know i wanted to come to. silicon valley to do so. it's the land of the entrepreneur and. there's a lot of my friends. a lot of them are successfully have been. entrepreneurs themselves.
have said do not come to silicon valley. it'd be you've you've started you you. ran amazing. teams of engineers you started a lot of. successful businesses. i i wondered if you could comment on. why a lot of people are leaving. california is there something that could. be fixed about california. if you were starting a business today. would you consider. somewhere else like austin or some other. place. or is silicon valley still is it just a. little lull.
everybody's being overdramatic during uh. this particular year of the coronavirus. and so on. i think you know even austin's getting. overheated i hear. um yes and i've had relatives and. friends moved to texas within the last. few months so. uh texas as a whole is a big place and. uh you know. people are moving to florida there's a. big movement toward miami um. peter thiel keith where will all these. people um the mayor has been very. uh business friendly about it which i. think is just good politics. um america is fundamentally a commercial.
republic so you would think this would. be what's happening. for a long time california was the. golden state i came here in late 76 when. i was a teenager. it's in crushing debt due to the. lockdowns it's. got the highest taxes that's gotta. matter people will do fleet. high taxes um it's got uh. likely fires every year because of the. deadfall it's not global warming. it's because the forests weren't managed. like they had been in the first part of. the 20th century. um just i would say corruption.
at all levels especially up to the. governor who you know famously was. eating at the french laundry and. yes claimed the outside it was inside. and they were masks off and it was great. uh do what i say not what i do. uh rules for thee but not for me. when you see that in leadership people. either run or they. they get rid of the leadership so. there's a recall drive which is about to. reach the threshold. or in the old days they get their guns. right you don't put up with this junk. but ultimately the thing that made. silicon valley a special place.
it gave freedom to like young kids. entrepreneurs. young minds brave minds to think bold to. try. different stuff i mean even if the taxes. are high so. outside of financial stuff outside of. all of that housing super expensive. housing yeah so it's hard okay. everything about this. was narrow and they didn't plan the. roads right yeah. they got rid of public transportation in. l.a like the who framed roger rabbit. cartoon show they used to have trolley. cars. in portland too yeah the oil companies.
and the dod conspired to build highways. and make cars dominant. and the rights of way are long gone like. elon's going to go underground. and rush him well that's probably the. only way to do it now yeah. but it still a place do you think it's. possible that silicon valley is still a. place where magic happens where the next. google is built or the next. i mean brave is built where uh. i think all good things come to an end i. think the problem is silicon valley had. strong network effects through. stanford through uh the angel investor.
networks and the wealth effect. and originally you have to give the. federal government credit like the. arpanet was a government. project that's not kid ourselves this. wasn't wild free market you know. libertarian capitalism this was all cold. war stuff. um you had uh out of the academia you. had shockley and then the the traitorous. aid and fairchild and intel and. but now you know when's the last fab. that was built in the valley. micro unity might have been the last i. don't know i haven't followed but we. built a fab in sunnyvale. and uh in microunity in starting.
early 90s and now the fabs are overseas. um. and the one thing that i would say the. oligarchs have intentionally done. in both parties is sort of. labor and environmental protection law. arbitrage by going where the labor is. cheaper and the environmental laws. aren't. strict and you know that's polluted the. hell out of parts of china. but it's made things you can make. cheaper junk. and uh this this is not uh this is not a. story that's over yet. so what is silicon valley for now it's.
for the network effect the. the brain trust of who you know the. parties. the stanford um sort of network. that's fragile too over time i'm afraid. right stanford. a lot of good professors i like they. still filter. you know mainly based on socioeconomic. status but it's kind of a skate school. i had a friend uh hired out of harvard. 20 years ago at. netscape and we talked about harvard and. he said yeah they're still professors. are great on the curve and i said oh.
yeah i don't think they're any doing. that at stanford. and he said oh it was shocking some of. the students got c's and d's and they. were crying. it's like yes that's right the the. precious deers can't take that at. stanford so they get a's and b's. yeah now you look at china and people. say what you all about china. they improve russia too a lot of math. science training a lot of. engineering a lot of people who are. doing their. course work to get the a's and b's so um. i'm an american i'm born in the fourth. of july i'm early.
fourth of july yeah wow and america as i. say fundamentally is a commercial. republic you can try to make it. something else you can say it's the new. atlantis and mystify it. you could you could talk about it in a. more i think correct way which is 13. colonies that grew and then. there's a lot of local or written. original design anyway the federal. federalist papers talk about this. there's a lot of subsidiarity. but that's that's been eroded over time. and. like i say a lot of the offshoring has. hurt so what happened with coronavirus. people working from home and at first it.
was funny because i have friends at. google. who used to grumble that not only did. they have to come into the office. if they joined a different team that was. centered in a different office they had. to move. or you know if if the v8 team was. reconstituted in munich which it was. after lars bach just got tired of. javascript that they hired in munich or. they hired phds in germany and moved. them to munich. um with chronovirus everyone's working. from home and it's like what a relief i. can work for google from home. but then the next few dropped and people. started asking mark zuckerberg hey can i. move to. my hometown in the midwest yeah and he.
said okay and they said oh can i keep. getting my silicon valley pay. no we're going to figure out what your. cost of living there is and we're going. to adjust your pay accordingly. and and these colonies and these little. mini experiments that all combine to the. big giant experiment i. have a i don't know i have this uh. vision of america which that country i. was born in russia like i said here and. this is. truly a wonderful country i'm i wasn't. born in the fourth of july people still. i still and i'm uh red-blooded american.
at this point and i. have a sense that we figured it out. somehow if silicon valley burns another. place will come up in this place. that even more innovation and people. will move and. the remote work might change. fundamentally how we work. or might not it might just give you the. freedom to then create. many other small silicon valleys. throughout the place like austin. included but other places as well. and we somehow figure it figure it out. and uh. i think that's that's true that there.
will be more mobility and maybe new. places that come up. i don't know if silicon valley has you. know. passed some sell-by date because. it did hurt the the chronovirus hurt the. lockdowns hurt and the fact in the sense. that. part of what keeps things going is. social and so a lot of young people. even before coronavirus moved to san. francisco it was very strange to watch. because in the 80s we all lived in the. valley and. it was less populated in san francisco. it was grungier it was more like. dirty harry in the 70s yes but but by. the 90s.
uh and jamie runs a nightclub there and. he's talked about this you had sort of. wealthy tech people moving in south of. market fancy townhouses being built. and uh that's continued and such a point. that it's almost like. what's the movie by the south african. director nell's jody foster up in the. space. colony uh matt damon is the guy on the. earth who has to go up and. anyway it's about the stratification. it's about the great inequality the. people in the space station have. like amazing medical auto docs that can. extend their life or save them cure. cancer. people on earth are all suffering ground. down in poverty.
um and uh you know that sort of happened. while i was here you saw a lot of money. drive prices up along the narrow. peninsula and the single people wanted. nightlife so they were in the city. and the condos in the city got super. expensive and you i know. even google friends who are you know. socially responsible say we should have. more. housing built we should have yes in my. backyard not not in my backyard. but that's not happening as far as i can. tell and. from the government to the incumbent you.
know landowners and renters. it's just not happening and that has to. drive people away i. i i appreciate that people come here and. you should wait for the prices to. monitor yeah. they will but um but a lot of people are. going to go where the. prices are lower you uh and. sorry facility questions here but just. looking back you have. created things have been part of. creating things. that have transformed this world the. world of technology.
perhaps more than almost anything else. um. but you're still a human being and uh. unfortunately this ride ends do you ever. think about your own mortality. not too much i mean i'm i'm a roman. catholic so i. am not afraid of death i think a lot of. people who. um have problems with death. are suffering from some. lack of either faith in their.
transcending death or. maybe they don't have children or they. feel like you know. they get later in life and they feel. like they they've missed opportunities. to do something that endures. and i i sympathize a lot because i i'm. old i got married fairly old so i. i understand all that i nothing human is. alien to me as. terence said uh but um. i don't fear it no what do you hope your. legacy is. it's gonna be javascript i think no i. think you know. my legacy has more to do with my.
children and and their children i think. it also has to do with. um web standards it has to do with. things like brave. the things we did with firefox when we. did um. you know i'm not going to oversolve rape. but i think brave is important and we. will continue to prove this in a way. that. counts for many decades to come but even. firefox. whatever it's future fortune showed you. can restart the browser market this. thing you said about. people opting out and routing around you. don't need everybody to do that it's. more like telus stubborn minorities that.
do that it's the lead users eric. hipple's lead users you can be a few. percent you can tilt the market. and that can be done in spite of the. incumbents the moneyed interests not. being in favor of what you're doing so. i think what we do with firefox won't be. forgotten and it needs to be done more. and we're doing it brave and you could. argue that other projects are doing in. some ways blockchain is doing it. the robinhood uh takedown uh. the use of uh robin hood by the the wall. street vets kids. yeah similar so yeah that that kind of.
spirit endures and i think it. um in some ways it's american right it's. uh it's not hard revolutionary it's not. trying to burn the past and. destroy everything it's more like we. have these certain let's say um. rights we have duties too so there's. some debate about which comes first in. american. jurisprudence and the founding documents. but as long as things are working. we'll we'll we'll be like pragmatic. americans like um. de tocqueville described in his writings. but if if things get too out of whack.
for one reason or another. uh too unequal too oligarchic and. abusive. we're going to start our rights and even. a few of us can do it and even in the. american revolution it was a minority. who fought and put their. you know lives treasure and sacred honor. at stake it was. a bunch of people went to you know upper. canada i think it was called uh. ontario yeah that's the beautiful i mean. that's that is. at the core where your work stands for. is that a few people can have. the power to transform society with just.
a few radical ideas with just a little. bit of code. yeah change the world got to do it and. that's empowering and that is the. american way that's why this country is. i believe the greatest country on earth. that's not over. rometz says it too much but uh i think. some special things. have already happened in this country. and will continue to happen and that's. and that spirit can continue no matter. you know who comes here. they can they can adopt those folk ways. and that spirit. brandon i said i can't tell you how much. i was freaking out how much of an honor. just to talk to you you're an incredible.
human being it's one of my favorite. conversations ever. thank you so much for wasting all this. time with me i really appreciate it oh. it seems like a breeze. my pleasure thank you for listening to. this conversation with brandon nike. and thank you to our sponsors jordan. harbinger's show sun basket meal. delivery service. better help online therapy and eight. sleep self-cooling mattress. click the sponsor links to get a. discount and to support this podcast. and now let me leave you with some words. from jeff atwood.
any app that can be written in. javascript will eventually. be written in javascript thank you for. listening. and hope to see you next time. you.
