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