Lex Fridman Podcast - #160 – Brendan Eich: JavaScript, Firefox, Mozilla, and Brave
Episode Date: February 12, 2021Brendan Eich is the creator of JavaScript and co-founder of Mozilla and Brave. Please support this podcast by checking out our sponsors: - The Jordan Harbinger Show: https://jordanharbinger.com/lex/ -... Sun Basket: https://sunbasket.com/lex and use code LEX to get $35 off - BetterHelp: https://betterhelp.com/lex to get 10% off - Eight Sleep: https://www.eightsleep.com/lex and use code LEX to get special savings EPISODE LINKS: Brendan's Twitter: https://twitter.com/BrendanEich Brendan's Website: https://brendaneich.com Brave browser: https://brave.com PODCAST INFO: Podcast website: https://lexfridman.com/podcast Apple Podcasts: https://apple.co/2lwqZIr Spotify: https://spoti.fi/2nEwCF8 RSS: https://lexfridman.com/feed/podcast/ YouTube Full Episodes: https://youtube.com/lexfridman YouTube Clips: https://youtube.com/lexclips SUPPORT & CONNECT: - Check out the sponsors above, it's the best way to support this podcast - Support on Patreon: https://www.patreon.com/lexfridman - Twitter: https://twitter.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/LexFridmanPage - Medium: https://medium.com/@lexfridman OUTLINE: Here's the timestamps for the episode. On some podcast players you should be able to click the timestamp to jump to that time. (00:00) - Introduction (06:54) - History of early programming languages (11:47) - Physics needs more experiments and less theory (16:24) - JavaScript origin story (41:17) - JavaScript was created in 10 days (50:57) - Marc Andreessen (54:14) - Internet Explorer (57:58) - Evolution of JavaScript (1:03:44) - JavaScript standardization (1:09:33) - TypeScript (1:12:05) - JavaScript ecosystem (1:15:15) - HTML5 (1:18:47) - Making JavaScript fast (1:27:57) - JavaScript is the most popular language in the world (1:38:23) - Advice for programmers (1:44:20) - Browser wars (1:50:50) - Firefox (2:12:33) - Brave (2:25:33) - Basic Attention Token (2:50:36) - California (2:59:48) - Mortality (3:00:54) - Legacy
Transcript
Discussion (0)
The following is a conversation with Brendan Eich, creator of the JowlScript 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.
JowlScript 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
you fundamentally about respecting people's control over their data.
Quick mention of our sponsors,
the Jordan Harbourgish show,
Sambasca Mild Delivery Service,
Better Help Online Therapy,
and A-Sleep Self-Coloring mattress.
Click the sponsor links to get a discount
at the 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 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 Brandon somehow, multiple times,
that's career, they just that. I'm starting to believe it's more art than science, like most
interesting things in life. If you enjoyed this thing, subscribe on YouTube, review it on
Apple Podcast, follow on Spotify, support it on Patreon,
or connect with me on Twitter, Alex Friedman. As usual, I'll do a few minutes of ads now
and no ads in the middle. I try to make these interesting, but I give you timestamps, so
if you skip, please still check out the sponsors by clicking the links in the description. It
is, in fact, the best way to support this podcast.
This episode is sponsored by the Jordan Harbinger Show.
Go to jordanharbinger.com slashlex.
Subscribe to it, listen, you won't regret it.
I've been bingeing on this podcast for many months now.
Jordan is a great interviewer.
He gets the best out of his guests, dives deep, calls them out when it's needed,
and makes the whole thing fun to listen to. His interview to Kobe Bryant, Mark Cuban,
the other guest Tyson, Garik Asparov, and many more. Perhaps more importantly, he's
unafraid of addressing challenging, even controversial topics with thought and grace.
I especially like his feedback Friday's episodes where
this combination of fearlessness and thoughtfulness is especially on this
play. Touching topics of sex, corruption, mental disorders, hate, love, and
everything between. Again, go to JordanHarmature.com slash Lex. It's how he knows I
sent you. On that page, there's links to subscribe to the show, on Apple Podcasts, Spotify, and everywhere else.
The show is also sponsored by Sun Basket.
Sun Basket delivers fresh, healthy, delicious meals straight to your door.
As you may know, my diet is pretty minimalist, so it's nice to get some healthy variety
into the mix. They make it easy
and convenient with everything pre-portion and ready to prep and cook. You can enjoy a delicious
healthy dinner and as little as 15 minutes. I've enjoyed a lot of meals from their menus that fit my,
what they call, carb conscious ways. They have prepared meals, meal kits, and even raw ingredients,
They have prepared meals, meal kits, and even raw ingredients, like just a nice New York strip steak, rainbow trout, like a filet, wild chilean sea bass, king salmon, and much more.
Right now, Sun Basket is offering 35 bucks off your order when you go to sunbasket.com slash
Lex, and enter promo code Lex at checkout.
Again, visit sunbasket.com slash Lex and use code Lex
to get 35 bucks off your order.
This episode is sponsored by BetterHelp spelled H-E-L-P-H-H.
They figure out what you need
and match with the licensed professional therapist
in under 48 hours.
I chat with the person
on there and enjoy it. Of course, I also have been talking to Mr. David Goggins over the
past few months, who is definitely not a licensed professional therapist, but he does help
me meet my and his demons and become comfortable to exist in their presence. In fact, in early March, I'm doing a 48 mile run with him,
four miles every four hours for 48 hours. You should check out goggonschallenge.com
for more information about that. I often talk about struggle. I think it's essential for creation,
but I think you can struggle beautifully in a way that doesn't destroy you. Therapy can help there. Better Help is easy, private, affordable, available worldwide.
You can communicate by text anytime and schedule weekly audio and video sessions.
Anyway, check out betterhelp.com slashlex. That's betterhelp.com slashlex.
This episode is also sponsored by 8 Sleep and its Pod Pro mattress.
It controls temperature with an app, is packed with sensors, and can cool down to as low as
55 degrees on each side of the bed separately.
It's amazing.
It's been a game changer for me.
I just enjoyed sleep on Power and Apps way more now.
I feel like I fall asleep faster and get more restful sleep.
Combination of cool bed and warm blanket is amazing.
Now if you love your current mattress, but still are looking for temperature control,
8 sleeps new pod probe cover as dynamic cooling heating capabilities enter your current mattress.
You can cool down to 55 degrees or heat up to 110 degrees.
I don't know why you would want to do that.
Maybe let's keep it under 100 degrees.
And you can do so on each side of the bed separately.
Also, you can track a bunch of metrics
like heart rate variability,
but cooling alone is honestly worth the money.
Go to a sleep.com slash legs.
And when you buy stuff there,
you'll get special savings as listeners
at this podcast. That's a sleep.com slash Lex. And now here's my conversation with Brendan Eike. 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 program
that does the Death Star Trench run.
And it was just simple 2D graphics.
And I didn't know what I was doing.
So I just helped them out on the math and stuff like that.
I was a math and science kid.
I was really into the HP calculators of the early mid 70s.
These were the RPN.
They were really strongly built.
And this a gold finger
instead of gold, divinely heavy. There's probably some gold in them too, gold medallization.
But they were awesome calculators and they had all the scientific functions, so I was really into
that. So I aimed towards physics. I was a little late for the, I think the 20th century golden age,
and I read a lot of science fiction, so I was like, yeah, it's on the type of drives 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 collater.
But we were using Pascal and I got one of the first portable sea compilers,
ports to the deck mini computers we were using.
And I fell in love with programming just based on, you know, procedural abstraction, Pascal, just what now would be considered old school,
like structured programming for the 70s. Niklaus Vierte, the creator of Pascal, was a good writer
and a good pedagog. He always at ETH would do these courses where it's like build your own computer,
build your own compiler, build your own operating systems, which is a scratch. Yeah, kind of. And I know some people who are grad students under him and said he would
torture the students with things like this custom email system that had 25 word limit.
And things like that.
I unfortunately dodged both the Pascal and the Fortram bullets. Could you maybe linger
on the Pascal? What kind of programming
language was it? What is the reminiscent of of today? Because it sounds like it may have
had an impact on your own trajectory. Yeah, it was in the Algole family. The big successful
language design and compiler project in the 60s. It had a successor called Algo 68,
which was ambitious, but not as successful.
But Pascal was kind of a wordy procedures
and functions language.
It distinguished between functions,
which are a turn of value and procedures,
which don't, which is just compute.
And you could say that whole Algo family went into ADA.
Pascal had a second life thanks to Borland with Turbo Pascal,
which was hugely successful.
I think a large part due to Anders Helstberg
who then went to Microsoft and did C-Sharp
and done that with his team there and it's done really well.
Doing TypeScript, Type JavaScript.
So yeah, there's a lineage here,
but I was also interested in C and Unix
by the time I was in undergrad,
because people were bringing Unix up along all sorts of hardware. I had some friends who
were doing their own wirewrap computers, 68, 20 maybe. And I was wirewrapping for my engineering
course, 68,09 or something simpler, building a computer on 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 NS-16032,
which was this amazing, you know,
SISC complex instruction set computer,
and not the reduced instruction set computers
that were just being contemplated into the mid-80s.
And risk ultimately went out.
Risk one in some ways, it dissolved into,
that you have both now, you have these super scalar architectures
where Intel has probably too much backward compatibility
at the instruction level, but that's just a front end
that parses that into these wide internal instructions.
So, the very long instruction word research
that 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 out of physics after three years
into math computer science.
And like I said, I did it because I saw, I was being sort of
childlike in naive about physics and I thought,
meanwhile the valley is go-go for computers.
The Apple II, right, the PC, the Intel 8086,
8088 based PC, the IBM, you know,
Gig Microsoft, the future, for, you know gig Microsoft the the future form
You know somewhat fishy deal. So it was wide open in the computing space, but in physics you were as
Optimistic about physics as no, I mean, I was one of three brothers who were all in the same grade. I have a twin and
An younger brother who 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.
But he also didn't even get up and software.
He did.
He did.
Does it make you sad that the theoretical physics, even with strength theory, hasn't really
had any foundational breakthroughs in the latter part of the 20th century in the...
Yeah, I'd say the problem is theory over experiments. I would say, you know, we need more
Aristotle and less Plato. Mathematics is 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 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 are friends with 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 and only with us.
And I think that's noticed.
So like I said, the real glory day is physics,
the famous pictures from Germany before the Second War were just
a fantastic assembly of brains, you know, Schrodinger and Einstein.
And physics, I think, took a
wrong turn that maybe all of, I would say, Western science took in going for models of a 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. 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,
with 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,
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 salt or sizes,
which have a deep love for psychology. You see this in epidemiology salt or sizes which have a deep love for like psychology. You see this
in epidemiology now 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 a machine learning where it's like there is no provable thing usually.
It's just kind of you, it's all about just getting the right
data set and getting tricks and so on.
And there's this tension even in my own soul of like,
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, do you, as somebody who was in math
and computer science, and then end up going into places
where you engineer 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, it's not that useful in practice, right?
People are using it with sort of crypto analysis
or asymptotic arguments about, you know,
can we have a quantum resistant crypto algorithm,
things like that, which may not be practical, right?
If you follow Mikhail Diyakanov or Gil Kali,
there are big questions about how quantum computing
will scale up, how practical it will be. Is that big questions about how health quantum computing will scale up,
how practical it will be.
Is that something that you think about quantum computing
and not 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 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 an art. Well, we can have, you know, machine learning composed music and it can imitate,
you can train it, it can sound kind of decent, but we've been lacking that genus aqua. But,
you know, user interface still, I think, requires human art. So speaking of things that didn't follow a perfect theory
and model JavaScript. So there's two things. One had an impact on
the world at a huge scale. Obviously, it is also still is one of
probably the most popular programming language in the world. So
can we go back to the origin story?
Can you tell the story of Hajaoscript was created?
Yeah, I was at Silicon Graphics after graduate school for seven years.
And it got to be big and successful and division-ized and political.
And I thought kind of boring.
And a friend who had been there went to one of the last of the super companies,
the super startups in the early 90s. They were several, I suppose, general magic was a little
after that around the same time. But microunity was that company that I went to and it was because
my friend Jeff Weinstein had gone there from Silicon Graphics, he recruited me and microunity 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 analog and digital circuits on the same very large,
but not way for scale chip originally was five centimeters on a side.
It was, it was really hot too.
So I needed a water cooler.
It was a craic
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
trying to do all the things that we now see in modern architectures with
short vector instructions and sort of wide instructions or multiple
issue.
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 or less garbagey one.
So if you could have software gradeableable set top box is the cable companies
thought they could save a lot of money and add features. Is this assembly? Or which level
of the software? It was like we were writing in we were using GCC we were writing C++ and
C somebody I worked with there really very smart guy hired from a sort of Wall Street
hot shot programming consultancy did his own hardware design as well as software and we a guy hired from a sort of Wall Street hotshot programming
consultancy, did his own hardware design as well as software.
And we were working on how to make not only the short vector
units, but general bit shufflers and promoters, so you could do
things like crypto algorithms efficiently.
And you could do demodulation of the cable, no complex
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 read 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
Jim Clark said to me, when I hopped in that scape, after
three years at my community, he said, oh, yeah, you do things each, one in 10 odds, it's going to be one in 10 billion, right?
The multiplication principle.
So Netscape was already a rocket and I passed a chance to go there in 1994.
I knew the founders because I worked at SGI Clark's company.
Because you buzzed for a second in Nets nest cape one was the launch of this rocket would
94 was the launch of an escape and I went there in early 95 in April okay
But also you said you missed the launch well
I missed the the end the first floor employment opportunity
But the IPO was was August like 95 so I was there for that how obvious was it the nest cape was like world changing
What was the layout? Was Netscape
one of the first big browsers? Yes. So when I was at Micronunity still in 93, we saw
a browser called Mosaic. And up till then we'd used email and we'd used use net, the NNTV
protocol. We'd use newsreaders. We used FTP. We used all these old internet protocols,
all relying on the DNS and TCP IP and UDP for that matter.
When I was at Silicon Graphics, we brought up the whole stack, right?
We had to discover 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 DeckNet, and all these other protocols.
We're saying, we're going to do it. It's going to be a heterogeneous future. Instead, it was
Berkeley Unix and the TCP IP stack that dated back to the ARPNet, the one. I think we knew it.
We all knew it at SGI, but the salespeople didn't. They kept trying to get multiple network stacks interoperating, but in the end, it won.
And so that was the internet.
And it was email and texty.
And it was used and very texty.
And then Tim Berners-Lee did this 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 emails,
when it pushed back to 89.
But I noticed a mosaic in 93, because one of the things
that Mark and Drisyn and Eric Bina did at NCSA was they
innovated on on the
HTML, early HTML standard they in particular marks sent to see me saying hey everybody we think you should be able to put an image in a page
And you know when he sent that Eric Bina had already written the code and you know
I talked to Tim Berners-Lee me more recently just a few ago, and he was like, oh, we had another way of doing it.
And I 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 of
vantage and being fast, getting on first mattered a lot.
And so Richard Gabriel of scheme and poetry fame
has written about this, the famous poetry.
What's poetry? Well, he's a poet. Oh the famous country what's poetry what's the poet
actual poetry I thought it was a
kind of something no I mean he's a founder of Lucid which is where Jamie
Zawinsky worked before in that'scape and Lucid was doing you know
compilers and Lucid Emax which was a fork of Emax
famously Jamie fighting against Richard Stahlman Stahlmax
and so Richard Gabriel you know very 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, J.
DeBioCato, 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 up being framed as Unix and Lisp.
Good news, bad news,
because all the Lisp people, the MIT people were like, oh, you know, this is the crown jewel,
right, scheme, this, this pepper j 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,
Debarro from the sopranos, those, those picks down at Bell Labs, that they're just, you know,
there's nothing sound there, it's all hacking.
Well, guess what one.
Well, so you're saying this is a fundamental principle of the internet is moving fast winds.
You could say in almost any network system, biological evolution, you see successful
allele sweep populations and they don't always have, you know, they aren't free of flaws,
they're heterozygous advantage, right? You can get both parents give you the gene variant and you
get sickle-solonemia, right? But if one of them does, you're more resistant to malaria. And so this
isn't a beautiful process except at large scale and then you realize that because it moves fast
and can adapt, it can win.
And people still struggle with this.
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 preserve what still works.
You don't want to break ATP, metabolism or whatever.
So you have to kind of resign yourself to the reality of,
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.
People will say, oh, it's not because I'm 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.
And it would have been bad.
So that's a good way to present the alternative.
But so it was a Netscape and you have written it
how many days and why was it
only that many days and what was the goal and 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 net scape.
It was known that Jim Clark and Mark and Vierce were founding net scape and they did the first
release in 1984. That browser took over from Mosaic.
In fact, that's why Mosaic is called that.
It's the Mosaic Killer.
It's like the giant monster that kills Mosaic.
That's awesome.
They knew that, 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 the last iteration on the browser market, which had images
and other affordances before you stopped working on it.
And you're making Netscape,
the new thing that has images, plug-ins,
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.
But yeah, yeah, yeah, yeah.
HTML tables, that was new.
Eric Bina did tables in Netscape 1-1.
So when I got there, they were heading toward IPO,
Clark wanted to IPO early.
I think his instinct was right.
And that kicked off the whole .com era, right?
There was a recession in the US in 91.
You can see old law and order reruns
where they talk about their recession,
how hard it's hitting New Yorkers.
And after that, Green Spannerly goose things
at the Federal Reserve and technology
had been sort of fermenting in a way that came together with the internet. And that's made it possible to do
pets.com, to do eBay, to get people to recognize that you are all on a billboard and then type it
in when they get home. And that was huge. That was so fast moving a rocket that
Mark and the engineering team there thought we need to make this a
programmable browser, not just a document viewer, not just a video.
It was all HTML with images and tables and also like you said frames and
plugins. There's no dynamic element at all. Yeah, the most dynamism we get was from a plugin,
which there are a few of them then flashed and exist at that point.
It was, I think, Javaapolis, 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, Guy's dealing, Gerald Susman's beautiful
list variant.
I was gonna 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 scheme, you like scheme. And I'm like a hard labor use scheme. It's not really used in industry, except in sort of silos.
But I like it.
OK, I'll come do scheme in the browser.
I have a slide from my 2017 talk where I have Bruce Wolles
crawling through the duct and die hard.
He's like, come out to the coast.
You'll love fun.
Come on, do scheme in the browser.
But when I got there, there was no scheme in the browser
because they'd started to deal with sun micro systems. And my best contact there was Bill Joy, who
admired us a Berkeley Unix founder and you know, sun founder, and Bill got the
idea of making the browser programmable too. And so the idea, it made an idea was to
put the Java VM, which at that point was not really easy to embed into
Netscape, including the Netscape version of 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 Internet Explorer, I
guess, 2 at that point, 3 the next year. They already bought or invested in somehow spy
glass, this other company that shot out from NCSA,
at Universal 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 Jim Barksdale and Jim Clarks had get out of here
in the pound sand.
But then they realized, oh, this is going to hurt us
because now they're going to copy us.
It 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 compuser path, a project called Blackbird, presumably after
the S7D1.
I don't know.
But they were going to make a dial-up service
with a custom content language stack and custom rendering.
It wasn't the web.
They could have content partners.
They have a lot of money.
But it still wasn't the scale of the web.
It wasn't going to be compelling.
And Gates realized this, and he turned the company
around a dime, and they couldn't buy Netscape.
Again, I'm not sure the timing still
they decided to copy it. And once we realized that everybody in Scythnetscape 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 compiled,
is a compiled language. It's evolved and improved quite a lot since then too, but it was for sort of a serious
advanced program was the cost of certain salary or hourly rate.
And people observed, don't join observed and Mark Andreessen 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 over, killed JavaScript, that you need two languages.
One is for the component writers who are higher price and more expert, and the other is
for scripters, certified public accountants, designers, graphic designers with some programming
inclination.
Anybody, amateurs, doesn't matter.
There's a much more demonic 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 Bill Joy and Mark and Vincent and I,
we saw the need for companion language.
And the Gleemanar, I was to call it JavaScript,
but I didn't like it, that was Marketing's plan.
Mark called it MOCA, which I liked. And that's getting marketing, I think, didn't like it, that was marketing plan. Mark called it MOCA, which I liked.
Netscape marketing, I think, didn't like that.
So they said, oh, there's some trademark and some software that uses MOCA, 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, but the work I did to prove
that it could be done was important because I came in in April and
Even then that escape 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 H11
So I was actually I had done protocol work at Silicon graphics with Greg Chesson for Bell Labs
intern grad student intern who knew all the Unix founders. Greg was very interested in taking
protocols to the next level with VLSI because he thought that CPUs wouldn't scale up. He was
mistaken in that, unfortunately. More is a lot more than kept up, and you have 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 came into Netscape to work on the server site for a month,
but 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 hyper talk, which is Bill Ackinson's language in hypercard,
if you ever used hypercard on an early Mac.
And I thought, 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, does it mean like,
what management do they understand what they think about it.
But management did like Rick Shell would be, if you've been doing new, 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 in the JavaScript.
You're going to want the primitive types that Java unfortunately severed from objects. So at least some of them number double let's call it in JavaScript terms from the C term for double precision floating point or strings or bullions and objects. And so right away, there was this constraint looking like Java,
I mean, kind of a C curly brace syntax,
but also some of the data types and objects.
Like objects and so on.
Yeah, I thought it'd call it.
Comparison operator, all the time.
Garbage collection, all the time.
Yeah.
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 said if you want to do unsigned operations, use an
operator. And that turned out to be important much later.
I'll tell it a 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 want to scheme a little bit of scheme, even though it
wasn't as clean as scheme.
I wanted to.
You had a love, sorry, it's your job.
You had a love for scheme and list, but that that that functional language.
The last case.
I wanted first class functions because I saw the need for callbacks in the browser where
you're, 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 these interface.
So you have to use a callback and run later.
And 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 downward
and they can call back, they can be called back.
And Java didn't have that at the time.
It took forever to get
proper first class functions, lamb does now into Java, Java 7 or 8, I think.
It did have concurrency, right? From the very beginning, but you were thinking that a
JavaScript in the browser would not have the luxury of being concurrent.
That's right. And the reason was Java was going to run in the plug-ins, so we could fork
threads and go to town. But the main action Java was gonna run in the plug-ins, so it could fork threads and go to town.
But the main action in the browser
was in the single threaded program,
single unix process on unix, on Windows.
And it was where you had to service the event loop
and then go do things, respond to the network,
lay out some HTML, render it, turn with,
into heights by filling containers, boxes,
the early, what became the CSS box model,
and run scripts to make the thing live-lear, respond to user input.
All that event-driven programming was in part like hypercard,
because hypercard had this on event names in text.
That's why you have in JavaScript on-click,
running together as the name of the event handler,
and there's some funny ones on mouse over and on mouse out. And so that's why you have in JavaScript on-click, running 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, there were 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 that is one of the reasons I think JavaScript survived and Java kind of died.
Java was in this plugin prison. It essentially was confined to a rectangle, the app with rectangle.
And while we even built a next year, Nick Thompson, friend from SGI, who was
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. That'll work. It worked, but your Java was in charge. A JavaScript was in charge,
and Java was just these components, these helper options. You might as well do everything in charge. JavaScript was in charge. And Java was just these components, these helper,
you might as well do everything in JavaScript.
And what happened over time,
it's like an evolutionary filter,
just kind of who needs the plug-in.
And in fact,
Sun mismanaged Java as a plug-in.
They thought,
oh, that's giving us the distribution vehicle,
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's killing that's K-5 years, They tried getting into Microsoft and you may remember there was a
Sun Microsoft deal, which famously blew up. 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 Helstberg's .net and C-sharp and decided we're going to just not have Java. We don't want any of that sun stuff.
We don't want the patent risk.
We don't want, I'm not sure what the all 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 webmail like Hotmail like user interface.
They had to call the mail server through HTTP and to be a webmail, like Hotmail, like user interface, they had to call the mail server through HTTP
and they used 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 and not look,
what are we gonna do?
And they said, let's just add an active X component,
which is their own native way of embedding things
in languages, and 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 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 flight information,
but Flash, which Netscape could have bought but fortunately didn't the early generally didn't yeah
We would have screwed it up. I mean what year were talking about was flash?
I think after that PO so it was probably late 95 and oh flash was around was it Adobe? No, it was no
It was called future splash and it was these brothers Jonathan gay. I think his name was he he
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 in on the Netscape
stock gravy train.
He sent them packing and they ended up selling the macro media and macro media was where
Flash was created.
And the good thing about macro media was it was a tool company.
So it invested in the best ideas, I think, which are still somewhat
lost to us a flash. The timeline animation has sort of been immutable function over time.
They had the tooling around that too. Like that dream weaver, there's a flash director.
They were a bunch of them. Yeah. I mean, yeah, 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 is, 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 and 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 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.
This doesn't feel right.
Not really.
I actually admire flashes technology.
I'm pretty pragmatic about these things.
And I realized that, you know,
it doesn't matter if your Delta 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.
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 even after that,
until I think Firefox and then Chrome,
was people kept saying, oh, the web can't do X,
can't do Y.
We'll have to have a plugin,
we'll have to have a new approach.
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 why distribution get sort of evolutionary advantage in
Priority of place, but you can also improve it over time
Yes, and so if you're gonna improve flash and for some reason flash is now at a favorite Steve jobs
said you can't have flash on the iPhone that was probably the death now put your energy into JavaScript and that happened right
So we did things and was all 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.
That's right.
I'm getting ahead of myself.
It was a program for.
Yeah.
That's that that's right.
That's right.
Can we just rewind to the magical like, you know, it's a special moment in the history of all of computing.
It's, 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 days,
it would be interesting if you could just describe
actually zooming in on the how the cake was baked
from the several days that you were working on it.
What was in your mind?
How much coffee were you drinking,
were you nervous, why, freaking out.
I'll try to remember it.
I mean, you're right, there were these pregnant moments,
you see in hindsight, maybe they're overrated,
but like, Hagle sees Napoleon on horseback in Vienna
and says there's the world spirit on horse.
And I knew that there was a chance to do it.
Mark knew, and he was my executive sponsor
and he was the one sort of brainstorming
how the JavaScript should be right there in the page.
That was important for him to say that
because 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 a breakthrough idea?
I mean, so you remarked thinking about this idea that you just inject code in the middle
of the markup.
The web page.
Yeah, I 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 HTML thing.
But it eventually came around.
And it was, again, sort of a revolutionary necessity.
It was almost like integration.
Like, you know, the idea, which,
Lim or Gouli's, I think, helped get across that we have to consider mutualism and biology
that maybe, you know, mitochondria were ancient prokaryotes that got into the cell and became
beneficial.
Somehow, the same sort of thinking applies, you have to embed JavaScript in HTML.
It's going to be a good virus.
So the code becomes data in a sense that just gets carried along.
But is there the side of the, so you were focusing on the NESCAPE at that time?
Does the browser have to support interpret correctly this mix of HTML and whatever code?
I had to hide it from old browsers including Netscape 1.1, 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 JavaScript was written, the programming language was written as a comment.
A comment for all browsers and a set of 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 out 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 that skip two were in line in the document.
What were the challenges here?
What typing, what were the choices you were thinking about
with the time to write a garbage collector?
So I just, I didn't do it first.
So the thing was using essentially arenas
or what Gnu calls obj pulls 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-1-1
and thinking about the language,
I finally got transferred to the client team in early May.
And that's when 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, and seeing that there was a role for JavaScript as the, as I call it, the
sidekick language, Rob and the boy hostage.
Frank Miller put it in the dark night returns.
That 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
stack did with Visual C++ and VisualPasic.
So what was the big moment of I'm done?
So I had to do a demo.
I forget the dates.
I think I, for a history of programming languages, paper, the Alan Wersbrock did with
my healthy, did a lot of the writing. I think it was the 10 days from like Thursday evening
through to the following weeks,
you know, the whole of that week and then to Monday.
You get sleep?
Not, not enough.
And I was really going fast because I had already used
a lot of 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, people were formalizing
more efficient bottom up grammar as parsers for bottom of languages.
Really LALR1 was the big thing.
And I studied all this and learned how to parse them.
And in the end, if you're doing
C language, you often do what Dennis Richie did, which is the recursive descent parser,
you can hand-coded. And I did that for JavaScript. In a blazing hurry, mostly got it right. I didn't
have precedence inversion problems or other bugs, but I copied a lot from job and C. And I tried to keep things simple,
like the quality operator in those 10 days sprint between two objects of different dynamic type
said, no, they're not equal, they're 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 stringized. 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 broke what equivalence relation nature
there was to the double equal.
There were some edge cases with not a number
that break that up too, but it really broke it.
Having implicit conversions in the operator is something that people still roast me over.
So let's talk about two things. One, it sounds like the comparison operator, the equality operator,
is the thing that you regret. So maybe you can make 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 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 sloppy or add this cute feature,
the answer should be no.
And I should have known that because I think Nick Las Viert, one of my heroes, said, the
essence of design is leaving things out. 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 and time that people
weren't running out of memory right away on long live JavaScript.
What happens when you don't have garbage collection, you have objects?
Well, you just run out of memory.
And you know, at first you write a short script and it hates
doesn't last long or it doesn't do a lot. It's okay. Oh, I see. 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 1985 and people were like, what's going on? I said,
oh, yeah, I got to go back and do reference counting. And then the 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 is before things like
non-executable heap memory
and stack defenses against taking over memory.
So if you can, from the remote side,
write some HTML and JavaScript
that just happens to exploit a bug in memory safety,
like it causes JavaScript to underflow 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 up the ante,
Java had this problem too, but in its own VM,
and it just was, you know, a separate headache
for Sandoori 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 collection through through reference counting really I 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 days?
I think the first class function shines. I think especially since job
I didn't have it and it was somewhat unusual.
So, skim made it in somehow at the end of the day.
I mean, people complain because skim has minimalism.
It has six or seven special forms. It has hygienic macros.
It has call CC. It has sort of a beautiful, complete set of forms to make the land of calculus pleasant
to use in practice. And JavaScript is, you know, kind of multi-paradigm or shambhal like.
Just a small tangent. You mentioned Mark Andreessen. It sounds like and 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 talk about what role Mark had in your life?
Yeah, we would meet at the Pints Look Creamery in downtown Palo Alto.
And Mark was just fresh out of, you know, grad school or whatever he was doing.
And he was big dude, and he got fitter later.
He had hair, he would order giant milkshakes and burgers.
And we would meet there in brainstorm about what to do.
And it was very direct because we didn't that much time.
The sort of, we didn't talk about it,
but the implication was Microsoft's coming after us.
Mark was saying things boldly,
pre-ipo like Netscape Plus Java kills Windows, right?
This is ambitious.
Make a browser programmable,
it becomes the new runtime for programs.
So meta-OS, it's their placement OS.
But he still saw value in JavaScript.
Yes, even though he was saying that
and Java was the big name,
hence the trademark license,
he saw JavaScript as important.
And he even thought,
who what if we got,
I told this in other reviews, I can say,
he thought, what if we had my friend,
Kip Hickman, who had been at Netscape
from the beginning and who was a Colonel 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, JavaC,
which Arthur Van Hoford written, very nice code,
was all written in Java,
it was self hosted or it was a little bootstrap.
So we could use that as soon as Kips, Java VM could run the bytecode from the sun, JBM running
the self hosted compiler to emit the bytecode.
So once we could bootstrap into Kips VM, we wouldn't need sun and Mark was like, well,
maybe we can just ditch Son, we'll have
Kips, JVM, we'll have your JavaScript VM.
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 the same demographics or three-dimensional.
Even SGI had already started its downfall because the first four to 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 big
and quake. And so we were all playing quake. I was old, so I was terrible. But why not put
that graphics capability on the web? And in fact, it finally happened at Mozilla with Firefox
area with Vlad Vukicchavitch 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 is whole lineage of graphics libraries or really graphics languages for what became
the GPU.
And Mark was sticking ahead.
He's like, we need graphics too.
And I thought, okay, I can try to get somebody to end you at SGI, but he's a grad student
at MIT.
He was studying at the Barbara Listcoff.
He laughed when he heard about this later in Ramayas.
He's at Cornell, a long time,
thank you, full professor.
And Mark said, great, well, get him out.
I'm not sure he's gonna come.
Well, throw money, you know, we'll stock options.
We never did it.
And they did the Sun deal,
so Kip, nobly put aside his own JVM,
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 being controlled by all.
Maybe you can speak to this dance of netscape versus an explorer.
You've thrown some loving words towards Microsoft throughout this conversation,
but that's a theme with Steve Jobs, that is similar to commentary. From a big philosophical
principle perspective, can you comment on 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 occasional copying
and that that's kind of stuff?
Or is it, is the world worse off
because an explorer exists?
So I'm going to segment this into historical errors
because I think Microsoft is today with SOT,
it's quite a different company
and what they're doing with edge is different.
But back then, 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. He's no taste. You can see this. Apple at the time had beautiful typography and
the caricatures and kerning and the fonts look great. And Windows had this sort of ugly system font
that was carefully aligned with Pixel
so it didn't get any likes.
What is it I'm sorry to keep interrupting?
Well, why was it in an explorer winning
throughout the history of these competitions?
Distribution.
Distribution matters more than anything.
And this is why even now we're seeing
the browser worse edge doing better
because it's being foisted on people of Windows.
We have Windows 10 boxes at home.
We have some Windows 7 boxes we are laptops we keep running to because we don't connect
them to the internet generally.
But once you have that operating system to hold, you can force edge.
And Apple did it with Safari too.
It's not unique to Microsoft.
That's sad.
By the way.
And that's why I think I was unique to Microsoft. That's sad. But in the way, this is the matter.
And that's why, I think, I was going to win.
And that's why everybody at Netscape felt we're doomed.
This was something Michael Toy and Jamie Wittsick were doomed.
But for a while there, we had a chance, and we innovated in Netscape too.
We met the big platform push Java and JavaScript and plugins, more plugins, and, you know and more HTML table features.
And it really started making a prayerable stack out of what were pretty static web languages.
And even in the beta release, the NetScape 2 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 and Image Gmail.
So people saw that, I mean,
even then they saw it.
That's kind of, I don't know,
but from my perspective, that seems quite brilliant.
It seems like really innovative
that you would have code run in the browser.
It did impress me with something,
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 fore in Netscape and that culminated
in Mozilla, where you're dealing with developers all the time and early
adopters, lead users.
But lead users helped to improve JavaScript, even in those last few betas where I can hardly
change things as under pretty rigid change control.
So we're talking about just a small collection of individuals that are just like up front
deals.
Guy named Bill Dorch, you can find his work in the Web Archive, still from 1996.
It's a single page application.
It's an artist gallery of mountain art.
He's JavaScript.
Doesn't quite work.
He uses JavaScript locally.
He's 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, if you can do sort of a big sweeping progress
of JavaScript?
How does JavaScript changed over the years
in view from those early 10 days with a quick addition of garbage collection and fixes
of our own security?
How has this evolution that now it's taken over the world?
It's been a bumpy ride because the standards body got shut down after Microsoft, I think,
took over the web and then felt punished by the USB Microsoft.
And I trust case. Can you speak to the standard body? Microsoft, I think, took over the web and then felt punished by the USB Microsoft antitrust
case.
Can you speak to this antibody?
Like, that was a fun ride too, because Netscape had taken the lead with the web and HTML
innovations like frames and framesets, tables.
And the W3C was sort of off even then sort of an SGML land heading toward XML, Lala land.
I'm going to feel a little harsh on it.
What's SGML? SGML was the precursor of Markup language to HTML, or sort of the more extensible
standard generalized Markup language. It was a XML-like
pointy brackets, but it had all sorts of elaborate syntax for doing different semantics.
And this is why I think TBL and others who wanted to do the semantic web
then took XML forward.
But they had this, 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.
Worst 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 XML was in its standard form super strict
and could never have admitted 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.
So they kind of bastardized it to make it popular and usable and accessible. And so XML as a pure,
you know, thing was never going to take over.
The W3C was not fully functional because Nest
Hapes wasn't cooperating with them.
We thought about where to take JavaScript.
We realized our standards guru Carl Cargol 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 insisted on.
They said Microsoft, we can't use your operating system
without some standards.
And Microsoft said, you know, here's our docs.
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 just one capital E now with a lowercase CMA.
Right.
And as 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 ECMO script.
That was the standard name because Java was a trademark of sons.
They were so aggressive,
they were sending cease and des assist letters to people who's middle
European heritage meant their surname was Javanko and they called their website javanko.com
and son would send them a letter saying you're using JVA at the start of your domain name,
you must season to assist.
I love marketing more than anything else in this world.
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. Oh, right.
Books. So I mean, when you're referring to as 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
Yeah, it doesn't match the years perfectly. Yeah, so so what what what were the choices made and how did JavaScript evolve here?
so we took this this new standards body which had we thought sort of a
proven record of standing up to Microsoft.
But Microsoft sent a lot of people.
They sent some people who were pretty good.
And then when they realized that I was there and Netscape was not going to just bend over
and do whatever they wanted, they sent somebody really good.
Here's a smart guy.
He did a lot of work on the first draft of the spec.
Sean Katzenberger, he's left Microsoft.
He even did what I sort of did.
He told us bosses, stop 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 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.
Depending on their market power, they interoperate where you have agreement and where they don't,
the dominant one usually sets the de facto standard.
And then you should probably reflect that into the dejury standard.
And this happened with JavaScript.
Over time, it's 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 ECMA's European and IBM and others were there.
Mike Kowalsh on IBM Fellow was a Britisher.
And the guy who ran ECMA at the time,
Jan Vendentbel was quite a raclontur and a very fun guy.
And he had us out for the great,
you know, freedom air, the booyabays and things.
Was the standardization process beautiful or painful
that those early days you as a designer of the life?
It was painful because it was rushed.
Now, Guy Steele was contributed by son.
So even more than Sean,
you had this giant brain Guy Steele helping
bringing some of that scheme magic.
He even brought Richard Gabriel for funding.
Richard wrote the fourth clause of the Aga 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 were some tension where I was fixing bugs
and I was late to a meeting in Sean,
Katzenberg or 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 and 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. But we were already
laying the groundwork for the future additions
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 was to lead the DeGerry standard
and I was putting in 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 the shift
and all that kind of stuff.
And you could say I was standing out of the shoulders
of giants, so there was a staged process
where I had to hold back things that were well designed
by others and other languages that I could imitate,
but I couldn't do them all in the 10 days.
So they came in in 1996 and 1997,
and they came into the third edition
of the standard, which was finalized in 1999.
But at that point, Netscape had been sold to ALL,
and which was a decent exit considering,
and 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 underpricing 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 in antitrust law.
And they were doing even more brutal things.
There's a famous investor.
He did very well on Google.
So he's a billionaire, Ram Shrewd Ram.
He was sales guy, head of sales at Netscape.
And he got off the phone looking ashen-faced after a compact call 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 a sub there, there's some bullying going on. It was totally
in material in the Netscape. But, but JavaScript escaped into the standard setting where there was
fairly good cooperation.
Microsoft had a really good guy on it and Geistiel was there for a time and there was some
good work.
But after the antifress case and that escaped kind of dissolving into AOL and not really
going anywhere quickly, Mozilla took years to really bring up 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 Kingdoms,
and another MIT grad, Baltimore, Horwatt,
very big brain, and still at Google, I think,
he won the Putnam in 86.
So he's, you know, very math-matter-jit.
Yeah.
He designed this successor language, JavaScript 2,
but 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 ActionScript 3.
Which is.
ActionScript.
Interesting.
And then Flash, of course, declined.
And so how do we arrive at ES6 where it's like there's so many where everyone okay
There's this history of JavaScript that people were 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 married sucks is they just want to get let let off some steam
Even though everyone uses the language. Yeah, but ES6 everyone. It's become this like
and though everyone uses the language. But ES6, it's become this 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 ECMO script
that were supposed to fold in some of these old JavaScript
two ideas that had come into action sort of three.
So you look at the family tree and you see these forks
and the main ones are the ones that go into Adobe Flash,
acquired from MacroMedia, and the one that went into the
service side of Microsoft's stack, which kind of died, and, and the one that went into the service 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 mothballed, but all the good parts that everyone liked made it into ES6.
And so that was a success. And I said earlier, I had the wrong year, I think it's 2015, so it's
off by four ES6. Yeah, it was done finalized in 2015.
It took a little longer than we hoped, but 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 promised not quite true, but they added a bunch of interesting APIs,
Alan Wersbrock, my co-author of the Hobbit paper.
And he was at Microsoft at the time.
I ended up hiring Mozilla.
He wanted to get the Mozilla and keep doing the sort of
editor job of the JavaScript standard, ECMO script.
And when we got ES6 done, it was little late 2015 and we switched to year
numbers. So people still call it ES6, I call it ES6. But if you remember, you know, off
by nine plus 2000. Yeah, I mean ES6 is such a big job. I mean, like you said, the
third connects all of it, but ES6 is one that's like, became this language that almost feels
ready to take over the world completely.
We're programming in the large features more.
Yeah. Features you need for larger teams.
Yeah. And it software engineering.
Microsoft did something smart too.
They anders and company Luke Holman, who's left Microsoft also, did TypeScript.
And they realized something I think that Galad Brock is also popularized and he was involved
in Dart and 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 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
worrying success for Microsoft. What do you think about TypeScript? Does it add in confusion or is it ultimately beneficial?
I think it's beneficial.
Now, it's technically a super set of JavaScript.
So, of course, I love it.
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, learning how to use them.
Microsoft's had to look around corners at the standards body and
guess how their version of modules or decorators should work.
The standards body then may change things a bit.
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.
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 isn't Google standardize its stuff?
So you think it'll continue being like a kind of 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 parameters and return values and variable
declarations. There're cast operators.
You want that syntax to be reserved and you want it to work the same in all engines.
This is where ideas like Gildod's plugable type systems might be good, but then you could
create the same problem you have with the list and scheme where there's a bunch of macro
libraries and they don't agree and you have conflicts between them.
But plugable type systems could be one way to standardize this.
What do you think about the giant ecosystem
of frameworks in JavaScript?
It feels like, because, I mean,
this is a side effect of how many people use JavaScript.
A lot of entrepreneurial spirit,
like create their own JavaScript frameworks.
And they're actually awesome in all different ways.
And that, this is an interesting question
about almost like philosophically
about biological system and evolution and 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 thing.
John Rezeg made this library.
It was sort of query and do and blended CSS selector syntax
with JavaScript sort of object graph or DOM query.
And made it very easy for people to do things almost like they
were learning JQuery as its own language,
domain-specific language.
And I think we're fluctuating 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 were very object oriented
and were even procedural.
They were very kind of verbose.
And it took like a constructor call
on three different, you know,
the Oki-Poki dances to do something
where it's just in JQuery, it's just one line.
Right, so that fed back finally into the standard.
It didn't, it didn't
mean we standardize 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 effort that things became simpler. The fetch
API and the query selector API, document query selector, a lot of things can be done now in raw
JavaScript that you would make more concise and terse in jQuery, but it's not bad. It's pretty good. Whereas in the
old DOM of 15 years ago, it was just super roast.
Maybe the frameworks were born because JavaScript lacked some of the features of jQuery. Now
the 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 service 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 an XML,
LALA land,
when we were doing real JavaScript standards in ECMA.
And 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 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 logic model
didn't really get standardized until HTML5,
when we pragmatists at Opera at the time,
Ian Hickson, who went to Google, Apple,
and Mozilla said, let's, let's, XML is not going
to replace HTML. HTML 4 is too old. Let's standardize HTML 5 based on all this good stuff,
including that DHTML variant dynamic HTML 5. It feels like to me, maybe you can correct
me like a beautiful piece of design work. It was, it's not often with web stuff. You have this breath of just like,
oh, whoever did this is, they fit, it just feels good. Is that what are your thoughts about HTML?
Is the, am I being too romantic? A little bit, are there flaws? Fundamental flaws to it that I'm
just not aware of? My old friend Hixie did a great job. He was another Renegade Physics student.
And he was basically a QA guy at Opera,
but he obviously, a trained physics student
and someone who could write, a Britisher.
He developed test suites, and he started
thinking about them more axiomatically.
Now, this can be good because you can sort of system
as high as in a way that makes a better HTML. or you can get caught in the pragmatism of saying,
well, we have to handle all 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 lives. Everyone likes to
minimize along their preferred dimensions, the seven special forms in scheme or whatever. But
the seven special forms in the scheme or whatever. But reality is, HTML needs to be big.
It's kind of shambhalic, it's a creative multi-paradigm.
And Hixie did a good job, I would say, with a bunch of it.
Other people came in in the spirit of Enixen to do HTML5 work.
And they've carried on that effort.
And 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
simple syntax like the FETJPI instead of XMLHTP request.
Video too as well. It ultimately feels like maybe you can correct me. It feels like it was the
nail in the coffin of flash. Steve Jobs saying no flash on the iPhone in my opinion was the actual
that's a hard but but well 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 flashing main browsers.
But jobs really did the death blow and yeah you're right we had to make HTML5 competitive.
I still don't think we got that beautiful timeline
Animation the timeline things you like the time. I mean me from a 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 comment on that but to me it was a little bit like go to statement like in a sense that
There's a little bit like go to statement, like in a sense that there's a little bit to chaotic.
Like I didn't that OCD part of me as a programmer wasn't satisfied by flash. It feels like those bugs that were introduced through the animation process that I couldn't debug easily.
Yes. I heard that too. I didn't use it. So I'm doing the grasses, greener thing here.
Yeah. The thing about I liked about the animation model was that it was this immutable function of time.
So you could time warp and you could if if you dodge these bugs or work carefully,
you could really make it sing in ways that I think still a little challenging with the
web animation standards, but are just using raw canvas and webGL. But there's so many tools
now that maybe it doesn't matter. And yet we had to do video, we had to do WebGL and then evolve it.
We had to do Web Audio.
But once we did all these things that helped flash Die, thanks to Steve Jobs, we had something
that people didn't realize.
We had that vision that Mark and Jason have this graphics capable to the metal
portable runtime. And we at Mozilla realized this and we saw
JavaScript was something that you could compile to us. Adobe had somebody in the Adobe labs
doing this too. He had a project called alchemy. We had somebody who's not Google
alone, Zakai, who did his own LVN based compiler that would take C or C++ and it would emit
JavaScript.
And you would think this is crazy.
You're going from this sort of machine type slow level, you know, control memory allocation
language to this garbage collected dynamically typed high level, higher level language.
But alone sort of just phenomenologically carved nature of the joint and found the
forms that were fast in JavaScript.
And then with Dave Herman, who I'd recruited from North Eastern University, who was a type theorist,
and Luke Wagner, who was still a muslim, who was the compiler guy and the jet guy,
they figured out how to codify what Alon 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.
It uses those bitwise operators that I talked about copying from Java to basically cast
numeric types, which are double precision flowing 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,
and 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++ code that you're compiling. And you can make the epic Unreal Engine go in 30 frames a second.
the epic Unreal Engine go in 30 frames a second. And when we did this in 2013 in the fall,
Tim Sweeney and I met, didn't think it could be done quickly
thought it would take years.
And the team went to Eroly to Epic,
and in four days they had Unreal Engine ported
by pressing a compile button.
But they had to have WebGL, which came from OpenGL,
yes, it came from OpenGL, it came from Silicon GraphicsGL.
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.
But they could make it work. And they had to have Asmj asked for fast C++ to JavaScript.
And 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,
this must have been fall 2012,
and I think about it.
Because we demoed it at GDC,
game developer conference 2013 2013 and people were stunned
That's like unreal engine unreal tournament running in my browser window no plug-in
No flash no Java no so what those the early days of because JavaScript now is able to run basically on par with a lot of the
Like C++. 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 Galenai,
another hacked out, Trace Monkey, our Trace-based jet,
the Squirrel Fish Extreme Team at Apple, did their jet.
And we were all competing on 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 its own high-level language with garbage collection.
The AsmgS 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,
the Google Adacquired native client,
which is a separate lineage for 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 saved.
That would be awesome.
But they ended up using process isolation too. And that of weakened it and in the end it was like portable
They have client okay, you know meet the new boss famous deal boss. This is the Google flash right where yeah, but but won't when we get
AsmjS 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 gonna take what was
proven by AsmJS and make a new syntax, a binary syntax, it'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 cluster, one memory manager, one set of compiler stages, and that's called Web
Assembly, and that's the successor to AsmJS.
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, why I could have used something shorter.
I picked it because of Ock, the Unix tool.
So anyways, I'm not falling, I want to, but I'm not falling the Ock thread.
Yeah, I'm so mad.
I said, surprising to you that how damn fast JavaScript is these days.
I mean, like, you've been through the whole journey.
I know every step of the way, but is it like, I mean, it's, how, it feels incredible.
It does, but I knew it.
So the funny thing is, computer science is this big
karmic wheel, right?
Wheel of fortuna.
And in the, it's not the 97, I was loaned by Netscape
to do due diligence for Sun in their acquisition
of anamorphic, which was David Unger and friends,
people Craig, I'm forgetting his name, he went to Microsoft.
These Stanford language buffs who'd take in small talk and then David create itself
as a simpler sort of small talk language and may 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 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 dynamic language,
right? It has classes that has, I think, more lockdown declarative syntax in JavaScript,
but it's fun to make dynamic. You don't declare the types. But you could infer the 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
Polymer, like 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. And 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 Son 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 module
or package is compiled exactly what's being called,
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's amazing, amazing beast.
I've met like 13 people who all claim they created it.
I think one of them maybe deserve credit more
than others.
But I didn't get to do that in JavaScript.
And when we knew that Google was going to do the run 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, who got acquired by son.
And so Lars is like one of the world's experts on these kinds of virtual machines, and he
picked my brains out, JavaScript, and I could tell he didn't like it at the time, but he
had to do it.
And I was really interested.
Yeah, 2006 launch at Google's campus.
And then I had another friend who was Deborah at Chrome, and he said, yeah 2006 launch at Google's campus and and then
at another friend who was Devorello 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 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 do this kind of development. You know, they were learning JavaScript, including all its quirks, which they came to hate with
the fire of a thousand sons, 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 Musola, and Apple, I think, was also aware, and so they were doing their
own jet.
So the era of jitted fast JavaScript in 2008
had this prehistory going back to small talk itself
and the anamorphic.
And again, the lineage is interesting
because you had Lars at 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
I think there's both love and hate for this dance
This rich complex dance of JavaScript throughout its history. There's a dialectic for sure
There today
JavaScript is the most popular language in the world. Why by many measures?
Why do you think that is? Is there some fundamental ideas
that you've already spoke to a little bit, sort of broader, that you think is the most
popular in the world?
So I think I did, you know, by doing first class functions and taking the good parts of
the C operator hierarchy and just keeping things simple enough, maybe it could have
been simpler, but I had to make it look like Java and interoper it with Java that there
was 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 as a core
language, but in the context of HTML5 and making the browser better, listening to developers, thinking about, this is something
that Nick Thompson wrote nicely about on the Heckron years, I was very flattered. He said,
Java was this thing where the experts were writing the code and it was compiled and you had
to declare all your types. And some didn't really give a damn about the average programmer
who wanted to build real web apps, dynamic things.
I was in there, meanwhile doing a bunch of people's jobs, making JavaScript survive those
early years when it was kind of touch and go.
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 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, I'm a Mr. Sizer, nothing like the son,
or you know, the scene from Josh Weeden's film Serenity at the end where the
actual piece in the score by David Newman is called Love where Matt Kappen-Mall is teaching River
Tam about how to pile the ship and she's a super genius super solider. She knows how to do it already
and 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.
You have to love it.
You have to love it because now it people say, er, it's where stuck with it because
it got this priority of place.
But there's love underpinning that and actually the listening to developers.
That's kind of beautiful.
There's a 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 nother. 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 and this people sometimes
complain about ES6, oh, you put classes in JavaScript, I hate classes, you know, you ruined
it, but it's not true. It's an AMIC language. Small talk had classes
Python has classes There are lots of list variants that have classy systems
Concentralists
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 PayPal's and
the other such companies, 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++ buffs to follow the inner workings
of C++, what is it now?
21 and something I've lost track.
But it's a more rarefied group.
It's more like the old language, gray hairs.
Whereas JavaScript is a younger and more, you know, vibrant and large crowd.
There's a community feel to it.
There's a echoes that perhaps I don't want to draw too many similarities.
Maybe you can comment on it.
There's a C++ is like Wall Street and the JavaScript is like Wall Street
bets from the recent events is like there's a chaotic community of all
and there's some power from that distributed core
out of people that's ultimately.
It's more thematic, it's more of the people.
It lets people in without requiring these credentials.
I remember in the late 90s into the Nautis,
people were all getting Java credentials.
And I knew people and friends, new people
who became Java 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 got to make them a Java program.
Do you have some 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 with Wall Street bets.
That's like nobody could have predicted, but the scale and the impact of this kind of
emerging behavior from independent parties that could happen.
I guess at my own experience with the dismal science as with physics led me to reject
a lot of bad models.
You know, economics was almost compromised by politics,
political economy.
You could also argue that 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-neutony in the way just about.
Everything's just running by itself.
Don't worry about it.
This is not really crushing your net scape 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 know how to squeeze a short, right?
So the amazing thing is you have Robin Hood app,
which was again, supposedly for the demos, for the people.
And limited the fee through various kinds of, you know, straddles
or some kind of spread operation that helped them eliminate the fee or eat the fee. And
in fact, you know, as a broker in these days, because it takes two days to settle, there's
counter-party risk as they found out. And so the Wall Street bets people, you know, the memes are like the Terminator robot with
$600 Stimichack and hedge funds, the anime little girl hiding under the desk.
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 a USM Microsoft for a long time. And a lot of this was due to the money interests buying control
of politicians. And, you know, in Plato's five regimes, that's oligarchy. That's where we
are. And now we're seeing a fight against the oligarchs. 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, looking by a fraction of a share in this thing, right? I can keep buying with my stimulus
check. So, I mentioned Hegel, seeing Napoleon on the horse. Hegel also talked about the
cunning of reason that you have the sort of, you know, God's-y history in full. And if
you believe in God, or, you know, we don't know the future, but there's have this sort of, you know, God's-y 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 flying the ointment, this unintended
consequence that confounds the best 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 mechanized warfare, because it has been in the past.
warfare or mechanized warfare because it has been in the past.
It's more like soft power.
Yes.
And people are fighting back.
Do you think is possible? So the JavaScript used to be for the front end of the web.
It's now increasingly so being used for backend, like running
stuff that's like behind the scenes.
And it's also starting to be used quite a bit for things like TensorFlow.js. So starting
to actually use like these heavy duty applications that are using your networks, where she's
learning this one on 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
When I when we did ask him jas and web assembly I would joke and mean people with scenes like
Neo waking up in his pod in the matrix and he's all skinny and weak and hairless
and You know you realize in the future that you're living
in some simulation that it's all running on JavaScript
and you just scream forever.
It's possible, Gary Bernhardt,
does these funny talks, he did what, J.S.
and then he did this life and death of JavaScript
and I think it's called where he took some clever ideas
that actually have a thread of credibility to them.
But I mentioned software, fault isolation.
In the old days when we were using computers,
we said we're gonna use the Unix,
monolithic monitor.
And it's the privilege program,
this before 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
host, it's the guest in the host 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 call.
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, hard work of textures 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 kernel.
And so you get unicernals and exocernals and very lightweight VMs. And so Gary took this idea and said, JavaScript will take over computing because the system
call boundaries to expensive. So everything ends up in JavaScript with these lighter weight,
isolation, enforcement mechanisms. And it's not totally beyond belief.
Yeah. That's not in free web assembly too.
It's nice to ask you sort of for advice to,
there's so many people that are interested in starting,
to learning about programming,
getting into this world.
Is there some number of languages,
three to five programming languages
that you would recommend people learn
or maybe a broader advice on how to get started
in programming?
Well, so you asked about machine learning,
and JavaScript is a general-purpose language,
and it's a language that's not that great for doing 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 learn,
the amazing language is 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.
So APL had like J and then K,
and their K variants because the guy that did K is still going and he's their proprietary,
but he's still innovating there.
There are, you know, Python is used.
So people talk about 10-inch voltage as well.
It's not that surprising because Python was heavily used for machine learning.
And the 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. Pi Pi was interesting, but the philosophy with Python was all you
need to go fast, but write a C plugin and drop into C code. So I think people should look
at multiple languages because they're different tools in the battle. 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 seahacker, but I was also the sponsor, executive sponsor of Rust at Mozilla,
and Rust is now escaped from that sort of nest where it was born to be adopted by a bunch of
companies and 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 the SCAPE velocity.
And Rust is an interesting language because one of our goals there, one of the
recent I sponsored it was we were all tired of seeing those remote code execution
vulnerabilities due to the CNC++.
And we thought, can we have sort of safety property through a type and effect system, 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 delimit your unsafe code where you do have to be unsafe.
And you can prove certain facts about memory, safety, and race condition avoidance. And so I think people
should learn these new languages. I think Go is great language I admire. You know, the
Unix, people who did that, Ken Stoll was involved, Rob Pike, of course, David, what's his
name, and other people. go as a huge success,
really on the server side, anywhere you have,
you know, a lot of networking to do,
and it's garbage collected,
but it's also very pragmatic,
and has that sort of sea flavor.
As an old-sea 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, it's still young. You look at these things. JavaScript
is now considered old. It's gone to so many versions that you can fall in love with it
all over again. 25 plus years, you know, it's, it's an adult. It should be out of the
house. But it could be around another 25 years years, cannot rule it out. So, rest could
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, I'm often torn between recommending either Python or JavaScript
as the first language to play with because, I mean, it's difficult because it's so easy to do JavaScript incorrectly.
It's much easier to do it correctly these days or like, well, like learn about programming.
But the cool thing about JavaScript is that you can create stuff that will put a smile
on your face, like as a developer, you can create stuff and it'll visually look like something
and it'll do stuff. 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++, it takes five to ten years to write a program that actually
does something.
So 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 have my Python, right? It came from a lineage of ABC, which was a pedagogical language
in the Netherlands. And it, you know, 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 syntax check in Python, that's good for beginners. I think the sloppiness,
that some people object to, like people were just tweeting at me, having just learned JavaScript,
they said, I can take a number and I can index and do it and get undefined out of it as a property.
And why is that?bers are not an object.
I explain why it is because like Genjava, the primitive types, which unfortunately are
not objects, can be automatically boxed or wrapped by an object.
I made that implicit.
In Genjava, it's typed and you have to declare things and you'll get type errors.
But there are cases in Genjava where you get auto-boxing or auto-rapping because you've
declared that you want it.
In JavaScript, it just happens.
So once I explain it, I'm like, oh, wow, I get it.
But it also means that you can commit a blunder that just...
You don't get punished for you to detect.
And it's a...
You get an undefined value and you don't know where it came from.
I've been reading a lot about military history recently.
And one way to paint 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
about a lot about Netscape and Internet Explorer in the early days.
Can you tell the story of the different wars if that's the all-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 a few since monopoly, but they had a
pretty good team by the time they did IE4. And that
scape, 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, cook up and things
like that,
that that team was fairly burnt out. And I think having gone public,
the upper management wanted to buy a bunch of companies
to try to go ahead to head with Microsoft.
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 took, which is to keep
them at arm's length and let them do their thing.
And now that he's pulling what's up in and people are fleeing it, because it's tied into
the ad surveillance.
But, you know, for a while, they're keeping it separate, it really does work, because
you bought it for its value, it's complimentary, 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 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 light they renumbered
it. We did a 3 release, Jamie and a few others put some extra effort into. SecureMind was supported in the mail, built in mail program.
And Escape 4 was late and it was only on Windows at first.
And Microsoft had really started doing better, like they do.
They copy in the first version's trash.
And the second one, you're starting to feel a little 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 the default browser.
Yes.
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.
The 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.
You can be a programmer or an engineer at your 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 I for was pretty darn good.
We I remember a friend Scott Furman and I got invited by Scott Azix to Gordon Beers in San Jose.
They were doing a preview of I for this was been 1997. And Scott said, yeah, we've've got, here's the new graphic stuff we're doing.
We've got something like your Netscape layers.
We've got VML, a vector markup language.
We can do virtual reality, and Scott and I looked at each other and said, we're doomed.
Right?
Microsoft was starting to fire in all cylinders.
So I have to get an credit for that, even though they abused their market power, and maybe
I shouldn't get an credit for having the resource to hire talented people. But they did a credible job on
IE4. What really was bad was that face of the browser was ended with monopoly and perhaps due to
the antitrust case, perhaps due to regulation in Europe, perhaps just due to Microsoft not liking dealing with standardization, they let it rot.
They just abandoned it, I5, 555, I6 later, but these were not well maintained.
They had a lot of security bugs.
And so it was closed and outdated too.
Even though it was getting updated.
It was just weird.
Browser's like a mosoa and then Firefox were adding tabs, Opera had a version of tabs, and 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 I've probably had it
But like I remember I fully switched to Firefox the moment
It was I remember like the moments of first using tabs of 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, you get the groove, and you understand.
And so that timing, what year was this?
So because also as a aspiring web designer, I used table.
So we didn't mention layout or CSS as 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 it called spacer.
Gifts, spacer gifts, right?
Image is, yeah.
You would throw into space out tables.
You know, 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 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, really that year.
Five, no, yeah, I think it wasn't.
Two, three.
I don't remember.
It was a Firebird which had tabs
We had tabs the whole way so it was the last last browser it became in 2002 became Phoenix
There's a BIOS that has an embedded version of i.e. 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
So 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 gonna rename and I'm like we don't believe the Asian they used it we
hate you and then we renamed it to Firefox and I'm like oh 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 them.
So that's the second set of browser wars.
Second browser wars.
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 browser.
Windows came with IE.
IE4 was pretty good and Netscape4 wasn't that good and took a while to get better.
But the Netscape 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.
And so we did Mozilla in 1998,
and it looked like it was going to,
you know, initially just give the world
an 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.
It also couldn't have the crypto module for secure sockets, so-called or now transport
layer security.
That was an electronic munition.
We were 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 Eric A Young did what
became open SSL. It was called SSL EAY 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 male and group where program,
not Jamie Zowinsky's male program, that was in Netscape 2 and 3.
And they held it back for open source.
We didn't have a male 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
illegal entities. So most of us worked for Netscape under a separate organization. And initially,
the first engineering manager, Tom Pekwan of Netscape, was the Mosulah founding manager.
But he left pretty quickly. And he left me as the acting manager, which is more like method acting in my case.
And I did, that was my first management stint, but then someone who'd written the licenses,
Mitchell Baker, she was a lawyer at Netscape.
She was involved in the open source license decision making and national 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 encumbered code, needed some
special rights, but that went away over time.
Mitchell was always 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, and he said, this didn't work, I'm sorry.
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 in Netscape for, which was based on the old code. Mozilla
was trying to rearchitect code to make green field for developers. I 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 for elsewhere.
They wanted a less of a hairball that had been hacked
on by Xgrad 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 logic model,
has reference counting and standardized vTables,
virtual calls and C++.
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 interface.
Not tables, not HTML, but custom menus and drop downs and toolbars.
And that was called Zool, XML user interface language.
And some real talent on the Netscape side delivered
that Dave Hyatt, who was instrumental in Zool,
Chris Waterson, Joe Hewitt, Blake Ross,
and Blake was an intern.
He was like a high school aged intern in Netscape.
And at some point, we were innovating rapidly
in the Mozilla world, and that escape 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 be heading the executive,
because they didn't do anything useful.
And there was a thought you should take the escape 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 AOL bought Netscape, but a sustainability left it alone, but Netscape
didn't leave Mozilla alone.
And so in 2001, Mitchell called me up and said, I'm no longer employed.
And I was like, 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 people we'd hired through the
Mesoleaux community who were top notch.
They'd risen, you know, they came in high quality
didn't do the code and they actually were better than
the average or median hire of Netscape.
And so the funny thing was the executive who thought they'd gotten rid of Mitchell and 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 boundaries of corporate open source if you get a
project that has enough loyalty, even among the the paid staff because we had outside people contributing with people at Red Hat and if you're the
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 engine years in Netscape who didn't like Mozilla and didn't
like the crucible of competing with the better programmers.
So the project is good enough.
It will rise, definetely rise out of the...
That's exactly right.
And so we had this mosoah code base that was getting better.
In fact, I think at some point in 2002,
when we declared mosoah 1.0,
I engineered a roadmap that,
successively through similar sort of six week,
five week releases, like we all do with browser releases nowadays,
Chrome does,
and Firefox braves us three weeks. 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 other is the ability to use it. It's 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.
At that point, gotten male people to reintegrate male news,
and we had an editor or a Frace Jamel.
And it felt like a 90s suite, a suiteware.
And it felt kind of bloated.
And the people who were taking that Mozilla open source
and then adding Netscape flavor to it, we're not calling the shots right.
And they were also under AL as some a little bit and that they
said, we should probably put the AL and St.
Messenger chicklet on the toolbar.
We should put the I.C.Q.
the other messages in the AL acquired.
We should put the I.C.Q. button on the toolbar.
And pretty soon Netscape looked like a bit of a NASCAR badge
to Persian Mozilla. And that also made Mozilla more popular. the toolbar and pretty soon, Netscape looked like a bit of a NASCAR, a badge to British
and Mozilla.
And that also made Mozilla more popular.
And yet they had contrived to fire or lay off the leader and we carried on with an open
source structure where Mozilla was still, you know, Mitchell was calling sort of management
or project level shots, and I was calling
technical shots. And 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 Mosulah Slash Browser.
It was very, the group's all group of us, Ian Hicks and Asa Dotsler, me, Joe Hewitt and
Hyatt and Blake.
And they, and Hyatt was really the senior hacker.
He'd done all these things like amazing cross-platform menus through the user interface
market language.
And he knew how to do tab browsing.
He'd implemented it natively on Mac OS of the time in Camino, originally called Camera.
He'd written multiple rotations, which was, I think programmers should do. It's like the V8 team
did for those missing years when the rest of the Chrome teams like Wars V8. In fact, Dave's
wife Rebecca told me a story about
when they were at UIC, they were also
a university, Illinois grad students.
There was an assignment, it was a programming assignment,
it was supposed to do it in the semester.
And Dave's friend was this, I'm gonna go think
and I'm gonna design and I'm gonna make this,
platonic perfect form of the program.
And then I'm gonna write it at the end when it's due.
And hi, I just went there and started hacking. He wrote one version, he wrote a second version, a third version.
And the semester comes around. The friends not 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 a fifth iteration. It was great.
And so he'd done that with everything you need in a tab 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. Dave Hyatt went to Apple in 2001. He was one of the
founding Safari team members. But he was stillging about tab browsing. I think Apple at some point said, you should.
I have tab browsing.
Yeah.
But it was because of Hi-it.
Yeah.
Hi, it was quite a feather in their cap, Don Melton, who had been the engineering manager
at, for Safari, from the beginning, had been in that table also.
And so there's this diaspora of talent.
And yet, Hi, it was still kind of writing blog post 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.
It's like, no, it's not.
It was an opera and I've refined it.
So we had to replace people and we had Ben Goodger,
a New Zealander, we hired it in that scheme.
And he stepped in to be the Firefox lead.
And we also had this weird circumstance
where it all finally did notice
that net cables kind of a albatross that they bought it for no particular benefit. And
even then the ALL politics were also heinous sort of East Coast politics. I remember taking
two trips there because I was a principal engineer. And so as principal engineers got
trotted out to do dog and pony shows in Dallas, Virginia. And the the A.W.A.L.
offer management was very East Coast in flavor. And they were at that time
merging with time order, which 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 moments named Reggie. And they were they were they were
very you rather than non you or they were they were they were very
You rather than non you or they were like what's what's still men's metropolitan film the UHB
Urban oh push we what was he? They were hope oh push what they were 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 Reggie'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 gonna be synergy.
That was the 90s, late 90s watchward.
And there wasn't synergy with AOL buying that's came
and there wasn't synergy with time Warner and AOL.
But did AOL ever really work?
Was it ever really cool?
Like the same kind of fire and excitement
that 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 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 isolated continent, like some of the evolutionary biologists I
follow, make fun of the funny, large mammal, you know, marsupial mammals of Australia, how
silly they are. 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 valued cohort because they 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 odds, that decade, and then to the decade 2010 plus,
that Firefox became this incredible,
I forget when Chrome came out,
but it was in the late September.
2008, but Firefox was the sexy, cool thing
that represented a lot of the cutting-edge technologies
and all that kind of stuff.
But it was amazing.
It came with rally, and John Bethell did the first webtoe conference,
which eventually became huge, and they split it. But that was in 2004. When Firefox was out, Craigslist was
it was huge. It was killing classified revenue for newspapers. But there was just this ferment.
People starting to...
Well, could be the media along there somewhere.
Gmail was already done and it was an impressive webmail. There were others before it, like hotmail.
But Gmail is really impressive from Google and Google Maps, people started seeing what could be done. They thought, how can you drag
the map around and how does that work? And it was all JavaScript and images.
And so Gmail was 2003, 2004?
Yeah, I could actually started quite early. It might have been 2003, but by the time we
started dealing with Google and Firefox to get the search deal, which was the main revenue source from Ozilah, and still is.
2004 early Sergei Brins, one of his trusted engineer guys, Fritz 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 main revenue source for the browser is the default
search engine, which is kind of incredible to think about that that 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 owned its own browser. And other browsers may struggle to just get
this distribution, we talked about earlier. So where, and you said you figured out that Google was working on its own browser at some
point.
2006, yeah.
2006.
So would you say Firefox versus was in our 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 i7.
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 walking in and tabs, and we could have made it in
the next group of kill Firefox.
It's like, should have cut a wood a pal.
And I was right behind him over hearing this.
But they didn't.
They were slow, and the IE7 wasn't that great.
And we really got them started, I think, was Chrome.
And I talked to Larry Page in 2005, I think I said, we're talking about the Firefox relationship,
but he was also saying, what about WebKit? This was Apple's version of the old KHDML engine
from Linux, the KDE side of Linux that was used in the conqueror browser, also with Kays,
that Apple had forked. In 2005, when Apple's principles, including Dave Hyatt,
Machenstikoviex, some of my friends still there, said, we, we must stop patch bombing this poor Katie cage tomorrow project.
We should make a proper Muslim like organization of WebKit.org.
Now, it wasn't a separate nonprofit 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 Webkin?
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 browser?
Don't worry about Firefox.
You should do your own browser.
You can have your own opinion of how it should work.
And sure enough, they did.
So by 2006, we knew they'd been working on it.
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 often Denmark in the form.
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 some operating system process. And so what's going to take your tab down?
Well, Lebkit has bugs that can crash it,
but Flash was still big then, all the restaurant sites
remember, and Flash crashed a lot.
So the demo that I heard about my friends,
X-Netscape X-X, it was 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 bone and suddenly flash crashes. Everyone expected
the whole browser to go down. But instead, you got this little sad face on the tab. And
you could reload it. And there it is again. So this was an improvement. It was a real move
for security. It was based on a company that is called Green Border. It had some really
big brains like Old Far,
Erlingson, I think was involved
and they had done some exotic security stuff
but they ended up simplifying it
to this process isolation.
And it was good.
And Firefox didn't have it at the time.
So we were still struggling with 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. We were still
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 at 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 and everyone's internet explorer or even Firefox
on Windows to Bing from Google. Microsoft wasn't, I think, ready to dare the antitrust cops
that way, even though they gone to sleep. I don't think Bing was ready either. But just in case it happens, 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 desktop search,
or searching your local files, Kind of like that's right.
Mac OS Spotlight.
Right.
Sadly, died out of it.
They all died.
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 8, 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 good for Sundar's career and it was good for
Google but it never came to pass that they had to defend.
Microsoft was still slow and by the time they saw
Chrome come out then they did what would have been IE9.
Then they said we're going to have a fast JavaScript engine to
Chakra, Chakra Core, and they get 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 search engine. That's like, I mean, you're partnering with somebody with a search engine.
Yeah.
With Yahoo or with Google or so on.
They tried Yahoo.
That was unfortunate because I think even though Marissa Mayor talked about it, she never
pulled it off.
They never restored the search team that had been laid off.
I believe Carol Bartz was running Yahoo and Carol said, I've got to get rid of one of
three expensive things I'm going 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, Yahoo,
like mid-December 2014, but the users said,
what just happened to my Firefox?
And others didn't notice right away but over time they did. mid-December 2014, but the users said, what just happened to my firebox?
And others didn't notice right away, but over time they did.
And so over the next year, the traffic just went away for Yahoo.
And yet they were obliged, I understand it.
I don't have, I don't have, inside knowledge, but this is leaked out.
And Danny Sullivan's written about it, search engine land.
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.
This shows how defaults are important, but they have to be good enough that the user doesn't
override them.
A lot of the commercial value in popular apps is what are the default settings?
What is the default search?
Oftentimes, there are some things, like you said, if there's something just like you said, I mean if there's something compelling
That's also can beat out the default like tab browser and so on. Yes, and that's where I mean
Talk about brave browser. It feels like now we're in this third
stage
where there's
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 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 $3.
I'm paying $3 for privacy.
Some people think of VPN does this and are disappointed when it fails them, but often
people use VPNs for region unlocking video or getting the SNF.
Exactly.
But privacy is not a unit
very 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 is 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,
if you don't want them to, turns out Safari does keep them around between shutdown.
But the canonical model is no local traces after you close the private window.
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. But there's still some level of tracking. There's network 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, I had that early on. They also have a cookie blocking policy
that might take a little bit of 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 bav.com or something like npr.org.
Every site can store some information.
A cookie, every time it's contacted by the browser,
the previous version is sent back,
and in response from the server,
the cookies 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 retype 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,
you didn't have a cookie, you'd be logging in again.
Yeah, every time you type in the list.
So that was a great thing of a cookie.
So Lumeontually did it in a hurry in 1994
before I joined that 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're tracking because that image server can be serving
a little one by one pixel and they still use the word pixel on ad tech.
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,
and I'll put a database entry in.
And I see by the way, I always fetched
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.
I think Lou wanted to do Twinkies, he called them in.
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 engineering manager said, nope, no twinkies, just cookies. We're done. You're
done, son. And that's how a lot of that stuff was. That's how JavaScript got frozen like
a flying amber in some ways with that sloppy equality operator that I made because it really
adopters. And the cookie got stuck with this tracking hazard. And then because JavaScript
can be like images,
they're embedded in the page.
By the time of 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 depended on these accidents of the 90s,
these unintended consequences. Well, I created some of the richest companies in the world right?
I mean, is the social media all I got was t-shirts.
All I got is this crappy t-shirt. Yeah. I mean, 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 self- media has created and they're looking at like a world we're looking at itself in the mirror and seeing that privacy is
actually something, it's 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. as part of our tooling and that's where the brave browser comes in and I suppose others
as well, applying this idea of a brave is at the forefront of that. So maybe can you describe
what brave is and what are its key principles and 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, the JavaScript that can do it invisibly
now, that all this stuff wasn't intended and that Firefox had supported extensions that
block some of these things. I thought probably we should have browsers just block some of these
things by default. These were non-tended and they're now unsafe. They're tracking you. There
could be data breaches, malware distribution, bullying
and siops and other attacks on people. Block that stuff. Block that JavaScript. I'm Dr.
Frankenstein about to do the monster here. But obviously, you go to Gmail. There's
so much a 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, you know, great, great mindset, go like, 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 Safari came out, they said,
we're gonna block cookies that are from
those third party embedded elements
where you've never visited that site before.
So I'm gonna pick an ad company that got sold to AT&T
so I'm not picking on anybody on fairly 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 were 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 appnexus, that cookie would not be set.
And that was a real move for privacy early on when Jewell's was 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?
So App Nexus 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 AppNexis and we'll redirect the landing page.
And by doing that, they set up 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 to it. And so when I say machine and human learning, there's a real set of techniques here.
They have to fight fascinating problem.
Things are printing, 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 four billion numbers,
you can make an identifier.
It's called a super cookie sometimes.
It's a, they're 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 and by default, by design,
from the get go, not add it as an afterthought
or go hog wild with new web APIs
to add a bunch more local storage
or fingerprint surface area. And that's been a struggle too because, guess who's the new Microsoft
and the standards body? It's Google. And they're not in favor of privacy first. They want to do
privacy their way only under, I would say, market pressure. But with Apple and with Brave leading the
way, we block third party cookies, almost without exception.
So we just block them.
And that gives us a very strong privacy benefit.
But it also means some sites just don't work, right?
Embedded YouTube videos might not work, right?
So we're adapting in a 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 partition each site
and it's third parties into its own sort of cookie jar.
Got it.
And like you said, is this both like a human fine tuning issue
and the machine learning problem?
So it's a humans learn and then they train the machine learning.
But maybe Google side or including Google, there's millions of dollars if not be billions
of dollars to be made from fighting the ways of brave.
That's right.
And it's been an interesting change from when we started in 2015.
When we started, you know, ablocking extensions, ablock plus was one of the big ones that started in 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 ablocking built in, an
on by default.
So a page fair was a startup and they measured ablocking, and they tried to say,
hey, publishers, you're 30% of the visitors to pitch fork
or wire 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?
And you're three sevenths.
Well, that's easier than done.
And Page of Shfair and others source point
that many others tried to either smuggle ads
through or control the user into letting ads appear.
And it didn't really work.
And meanwhile, the ad blocking adoption
has just continued intelligent tracking prevention
Safari in 2017, brave from 2016 on
with very strong cookie blocking and other protections 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 some economics that helped the user and you that led to the basic attention token that we started a 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, your ad blocker get out of here. I hate you. And by 2017 or
18, it's like something's happening. The ad blockings not stopping and we're
all getting sort of pulled on the 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 offenders we use are permitting ad fraud and so a fake New York Times is getting paid by the marketer running an ad that
A bot clicks on and the real New York Times is supposed to get that doesn't get it
And there's something really broken about that kind of system. And that fraud is mediated through Google's ad exchange, which is the biggest thing of them all. And
Google takes a fee. There's a flip side of that, which is malware distribution, malvertising,
where fake advertisers put malware payloads in or low exploit-hit 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 gonna say
this is a rico-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 Braves,
as opposed to just fighting in and being treated
like an ad blocker, you're providing an alternate,
there's a philosophical idea here that might change the nature of the internet with the basic attention token.
Yes.
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 the crumbs 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 I have to shoot you in the head.
Yeah.
Done your job, sad but true, goodbye.
And what can we do?
And I think this, most of all all 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 runtime for ad tech JavaScript,
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 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 foreigners and Google's among them.
And so if you block those scripts, you break 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 publisher isn't going to sign up the user except it's a subscriber
and then they're going to overcharge you because they want you to cross-ubsidize all the content
and buy more than you read and all that stuff.
And how many people are doing great who are big names like New York Times and
The 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 done a small tangent 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.
And I had friends for 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.
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 Blendall and other ones, 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 crypto currency to let
you support your, 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.
And a lot of users who were not Bitcoin maximalist
or even experienced,
we helped them out by embedding a coin-based buy widget, and they had the income to buy, but it
was hard. It was like, I'll do I buy $5 a month, but the fee is like $450. I'd better buy in larger
batches, right? And then they're like, I don't want to own that much Bitcoin. So it became 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 switched to Ethereum,
you can have smart contracts.
The Bitcoin system is not turn complete, so what you can do with the script is more limited.
But you can still do sort of clever things, 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 nexus 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 ads base,
they put in the pound and they were paid 30 pence.
70% was coming out to the intermediary vendors
they were using.
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 Super Station TBS,
the media owner would get 85%.
So these splits have become really unbalanced
and the middle players, the ad tech vendors
are taking out way too much money.
And they're doing something worse, which has been noticed.
They're letting not just the malware vendors, but also the ad fraud side,
which fakes the publishers, and clickbait merchants come in and steal traffic from good sites.
Because once you have a certain audience identified at one site, Jason Calcona
told me this about his experience with, I guess it was in gadget. I think it's right
with 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 fraud if it still dates fake news, all sorts of problems.
So great blocks it.
And then we give users the ability
to give back. And because we invented the basic attention token in 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 the Treasury Department's Fin Sen agency.
There's the Office of Foreign Assets, Controls, OFAC. There's the 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 bitcoins sending to some address,
if you're a coinbase, you're gonna have to know
who's at that address, you're gonna have to-
Actually identities of people involved.
Now with Coinbase members, you sign up and they know you
and they comply with regulations.
They're regulated money services business.
And, but if somebody's using their own self-custodal,
so-called self-custodial wallet
where they have the hardware private key
and they're not named and they wanna 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.
Yeah.
I don't know how to still play out.
I think crypto is here to stay. I don't know how this will play out.
I think crypto is here to stay.
I think the beauty of being able to send pure to pure without any bank in the middle without
any huge wire charge and two-day delay and all that nonsense.
It's beautiful.
And I've used it and I love it.
But we're pragmatists to brave about crypto and we realize 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.
We do have to identify the creators.
But as things improve, and who knows how it'll play out,
there should be a kind of day when this full vision can be done more fully on a blockchain.
But regulations and the practicalities of today's blockchain
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 endpoints 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.
I use Slack on macOS and it's like a browser.
It's based on an electron framework we use to use.
And it's just, it's not that great.
Some of the people at Brave use Slack in Brave as a browser.
Yeah, I use that often.
And I noticed on the iPad, I use apps less.
The smaller the screen, the browser got
hand-to-capped by Apple and Android both.
And it also can be slower or not have the right
affordances, the interface with the security limited APIs.
But in principle, with the right permissioning,
you can make the web browser just as good as any app.
You'll 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 wanna 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 in Google.
Google has cookie and scripts across the web from a current double click.
They have YouTube, they have Android, they have search, which is still their big revenue
layer.
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 bays, then you can match intense signals,
intense signals from those data fees,
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 day once a day because new offers come in and old ones
inspire sometimes every week, 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 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 tour, but we don't yet. And some keywords about the app. 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 the use specifically locally in order to choose from
the catalog of different ads,
couldn't this possibly be like a multi billion dollar,
isn't this taken on the Google ad, ad, ad, B?
So like what, I mean, one question to ask,
there seems to be some really profound ideas here
that are different than what the internet has grown up to be.
If brave or something like brave, the idea is the fundamental
philosophical idea is underlying brave, win out and runs 95% of the internet. How does that
change the, 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
won't believe it. I don't know. I think we're trying to put things into web standards that can be
standardized cross 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 can take some out, give the rest back,
they can add basic attention tokens to give back.
Some of them turn off the ads,
because it's just don't like ads,
but they put in $20 a month.
I believe Zuko of ZCAST-TRAIN 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 they'll all compete well on the quality of the ads,
the quality of the ad blocking and tracking protection.
Those are subject to competition.
They'll take a lot of 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% sort of the 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. They're using Patreon. They're encouraging people to subscribe and give them
regular money through Patreon. But that
centralized your Patreon. So there's censorship hazards, there's a 5% fee. What if
that were a web standard? What if Brave Pioneer at first and we took 3% and we
did it in a way that was through your browser so we couldn't censor it?
That's brilliant. Yeah. Do you think it could be standardized? The cross-browsers
can like, and explore a command again and they protocol 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. I don't know.
I can't predict the future. I think anti-trust is back on the case finally in the US and certainly in
Europe, did you comp is doing its thing.
So I'm hopeful that we'll have a period of innovation.
You know, people were talking, like Elizabeth Warren was talking about breaking up the tech
companies very clearly.
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 double click or something, divest something.
I don't know, it might happen.
So, so brave my spy Google to completely change the way they're doing things in the box.
They're already doing something you may have read about called the Privacy Sandbox or
Flock, which they've just bird metaphor going, turtle dove, fledge.
But these systems have been very
Google-y kind of over-engineered and yet depending on differential privacy, which
has weakness over time, if you know how that works, it's kind of injecting noise to hide you
in a, in a crowd, but over time in adversary can pull you out of the crowd. This, 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 indented the privacy sandbox,
so we'll all just adopt it.
Not gonna be that easy.
It's gonna be more like pieces of what we do in Brave,
the synonymous ad matching,
or the blind signature cryptography
we used to confirm the ad impressions,
that's David Chums mentioned.
That could get standardized.
In fact, some of that is being standardized.
Even Google's in favor of so-called trust tokens
Which are chow me and blind 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 great. I thought what's you know
Google's innovators dilemma apart from just being
mature and having trouble innovating? It's that they have come to depend on this ATTEC
system that has all 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 give back or support publishers. The speed and the battery savings and the
data plant savings are significant. There's so much bad JavaScript involved in AdTech. 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 message out script, no offense.
No offense.
Not my solution.
It mean Brave just feels faster.
Even then, I mean, Chrome was fast.
One of the things that it was like impressive is,
it showed that browsers could be really fast.
And Brave is even faster than that, which is quite.
We've walked so much much and it saves the network
It's it which means data plan it saves battery because of 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 side
They'll fix it and you actually do a survey of web pages that's mostly like that
I know Google engineers could make everything super efficient, but they can't, especially in antifrust 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 antifrust
problem for one. But it's also publishers we talked 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
mortgifying all these publishers
and they don't want to be plugged into the more cube.
They want to build up their own brand
and have loyal readers.
So 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 send to 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 could find your friends on both and you could have a sort of relationship is not owned by Facebook
or Twitter. It's owned by you. They don't 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 quite a lot of centralized,
we talked about Wall Street bets,
and then 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?
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 ologyarchy, 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 kind of a 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. I don't care if you call them neo-Nazi, some of them could be doing illegal things.
And you don't want them colonizing because it'll ruin your reputation in the story of 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 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 Larry Page said this too many years ago, he said, with search, you're giving up a
little privacy by handing a query over to us.
And then we'll error correct it.
Alan used this, 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. And we're like, no, don't be type that query. And it's like, okay, Google might want
to dial back that ego a little bit. But 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. And Google itself buying all these companies and crowding its own results page
with its own tied in stuff. The YouTube. The slipers up that happens when you when you have control
over these kinds of really important mechanisms. It's anopoly capitalism or cartel. You get this
with the Robinhoods and the hedge funds. You get sort of the money interest 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 did to found the country. Mostly Irish German.
country, mostly Irish, German. You have new virtual space people go to and that requires an ISP or a Cologne center or Amazon to host you. It requires domain name, registrar, who
will not strike you. And so you want parlor was taken down. I thought that was egregious.
Parlor, it was not well designed and I tried it out because I tried all these things, but I didn't use it.
And I also felt they were being unfairly scored
for not moderating because you can find tweets
this day that are horrendous and threaten all sorts
of violence, whereas Twitter,
why isn't Twitter being taken down?
But so it was very selective.
It was the insiders who have the power
are gonna take out the new number.
And it looked bad, sort of like the hedge funds,
sort of in GameStop.
It looked bad.
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.
Oh, I know, I have.
If you tried to say that as a Trump supporter
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 AFLCIO and big business, the Better Business Bureau got together and kept
Trump from, you know, spreading fake news.
So the country is 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
to get out. I think some of the DOJ and certainly the state cases, because there's 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 on 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 set all we don't 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 that would have been a huge blow to Microsoft.
So, but ultimately, I don't know,
I don't know if you're optimistic or cynical
about the possibility of breaking up big tech.
It to me, I'm optimistic that tools like Brave,
I love the idea of owning your friendships.
And like, the user is more and more owning the stuff
is the only real way,
unfortunately it's like the Wall Street bet subred
is the only real way to fight decentralized power.
You can't break them up, the regulation is very difficult.
It's really on a way for the law.
Netscape was long dead or acquired by AOL,
and effectively dead, it was only a muscle
that returned Firefox to the market.
By the time the USB Microsoft case was finally settled
and the penalties were put in place.
And yet, Antitrust 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 had to standardize things
with those Ikees standards people.
So they ran back to proprietary lock-in
and Windows Vista
flopped. It was late, it was bloated, long-horned, remember. Now, what Google's, what I was going to say,
but Google 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 decided to journey out from the world of being a researcher at MIT and potentially
doing a start up 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 be you've started, you ran amazing teams of engineers. You started a lot of successful businesses.
I wonder 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 Silicon Valley still, is it just a little law everybody's
being over-dramatic during this particular year of the coronavirus and so on?
I think, you know, even Austin's getting overheated out here.
And I've had relatives and friends move to Texas within the last few months.
So Texas is a whole big place.
And people are moving to Florida.
There's a big movement toward Miami, Peter Tielki, the former, all these people.
The mayor has been very business-friendly about it, which I think is just good politics.
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 increasing debt to do the lockdowns. It's got
the highest taxes. That's got a matter. People will do flea tax, high taxes. It's
got likely fires every year because of the dead fall. It's not global warming.
It's because the forest weren't managed
like they had been in the first part of the 20th century.
Just, I would say corruption at all levels,
especially up to the governor who famously
was eating at the French laundry and claimed
outside it was inside and they were out of masks off
and it was great.
Do what I say not what I do.
Rules for the but not for me.
When you see that in leadership,
people either run or 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 that. How is it super expensive?
How is it super? Yeah, so it's hard. Okay, everything about
the rest of the day. It was narrow and they didn't plan the roads, right? Yeah. They got rid of
public transportation in LA, like the Who Framed Roger Rabbit cartoon show
that you still have trolley cars.
Portland too.
The oil companies in 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.
I wish him well.
Yeah.
That's probably the only way to do it now.
Yeah.
But is it still a place? Do you think it's possible that Silicon Valley is still a place
where magic happens?
Where the next school goes built, where the next, I mean, Brave is built where...
I think all good things come to an end.
I think the problem is Silicon Valley had strong network effects through Stanford, through
the angel investor networks and the wealth effect.
And originally, you have to give the federal government credit.
Like the Arpanette was a government project.
That's not kid ourselves.
This wasn't wild free market, you know,
libertarian capitalists.
And this was all Cold War stuff.
You had out of the academia, you had Shockley
and then the traders ate and the fair child and Intel.
And but now, you know, once the last FAB
that was built in the valley, microunity might
have been the last. I don't know. I haven't followed, but we built a fab in Sunnyvale and
microunity in starting early 90s. And now the fab is overseas. And the one thing that I will say
that the oligarchs have intentionally done, and both parties is sort of labor and environmental protection
law arbitrage by going where the labor is cheaper, and the environmental law is on a strict,
and that's polluted the hell out of parts of China, but it's made things, you can make
cheaper junk.
And this is not a story that's over yet.
So what is Silicon Valley for now?
It's for the network effect, the brain trust, who you know, the parties, the Stanford sort of network.
That's fragile too over time.
I'm afraid, right?
Stanford, a lot of good professors are like,
they still filter mainly based on socioeconomic status,
but it's kind of a skate school.
I had a friend hired out of Harvard 20 years ago
at Netscape, and we talked about Harvard, and he said, yeah, there's still professors
who great on the curve. And I said, oh, yeah, I don't dare any doing that at Stanford
age. And he said, yo, it was shocking. Some of the students got season Ds, and they were
crying. It's like, yes, it's right. The precious deers can't take that at Stanford. So they
get A's and B's. Now, you look at China and people say we all about China,
they prove 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 I'm an American, I'm born in the fourth of July.
America is a great life.
The fourth of July.
And America, as I say, fundamentally,
is a commercial or public. You can try to make it something else. You can see 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 original design anyway, the federal federalist papers talk about this is a lot of subsidiary, but that's been eroded over time. And like I say, a lot of the off-shoring
has hurt. So what happened with coronavirus? People were 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 at a different
office, they had to move. Or you know, if the VA team was reconstituted in Munich, which
it was after Lars Bock just got tired of JavaScript,
that they hired in Munich,
or they hired PhDs in Germany and movement in Munich.
With coronavirus, 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 Midwest?
Yeah.
And he said, okay, and they said,
oh, kind of keep getting myself in Valley Pay.
No.
We're gonna figure out why you're cost living there,
isn't we're gonna adjust your pay accordingly.
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 vision of America,
which I was born in Russia, like I said here,
and this is truly a wonderful country.
I wasn't born in the fourth of July, but I still...
People still flee.
People still flee.
I still, and I'm red-blooded American at this point, and I have a sense that we've figured
it all somehow.
If Silicon Valley burns, another place will come up in this place that we 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.
They often included but other places as well.
And we somehow figure it out.
And I think that's true that there will be more mobility and maybe new places that come up.
I don't know if Silicon Valley has passed some sell by date because it did hurt.
The coronavirus hurt, the lockdowns hurt in 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 and
Simpsons just like it was grungier. It was more like dirty hairy in the 70s.
But by the 90s, 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 that's continued in such a point that it's almost like,
what's the movie by the South African director, and else, Judy Foster up in the space colony.
Matt Damon is the guy in 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.
And 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 and my backyard, not not 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 appreciate that people come here and you should wait for
the price system. I think we'll, but a lot of people are going to go where the prices are lower.
You and sorry for silly questions here, but just looking back, you have created things,
I hope, in part of creating things that have transformed this world, the world of technology
perhaps more than almost anything else. But you're still a human being.
And unfortunately, this ride ends. Do you ever think about your own mortality?
Not too much. I mean, I'm Roman Catholic, so I am not afraid of death. I think a lot of people who 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've missed opportunities to do something that
endures. And I sympathize with a lot because I'm old. I got married fairly old.
So I understand all that. Nothing human is alien to me as Terence said. But I don't fear it. No.
What do you hope your legacy is? It's going to be JavaScript. I think my legacy has more to do
with my children and their children. I think it all has to do with web standards, it has to do with things like Brave, the things
we did with Firefox.
When we did, I'm not going to over-self-rave, 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 teleps stubborn minorities than do that.
It's the lead users, AIIPOs, lead users.
You can be a few percent.
You can tilt the market.
And that can be done in spite of the incumbents, the money interest, 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 it.
In some ways, blockchain is doing it.
The Robin Hood take down the use of Robin Hood
by the Wall Street Betts kids similar.
So yeah, that kind of spirit endures.
And I think it, in some ways it's American, right?
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,
rights we have duties too,
so there's some debate about which comes first in American.
Dioris Prudence and the Founding Documents,
but as long as things are working,
we'll be like pragmatic Americans
like the Tocqueville described in his writings.
But if things get too out of whack
for one reason or another,
too unequal, too old, gargant,
can abusive, we're gonna 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 lives treasure
and sacred honor at stake.
It was a bunch of people went to upper Canada, I think it was called Ontario.
Yeah, and that's the beautiful thing.
I mean, 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, change the world. Yeah, got to do it. little bit of code. Yeah. Change the world.
Gotta do it.
And that's empowering.
And that is the American way.
That's why this country is, I believe, the greatest country I know.
That's not over remets, says it too much, but 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, as 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 Harbourger's show, Sun Basket Meal Delivery Service, Better Help Online Therapy, and 8 Sleep Self-Cooling Matress.
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.