1532 lines
70 KiB
Plaintext
1532 lines
70 KiB
Plaintext
|
|
Episode: 3629
|
||
|
|
Title: HPR3629: Linux Inlaws S01E59: The Show with Red Pandas Mosaic Killers and Metal Corrosion
|
||
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3629/hpr3629.mp3
|
||
|
|
Transcribed: 2025-10-25 02:29:17
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
This is Hacker Public Radio Episode 3,629 for Thursday the 30th of June 2022.
|
||
|
|
Today's show is entitled, Linux and Laws Sci, the show with red pandas mosaic killers
|
||
|
|
and metal corrosion.
|
||
|
|
It is part of the series Linux and Laws.
|
||
|
|
It is the 60th show of monochromic and is about 73 minutes long.
|
||
|
|
It carries an explicit flag.
|
||
|
|
The summary is an interview with Eric Rescola Firefox, CTO on browsers, the Internet and
|
||
|
|
hardcore CFi.
|
||
|
|
This is Linux and Laws, a podcast on topics around free and open source software, any associate
|
||
|
|
to contraband, communism, the revolution in general, and whatever else, fans is critical.
|
||
|
|
Please note that this and other episodes may contain strong language, offensive humor,
|
||
|
|
and other certainly not politically correct language.
|
||
|
|
You have been warned.
|
||
|
|
Our parents insisted on this disclaimer.
|
||
|
|
Happy mum?
|
||
|
|
That's the content is not suitable for consumption in the workplace, especially when
|
||
|
|
played back on a speaker in an open plan office or similar environments.
|
||
|
|
Any miners under the age of 35 or any pets including fluffy little killer bunnies, you trusted
|
||
|
|
guide dog unless on speed, and Qt-rexes or other associated dinosaurs.
|
||
|
|
This is Linux and Laws episode, no, season 1 episode something to be determined later,
|
||
|
|
modern how are things?
|
||
|
|
Yeah, things are normal, it's raining in the UK.
|
||
|
|
It's raining in the UK, what have I happened to globbin warming, not available here.
|
||
|
|
OK, so Greta got stopped by, can't complain, Greta, Greta didn't stop by recently, I don't
|
||
|
|
think Senna she was otherwise engaged to.
|
||
|
|
I see, fair enough.
|
||
|
|
No, I'm fine, it hasn't rained here in ages, so all the rain has been moving to the UK.
|
||
|
|
So that's probably an order, because as we all know, the met office normally in the UK,
|
||
|
|
for the social people in case you didn't know this yet, the summer is normally supposed
|
||
|
|
to happen between the 13th and 14th of August, some went around much time.
|
||
|
|
It's usually June or May or something, but only for half an hour, right?
|
||
|
|
Well, you can be lucky if you have a day or so.
|
||
|
|
You could put the heating outside and turn on the, yes, talking about heating, how many
|
||
|
|
showers have you had these days?
|
||
|
|
About twice a day, but only cold.
|
||
|
|
A lot of the gas situation, apparently, you're aware of.
|
||
|
|
The message is this again, the three of them, yeah.
|
||
|
|
Martin, what is the, what is the situation with lower drivers and what's what I'm looking
|
||
|
|
for wheat and sunflower once again in the UK?
|
||
|
|
I heard that you're facing desperate times, as far as I know, we can buy bread.
|
||
|
|
So, surprise you to order?
|
||
|
|
Yeah, I think nothing here.
|
||
|
|
Eventually it pays to cause you up with the Russians, right?
|
||
|
|
I don't know, you tell me.
|
||
|
|
Or maybe you should ask your chancellor.
|
||
|
|
I just got a phrase.
|
||
|
|
No, the new guy, what's his name?
|
||
|
|
Olaf Scholz.
|
||
|
|
Yes, him, yes, good to see you, isn't he?
|
||
|
|
Wait, you tell me.
|
||
|
|
I don't follow John Polytics as much as you do, but this is not the point.
|
||
|
|
That's about politics, never mind German or English or British, anyway.
|
||
|
|
Without further ado, we would like to introduce Eric Roscola.
|
||
|
|
For those two listeners in the audience who do not know who Eric Roscola is,
|
||
|
|
maybe Eric, you can introduce yourself.
|
||
|
|
Good morning.
|
||
|
|
Nice to be here.
|
||
|
|
So, I'm the CTO for Firefox.
|
||
|
|
I work at Ms. Elah, which is a company that makes Firefox.
|
||
|
|
So, I lead a small team that does a bunch of things, including technical strategies,
|
||
|
|
standards, a bunch of advanced work, thanks to analogy type work.
|
||
|
|
My main area of expertise is in communication security.
|
||
|
|
And I did a lot of work on TLS, which is the main protocol that powers
|
||
|
|
web security, and most recently I was the editor for the New Versus specification,
|
||
|
|
which now secures, I guess, about half the internet transactions on the web.
|
||
|
|
That was comprehensive.
|
||
|
|
Thank you, Eric.
|
||
|
|
Maybe for, I think we have eight listeners now, but maybe there's one among these eight
|
||
|
|
who do not, who doesn't know what Firefox is, never mind.
|
||
|
|
The Museum of Foundation Incorporation.
|
||
|
|
So, why don't you give a little bit of background off the browser, the corporation,
|
||
|
|
and the foundation, and maybe even the ecosystem surrounding it?
|
||
|
|
Yeah, definitely.
|
||
|
|
So, I mean, obviously Firefox is a web browser.
|
||
|
|
If you use Chrome or use Safari, well, you should try Firefox.
|
||
|
|
So, Firefox is an open-source browser, which means this source goes all available.
|
||
|
|
You could believe yourself, or you can get it from us.
|
||
|
|
It's built by a combination of a community open-source process, and also by a set of people
|
||
|
|
who work for the Museum of Corporation, which is sort of, it's a,
|
||
|
|
the museum is an interesting entity, because we have this corporation, which is then wholly
|
||
|
|
owned by the Museum of Foundation, which is a nonprofit.
|
||
|
|
And so, the overall mission of the Zolls hole is to make the Internet better.
|
||
|
|
We have a whole set of slogans around this, but the overall mission is to make the Internet better.
|
||
|
|
And so, the way this works is that the corporation builds products,
|
||
|
|
and the foundation has a set of larger initiatives around things like Trust for the AI,
|
||
|
|
or, you know, privacy, evaluating privacy products, or public mobilization around important policy questions.
|
||
|
|
So, you know, we work together the foundation, the corporation, with the foundation,
|
||
|
|
taking care, I think, of maybe one can think of the bigger picture stuff,
|
||
|
|
and the corporation thinking of the product-oriented stuff.
|
||
|
|
That was a high level overview.
|
||
|
|
And for the still-to-people, I've been using Firefox since 2001 or 1999.
|
||
|
|
I still have that t-shirt saying Firefox for beta tester, that I think the foundation sent me,
|
||
|
|
or even the project, because not to show when they, when the corporation was founded,
|
||
|
|
but it's still blue, and it's, and the writing is fading.
|
||
|
|
That t-shirt I'm going to add is about at least 13 years old.
|
||
|
|
Four came out officially in 2011, maybe 2012, correct me if I'm wrong, Eric.
|
||
|
|
And the beta phase entered before a moved house, and that must have been 209-208.
|
||
|
|
That t-shirt has survived various attempts of kidnapping it.
|
||
|
|
Nevermind stealing.
|
||
|
|
But I always managed to get it back, and it holds us in the house of kind of a place dear,
|
||
|
|
or close to my heart, because Firefox is the browser that I use on a daily basis.
|
||
|
|
In contrast to other people like my cherished co-hosts, who's crazy right now at the Berkeley.
|
||
|
|
I've been following the project through the peaks and the trots,
|
||
|
|
but maybe now's the time to shed some light on the history of that browser,
|
||
|
|
maybe starting even with Netscape and what happened afterwards.
|
||
|
|
If that's correct.
|
||
|
|
Sure, I can try.
|
||
|
|
I actually joined Missilla in 2013, so, but I've been working on the web for a long time,
|
||
|
|
so I have some perspective.
|
||
|
|
So as people probably know, the first real commercial web browser was Netscape,
|
||
|
|
which in fact was probably the first really big Silicon Valley startup.com hit.
|
||
|
|
And so Netscape was very popular at the time.
|
||
|
|
And then...
|
||
|
|
This has been Netscape, right?
|
||
|
|
This has been Netscape.
|
||
|
|
Thank you.
|
||
|
|
Yes.
|
||
|
|
And then what happened is you may remember this company in Microsoft,
|
||
|
|
and they've got their own web browser.
|
||
|
|
You know, at the time called Internet Explorer.
|
||
|
|
Martin is a resident Microsoft expert.
|
||
|
|
I'm not.
|
||
|
|
Yeah.
|
||
|
|
And so, you know, the consequence of having your product ship on,
|
||
|
|
you know, be mostly used on someone else's product and having them ship their browser by default.
|
||
|
|
And so people have to download your browser is that, you know,
|
||
|
|
it has a negative impact in the market share.
|
||
|
|
And so, you know, Netscape did not...
|
||
|
|
was not doing as well as a moment of light.
|
||
|
|
And towards the end of like Netscape's lifespan,
|
||
|
|
they decided to open source the code.
|
||
|
|
And so there's this large project to open source the code and to build a new browser,
|
||
|
|
which ended up being Firefox.
|
||
|
|
So I went through and say that sort of before my time,
|
||
|
|
but that went through a bunch of kind of like iterations,
|
||
|
|
but eventually it became with Firefox.
|
||
|
|
And like Firefox still does include some, you know,
|
||
|
|
a lot of that code was rewritten, but a lot of that code is still there.
|
||
|
|
And in fact, I've worked quite a bit on the security portions of Firefox
|
||
|
|
and the security library NSS, like those back to the very early days of Netscape.
|
||
|
|
And so, you know, Firefox is really the first, you know, big open source browser.
|
||
|
|
And, you know, the first one to really where you could have all the source out there
|
||
|
|
and you could work on it, and you could read it yourself,
|
||
|
|
and you could build it yourself.
|
||
|
|
And much of the work on Firefox was done by people who volunteered
|
||
|
|
and just volunteered the time and contributed to Firefox.
|
||
|
|
And some of those people like now work for us,
|
||
|
|
some of those people, you know, worked for us in the past,
|
||
|
|
and some of those people still volunteer,
|
||
|
|
and some of those people now work on Chrome or Safari actually.
|
||
|
|
So it's really with the beginning of this big ecosystem
|
||
|
|
of the open sourcing of the web.
|
||
|
|
Wow.
|
||
|
|
And I think this is still lingering on.
|
||
|
|
I just have to take a look at the rendering engines for those people
|
||
|
|
who just look at the browser all day long.
|
||
|
|
The rendering engine is essentially the piece of software that takes HTML and CSS
|
||
|
|
and some other components like JavaScript,
|
||
|
|
and puts them into pictures,
|
||
|
|
laid out text and all the rest of it.
|
||
|
|
And Firefox, and the whole notion of,
|
||
|
|
I wouldn't say browser was,
|
||
|
|
but to some extent, at least the competition that has been going
|
||
|
|
on also bought some to render it to rendering engines,
|
||
|
|
because if we take a look at browser history,
|
||
|
|
there are a couple of competing rendering engines,
|
||
|
|
and then multiple browsers, let's put it this way,
|
||
|
|
have been using these rendering engines.
|
||
|
|
Bing comes to my, sorry, Lingle Bing.
|
||
|
|
I can't even remember.
|
||
|
|
Gecko, of course, which was, I think,
|
||
|
|
the first Firefox rendering engine,
|
||
|
|
if I'm not completely mistaken.
|
||
|
|
And then quantum, but we're going to talk about quantum and rust in a minute,
|
||
|
|
as this is part from other things,
|
||
|
|
the rust marketing podcast.
|
||
|
|
As we all know it.
|
||
|
|
Yes, and some other,
|
||
|
|
I mean, for example,
|
||
|
|
and of course, I think there are three main rendering engines.
|
||
|
|
Chrome is based on Bing,
|
||
|
|
if I'm currently mistaken, Safari or WebKit.
|
||
|
|
And Firefox on Gecko,
|
||
|
|
and now quantum,
|
||
|
|
if I'm completely mistaken.
|
||
|
|
Yeah.
|
||
|
|
So I think, as you say,
|
||
|
|
the history is very complicated.
|
||
|
|
Gecko is a historical name.
|
||
|
|
We have about four hours left,
|
||
|
|
so go over here.
|
||
|
|
That's fantastic.
|
||
|
|
I love talking about rendering engines,
|
||
|
|
so that's good.
|
||
|
|
So when I got into the business around 2013,
|
||
|
|
there were three engines largely.
|
||
|
|
There was WebKit,
|
||
|
|
which powered Safari and Chrome.
|
||
|
|
And then there was,
|
||
|
|
I believe, in turn, remember what Microsoft called theirs?
|
||
|
|
I think it was Trident at the time.
|
||
|
|
And there was Gecko,
|
||
|
|
which powered Firefox.
|
||
|
|
And surely thereafter,
|
||
|
|
the Google decided,
|
||
|
|
so Google and Apple collaborated on WebKit.
|
||
|
|
So as you say,
|
||
|
|
the story is that there's the engine,
|
||
|
|
which is drives the networking,
|
||
|
|
and the JavaScript,
|
||
|
|
and just lays the HTML,
|
||
|
|
and there's the stuff around it,
|
||
|
|
you know, the menu bars and stuff like that.
|
||
|
|
And actually, fun story,
|
||
|
|
the technical term for that stuff,
|
||
|
|
for the menu bars,
|
||
|
|
and the URL bar,
|
||
|
|
and that is Chrome.
|
||
|
|
That's what everybody calls called browser Chrome,
|
||
|
|
and that's where the name Chrome comes from.
|
||
|
|
And so shortly thereafter,
|
||
|
|
I guess in like 13 or 14,
|
||
|
|
Google decided that they didn't want to collaborate
|
||
|
|
with Apple anymore on WebKit,
|
||
|
|
and so they forked it.
|
||
|
|
And so they took,
|
||
|
|
so Blink is a WebKit fork.
|
||
|
|
And so then for a while,
|
||
|
|
there were four engines,
|
||
|
|
four major engines.
|
||
|
|
There was Blink,
|
||
|
|
there was WebKit,
|
||
|
|
there was, I guess,
|
||
|
|
let's say Trident, there was Gecko.
|
||
|
|
And that went on for a long time.
|
||
|
|
And then, you know,
|
||
|
|
two other things happened,
|
||
|
|
as you indicated,
|
||
|
|
Microsoft took a stab at rewriting their entire system,
|
||
|
|
an engine called Spartan.
|
||
|
|
And that's what Edge was originally built on.
|
||
|
|
And then eventually,
|
||
|
|
they decided they were just going to use Chromium.
|
||
|
|
So Chromium is also an open source project,
|
||
|
|
it's the basis of Chrome.
|
||
|
|
And they said,
|
||
|
|
well, we're going to just take Chromium
|
||
|
|
and make Edge out of Chromium.
|
||
|
|
And so,
|
||
|
|
and so now there are three engines again,
|
||
|
|
which is to say Chromium,
|
||
|
|
which is to say Chromium WebKit and Gecko.
|
||
|
|
So,
|
||
|
|
you were alluding to,
|
||
|
|
you were alluding to quantum.
|
||
|
|
So,
|
||
|
|
I think, you know,
|
||
|
|
our branding,
|
||
|
|
our branding is a little confusing here,
|
||
|
|
but really quantum was the name for the project that initially
|
||
|
|
was the name for the project that we had to revitalize Gecko.
|
||
|
|
So Gecko had gotten less attention,
|
||
|
|
perhaps,
|
||
|
|
and needed it for the years.
|
||
|
|
And it got kind of slow
|
||
|
|
and kind of crafty in a bunch of ways.
|
||
|
|
And so we had a big project
|
||
|
|
that was designed to really revitalize Gecko.
|
||
|
|
And that had a bunch of different components,
|
||
|
|
some of which were taking in modern technologies
|
||
|
|
from this server-experimental browser
|
||
|
|
that we built in Rust, as you said,
|
||
|
|
at Missollot.
|
||
|
|
So, that's where our new CSS system came from.
|
||
|
|
It's also where our new graphics rendering system came from.
|
||
|
|
So, some of it was that.
|
||
|
|
And then some of it was really just fit and finished.
|
||
|
|
And so we had this big project that was called Quantum Flow,
|
||
|
|
that was like,
|
||
|
|
find every piece of junk in the system.
|
||
|
|
So, junk is the technical term in browsers
|
||
|
|
for like, when you type a key and nothing happens,
|
||
|
|
or when you try to like fill in,
|
||
|
|
then you burn nothing happens.
|
||
|
|
And it takes a second or two, that's junk.
|
||
|
|
And so we basically went through,
|
||
|
|
and this guy Aeson Agari led this project,
|
||
|
|
where he went through,
|
||
|
|
and basically he and a bunch of guys found,
|
||
|
|
a bunch of people found every single place
|
||
|
|
in the system they could find,
|
||
|
|
whether it was junk,
|
||
|
|
and then we tried to just develop and remove them.
|
||
|
|
And so, Quantum was the name for that project.
|
||
|
|
And then by the time we were done,
|
||
|
|
people felt like Quantum had actually become something different
|
||
|
|
and a good way to talk about Firefox.
|
||
|
|
And so that's how Firefox Quantum, you know,
|
||
|
|
I'm keen to be a thing.
|
||
|
|
I will say, you know,
|
||
|
|
re-internally, what would you just say,
|
||
|
|
Gecko still?
|
||
|
|
But Quantum is definitely a name that gets you to swap.
|
||
|
|
Yeah.
|
||
|
|
That's a very interesting perspective.
|
||
|
|
Because at the end of the day, I think,
|
||
|
|
Mozilla's engineers,
|
||
|
|
and I reckon I'm talking about the community,
|
||
|
|
as well as the people in platform,
|
||
|
|
by Mozilla cooperation,
|
||
|
|
weren't happy with the performance
|
||
|
|
of the existing branding engine.
|
||
|
|
But before we go into the technical details,
|
||
|
|
maybe we should explain what HTML,
|
||
|
|
well, I reckon everybody knows what HTML is,
|
||
|
|
but CSS plays a very important part here, too,
|
||
|
|
because CSS drives the rendering in terms of styles,
|
||
|
|
because CSS stands for,
|
||
|
|
because it's getting started.
|
||
|
|
So essentially,
|
||
|
|
for those people who do not know this,
|
||
|
|
you take HTML,
|
||
|
|
HTML is simply markup language,
|
||
|
|
and CSS gives it the fancy looks,
|
||
|
|
let's put it this way.
|
||
|
|
Needless to say,
|
||
|
|
that requires a lot of software working in the background.
|
||
|
|
Gecko, as far as I can call it,
|
||
|
|
and Eric correct me for wrong,
|
||
|
|
was a single threaded,
|
||
|
|
maybe multi-process rendering engine,
|
||
|
|
and the idea behind server
|
||
|
|
and subsequently, Quantum was to introduce
|
||
|
|
a significantly higher level of parallelism
|
||
|
|
into the rendering as such,
|
||
|
|
making or improving the overall rendering speed significantly.
|
||
|
|
If we disclosure,
|
||
|
|
we had about,
|
||
|
|
up to now,
|
||
|
|
about 50% of our episodes were on rust.
|
||
|
|
Check out the back,
|
||
|
|
the back has a lot of people.
|
||
|
|
Joke's aside.
|
||
|
|
2019.
|
||
|
|
No.
|
||
|
|
50% Martin,
|
||
|
|
but thanks for the correction.
|
||
|
|
No, we had Steve Clubnik on
|
||
|
|
from the project itself.
|
||
|
|
There was a rust,
|
||
|
|
I had a rust overview
|
||
|
|
and with some forthcoming episodes,
|
||
|
|
blatant teaser,
|
||
|
|
will have the rust foundation being present on this podcast.
|
||
|
|
But given the fact that you are the CTO, Eric,
|
||
|
|
maybe you can talk about a little bit about the internal things
|
||
|
|
if you can,
|
||
|
|
that led to the foundation of this,
|
||
|
|
I'm almost into to say,
|
||
|
|
although Kipsa programming language
|
||
|
|
in a Mozilla terms and beyond,
|
||
|
|
because if you take a look at the recent investments across the industry,
|
||
|
|
I'm talking with the likes of Google,
|
||
|
|
the likes of Microsoft,
|
||
|
|
all the rest of them,
|
||
|
|
the rust adoption is heavy,
|
||
|
|
as a system program,
|
||
|
|
and the system,
|
||
|
|
as a systems program language,
|
||
|
|
left right and center,
|
||
|
|
across the CTO-1,
|
||
|
|
T2s in the industry.
|
||
|
|
But maybe given the fact that,
|
||
|
|
okay, it wasn't with before your time,
|
||
|
|
but I reckon rust still plays an important role at Mozilla,
|
||
|
|
as such.
|
||
|
|
Absolutely, yes.
|
||
|
|
There's a lot to talk about there.
|
||
|
|
So,
|
||
|
|
Rust was started before,
|
||
|
|
and I feel pretty jumped in.
|
||
|
|
Rust was started before I got to Mozilla,
|
||
|
|
but certainly much of the work was done after I was there,
|
||
|
|
though not under not my team.
|
||
|
|
I guess,
|
||
|
|
I mean, maybe it's hopeful to start with like a brief discussion
|
||
|
|
of like what Rust is and why it's important in this case, right?
|
||
|
|
Absolutely.
|
||
|
|
So,
|
||
|
|
so like most browsers are written in C++,
|
||
|
|
and you know,
|
||
|
|
C++ is, you know, a very old language,
|
||
|
|
and really it's based on C,
|
||
|
|
and you know,
|
||
|
|
and from an era when people thought
|
||
|
|
that certain things were,
|
||
|
|
there was a program responsibility,
|
||
|
|
as opposed to their sponsored language.
|
||
|
|
So, as a concrete example,
|
||
|
|
people thought memory management was a program responsibility.
|
||
|
|
So, you want to allocate some memory,
|
||
|
|
you want to make sure that you don't accidentally like go,
|
||
|
|
like right outside the memory,
|
||
|
|
that's like your job as a program, right?
|
||
|
|
And,
|
||
|
|
or as another example,
|
||
|
|
you want to write a multi-threaded program,
|
||
|
|
which runs in, you know,
|
||
|
|
multiple threads in the processor time.
|
||
|
|
Well,
|
||
|
|
C didn't even really support that to start with,
|
||
|
|
but again,
|
||
|
|
this is like a program responsibility,
|
||
|
|
not to like use the same data in two threads at once, right?
|
||
|
|
And so, the idea with Rust is that we've now learned
|
||
|
|
that people cannot program out of these conditions,
|
||
|
|
and that if you ask people to program in those environments,
|
||
|
|
they never make mistakes,
|
||
|
|
and those mistakes become, you know,
|
||
|
|
crash errors or security vulnerabilities or whatever.
|
||
|
|
Even,
|
||
|
|
and even,
|
||
|
|
if genetically enhanced,
|
||
|
|
well,
|
||
|
|
is that right?
|
||
|
|
For programming?
|
||
|
|
Well, I think we're not there yet,
|
||
|
|
maybe, unfortunately.
|
||
|
|
Okay.
|
||
|
|
I'll tell you,
|
||
|
|
so we'll go take notes.
|
||
|
|
Yes.
|
||
|
|
In the San Francisco Office of Mozilla,
|
||
|
|
and it may still be there,
|
||
|
|
I've been there in a while,
|
||
|
|
because we had it closed down for a while.
|
||
|
|
There used to be a sign right above David Barron's desk.
|
||
|
|
David Barron was one of that
|
||
|
|
Mozilla's distinguished engineers who worked very much on CSS.
|
||
|
|
And it was,
|
||
|
|
the sign was placed at about eight feet,
|
||
|
|
and it had a line,
|
||
|
|
and it said,
|
||
|
|
you must be this tall or a multi-threaded code.
|
||
|
|
And so, you know,
|
||
|
|
the implication, of course,
|
||
|
|
is that nobody can write multi-threaded code
|
||
|
|
without making mistakes.
|
||
|
|
And so,
|
||
|
|
so, so,
|
||
|
|
so rust is, you know,
|
||
|
|
one of the new generation,
|
||
|
|
but I think perhaps the leading one of the new generation,
|
||
|
|
of programming languages,
|
||
|
|
that said,
|
||
|
|
that look,
|
||
|
|
we need to make it so that you can do all these things
|
||
|
|
that you want to do
|
||
|
|
and have them be fast
|
||
|
|
and do CSS programming,
|
||
|
|
but they have to be safe at the same time.
|
||
|
|
And I think they still have the slogan,
|
||
|
|
hack without fear.
|
||
|
|
So that's what we're talking about.
|
||
|
|
We're talking about,
|
||
|
|
doing all the things you want to do.
|
||
|
|
You want a multi-threaded code?
|
||
|
|
You want a very performant code,
|
||
|
|
but you want it to be,
|
||
|
|
that if you don't make mistakes,
|
||
|
|
that's not catastrophic, right?
|
||
|
|
And so, that's the rust enables.
|
||
|
|
And so,
|
||
|
|
rust was originally started,
|
||
|
|
as you say,
|
||
|
|
Lord, it's a great part to, like,
|
||
|
|
build a new,
|
||
|
|
a new JavaScript,
|
||
|
|
sorry, a new
|
||
|
|
Web Engine server.
|
||
|
|
Oh, yeah.
|
||
|
|
So, yeah. And so,
|
||
|
|
so we had this project for quite some time to servo,
|
||
|
|
which was basically building
|
||
|
|
an entirely new engine out of rust,
|
||
|
|
in rust.
|
||
|
|
And at the same time,
|
||
|
|
we had people starting to build components
|
||
|
|
in Firefox,
|
||
|
|
in rust,
|
||
|
|
as well.
|
||
|
|
So,
|
||
|
|
but I think we,
|
||
|
|
what rust brings the party,
|
||
|
|
and as you,
|
||
|
|
as opposed to, say,
|
||
|
|
go or Swift,
|
||
|
|
I think,
|
||
|
|
which are the other sort of languages that people often
|
||
|
|
think of in the same category,
|
||
|
|
is that it's really designed
|
||
|
|
to be a systems programming language.
|
||
|
|
And what I mean by that,
|
||
|
|
is it's really designed
|
||
|
|
to displace C++.
|
||
|
|
And so,
|
||
|
|
and so, concretely,
|
||
|
|
there's not,
|
||
|
|
there's not like a garbage collector,
|
||
|
|
so you don't have to take stalls
|
||
|
|
every so often with a garbage collector,
|
||
|
|
you know,
|
||
|
|
you have to work with a memory.
|
||
|
|
And so,
|
||
|
|
it's designed to kind of behave
|
||
|
|
like C++,
|
||
|
|
but to be like,
|
||
|
|
just as fast,
|
||
|
|
but safer to write in.
|
||
|
|
So,
|
||
|
|
for obvious reasons,
|
||
|
|
there's a lot of interest
|
||
|
|
of that in the browser community.
|
||
|
|
And now, what we're seeing is,
|
||
|
|
interest in other communities, as well,
|
||
|
|
which is,
|
||
|
|
as you were going into that kind of investment.
|
||
|
|
We make,
|
||
|
|
as I say,
|
||
|
|
modestly heavy use of rust.
|
||
|
|
You know,
|
||
|
|
what we've typically done is two things.
|
||
|
|
We've written new components in rust.
|
||
|
|
So,
|
||
|
|
there's this new
|
||
|
|
networking protocol,
|
||
|
|
called Quick,
|
||
|
|
that,
|
||
|
|
and we wrote the entire implementation in rust.
|
||
|
|
And then,
|
||
|
|
we're making things out of servo,
|
||
|
|
and we brought them in,
|
||
|
|
uh,
|
||
|
|
in rust.
|
||
|
|
And then, I think,
|
||
|
|
finally, every so often,
|
||
|
|
we'll find something
|
||
|
|
that is, like, so terrible,
|
||
|
|
that, like,
|
||
|
|
it just needs to be written.
|
||
|
|
And in those cases,
|
||
|
|
we often re-great.
|
||
|
|
We were in rust.
|
||
|
|
So, an example of that is,
|
||
|
|
the URL parser,
|
||
|
|
got pretty substantially rewritten,
|
||
|
|
and that was rewritten in rust.
|
||
|
|
So, I think, you know,
|
||
|
|
the buy,
|
||
|
|
it's always very difficult,
|
||
|
|
when you're working in an old codebase,
|
||
|
|
to know,
|
||
|
|
when it's good to re-write things,
|
||
|
|
or when it's good to just fix them up in place,
|
||
|
|
even if they're kind of gross.
|
||
|
|
But,
|
||
|
|
what the typical bias here is,
|
||
|
|
when you write something new,
|
||
|
|
think about rust.
|
||
|
|
Interesting,
|
||
|
|
because apparently,
|
||
|
|
Mozilla put a lot of money
|
||
|
|
into the development of language
|
||
|
|
and its ecosystem.
|
||
|
|
But,
|
||
|
|
I can recall,
|
||
|
|
and this is getting,
|
||
|
|
probably getting a bit controversial now,
|
||
|
|
I can recall a couple of years back,
|
||
|
|
that quite a few people
|
||
|
|
had to leave Mozilla,
|
||
|
|
and also,
|
||
|
|
the rust foundation was set up.
|
||
|
|
Can you spell some beans on this one?
|
||
|
|
Yeah.
|
||
|
|
So, I think,
|
||
|
|
I think that the way to think about this
|
||
|
|
is,
|
||
|
|
Mozilla started rust,
|
||
|
|
and we thought it was very important
|
||
|
|
to have it,
|
||
|
|
and we think it's been really good
|
||
|
|
for the ecosystem.
|
||
|
|
But, we didn't want to own rust.
|
||
|
|
And,
|
||
|
|
you know, we wanted the rust to do something
|
||
|
|
to community-owned,
|
||
|
|
not something that Mozilla owned.
|
||
|
|
And so,
|
||
|
|
for quite some time,
|
||
|
|
we wanted to figure out how to,
|
||
|
|
like, stop having it be something
|
||
|
|
where, you know,
|
||
|
|
all the engineers were for us,
|
||
|
|
and we kind of made the decisions,
|
||
|
|
and have it be something that had,
|
||
|
|
had it's own,
|
||
|
|
the student's own state.
|
||
|
|
And so,
|
||
|
|
you know, the idea behind the rust foundation
|
||
|
|
was to have that,
|
||
|
|
that place.
|
||
|
|
Like this probably,
|
||
|
|
like,
|
||
|
|
the close-denser,
|
||
|
|
you know,
|
||
|
|
we still are heavily involved with that.
|
||
|
|
One of the people on my team
|
||
|
|
is on the World of Rust Foundation.
|
||
|
|
So,
|
||
|
|
but we fundamentally wanted this to be a community effort.
|
||
|
|
Not something was all owned in perpetuity.
|
||
|
|
Martin, sorry.
|
||
|
|
You had a question, too.
|
||
|
|
If Martin hasn't fallen asleep yet,
|
||
|
|
if he has,
|
||
|
|
I'm simply going to go next.
|
||
|
|
Just keep jogging, yeah.
|
||
|
|
Sorry, yes.
|
||
|
|
Martin, wait, you're awake.
|
||
|
|
I was just following the rust construction.
|
||
|
|
Martin, I told you to take the meds, didn't you?
|
||
|
|
Martin, I told you to take the meds, didn't you?
|
||
|
|
Well, the problem is I did, yeah.
|
||
|
|
Can't you do it, yes.
|
||
|
|
Anyway, go ahead, Martin.
|
||
|
|
Mr. Riser.
|
||
|
|
Yeah, I think,
|
||
|
|
as part of your trip,
|
||
|
|
you mentioned you,
|
||
|
|
you know,
|
||
|
|
you have lots to do with standards.
|
||
|
|
Yes.
|
||
|
|
And, I guess,
|
||
|
|
I guess in the browsing is one of the most,
|
||
|
|
let's say,
|
||
|
|
that's called hackable types of activities these days.
|
||
|
|
Certain airlines come to mind and etc.
|
||
|
|
But how much of that work takes up your job in Amherst,
|
||
|
|
do you look to the open source community to help with all these kind of standards?
|
||
|
|
Well, I mean, it's a big effort.
|
||
|
|
It's a big group effort, right?
|
||
|
|
So I think, you know,
|
||
|
|
we have people across the organization,
|
||
|
|
and also people we engage in the open source community to develop standards.
|
||
|
|
We try to, I think, weigh in,
|
||
|
|
or we think our voices will,
|
||
|
|
our voice will mat on the most.
|
||
|
|
And, you know, not weigh in,
|
||
|
|
places where our voice won't matter.
|
||
|
|
So, you know,
|
||
|
|
that's a combination of our expertise, I think.
|
||
|
|
And, you know,
|
||
|
|
the expertise that participants, participants,
|
||
|
|
personally, we have,
|
||
|
|
as well as places where we have a real,
|
||
|
|
you know, a real investment, right?
|
||
|
|
So, you know,
|
||
|
|
if it's HTML or CSS,
|
||
|
|
then we like engage pretty heavily.
|
||
|
|
And, you know, there are other places, I think,
|
||
|
|
where, you know, we've engaged less heavily.
|
||
|
|
You know, so maybe it's a big example.
|
||
|
|
You know, we don't like,
|
||
|
|
we don't engage in like congestion control,
|
||
|
|
like internet congestion control very much.
|
||
|
|
Like other people care about that.
|
||
|
|
We work a lot.
|
||
|
|
It's being done.
|
||
|
|
I think it's important.
|
||
|
|
But like, we don't have anybody in Brazil who's like an expert on congestion control.
|
||
|
|
So we don't work on that.
|
||
|
|
If that's a level, you know, say,
|
||
|
|
say Google does, right?
|
||
|
|
So, you know, there's this new congestion control algorithm called BBR,
|
||
|
|
the Google designed,
|
||
|
|
and like,
|
||
|
|
it's nice work.
|
||
|
|
But, you know, we didn't,
|
||
|
|
we didn't work on, like,
|
||
|
|
standardizing that kind of stuff.
|
||
|
|
So, I mean, my team specifically focuses,
|
||
|
|
I think, Laura,
|
||
|
|
as I sort of indicated,
|
||
|
|
largely on networking stuff.
|
||
|
|
So, you know,
|
||
|
|
security,
|
||
|
|
transfer protocols,
|
||
|
|
you know, audio and video.
|
||
|
|
So,
|
||
|
|
I am,
|
||
|
|
I am a bunch of people.
|
||
|
|
I hope you and my team,
|
||
|
|
as well as many other people at Missoula,
|
||
|
|
worked on WebRTC,
|
||
|
|
which is the specifications,
|
||
|
|
letting us have this conversation.
|
||
|
|
Yeah.
|
||
|
|
So, I think those are places where I think Missoula is
|
||
|
|
had important valuable influences.
|
||
|
|
And I think that there are other places where, you know,
|
||
|
|
like I say,
|
||
|
|
we're happy to let other people pick up the ball.
|
||
|
|
I mean,
|
||
|
|
another example of a place where I think there's been actual work
|
||
|
|
that we participated in some,
|
||
|
|
and our,
|
||
|
|
our pull back from a little bit,
|
||
|
|
but other people picked up the ball,
|
||
|
|
is an audio and video codex,
|
||
|
|
where, you know, there's a,
|
||
|
|
there's a,
|
||
|
|
a lion sort of a media,
|
||
|
|
which is standardizing,
|
||
|
|
AV1.
|
||
|
|
I guess, I guess,
|
||
|
|
I'll last enter as AV1,
|
||
|
|
so I think they're on the AV2 now.
|
||
|
|
And so, you know,
|
||
|
|
that's a great example of where other people are doing fantastic work
|
||
|
|
that we're happy to,
|
||
|
|
excited to support,
|
||
|
|
and happy is happening.
|
||
|
|
Yeah.
|
||
|
|
No, it makes sense.
|
||
|
|
So, I say,
|
||
|
|
you focus on the extent.
|
||
|
|
Yeah.
|
||
|
|
I guess,
|
||
|
|
the audio and video,
|
||
|
|
you implement those products.
|
||
|
|
The other thing is that other people build the,
|
||
|
|
the networking side,
|
||
|
|
to make sense.
|
||
|
|
And one thing I,
|
||
|
|
one thing I would add is that I think,
|
||
|
|
you know, I think that,
|
||
|
|
that we work very closely with our counterparts at Apple,
|
||
|
|
and Microsoft,
|
||
|
|
and Google,
|
||
|
|
and Chrome,
|
||
|
|
especially,
|
||
|
|
Google,
|
||
|
|
in particular,
|
||
|
|
Safari.
|
||
|
|
And, you know,
|
||
|
|
we, I think we think of that,
|
||
|
|
I think there's very much a feeling that we're all kind of on the same team,
|
||
|
|
and we're all trying to make the web better,
|
||
|
|
and that, you know,
|
||
|
|
we're all pulling together.
|
||
|
|
And so,
|
||
|
|
I wouldn't say there's like a formal division of labor,
|
||
|
|
but definitely,
|
||
|
|
we'll have projects where it's like,
|
||
|
|
oh, it's pretty clear that,
|
||
|
|
like,
|
||
|
|
this all is going to take the lead on this one.
|
||
|
|
Or it's pretty clear,
|
||
|
|
Google's going to take the lead.
|
||
|
|
And so, I think that's like, you know,
|
||
|
|
it's a very,
|
||
|
|
it's a very expensive proposition to actually go all the stuff.
|
||
|
|
And so, it's helpful to have people like,
|
||
|
|
oh, these guys are going to handle it,
|
||
|
|
and we'll follow along.
|
||
|
|
Now, I mean, this is so many parts to it, right?
|
||
|
|
I mean, there's this,
|
||
|
|
there's the,
|
||
|
|
you mentioned the audio video,
|
||
|
|
there's the HTML,
|
||
|
|
there's CSS standards,
|
||
|
|
there's JavaScript,
|
||
|
|
you know,
|
||
|
|
as a,
|
||
|
|
as a main browser organization,
|
||
|
|
you'll see that don't want to control all those standards,
|
||
|
|
but you mentioned cooperation with,
|
||
|
|
with some of the other organizations there.
|
||
|
|
Is, is that in any way shape or form,
|
||
|
|
formalized,
|
||
|
|
or is that more of a,
|
||
|
|
let's say,
|
||
|
|
we're working on this,
|
||
|
|
we think this is important,
|
||
|
|
kind of,
|
||
|
|
scenario,
|
||
|
|
or is there an overriding organization
|
||
|
|
that tries to,
|
||
|
|
get all these,
|
||
|
|
you know,
|
||
|
|
browser,
|
||
|
|
builders,
|
||
|
|
put it that way in the same direction.
|
||
|
|
So there's several,
|
||
|
|
there's several important standards,
|
||
|
|
what's called a standards development organization,
|
||
|
|
or standards by,
|
||
|
|
that were some of these.
|
||
|
|
So there's, you know,
|
||
|
|
there's W3C,
|
||
|
|
which is like,
|
||
|
|
the historical web standards organization,
|
||
|
|
there's TC39,
|
||
|
|
which is a historical JavaScript,
|
||
|
|
organization,
|
||
|
|
there's what working group,
|
||
|
|
which is sort of now doing more of the HTML5 stuff,
|
||
|
|
and then there's ITF,
|
||
|
|
which does networking stuff.
|
||
|
|
So like, you know,
|
||
|
|
we all kind of like participate in all these,
|
||
|
|
and so though,
|
||
|
|
you know,
|
||
|
|
so as a concrete example,
|
||
|
|
WebRTC was done
|
||
|
|
in a combination of ITF for the networking pieces,
|
||
|
|
and for W3C for the HTML,
|
||
|
|
and DOM pieces, right?
|
||
|
|
And so,
|
||
|
|
so we all sort of collaborate
|
||
|
|
at those,
|
||
|
|
at those,
|
||
|
|
at those standards bodies,
|
||
|
|
and then of course,
|
||
|
|
there's a bunch of informal collaboration,
|
||
|
|
where, you know,
|
||
|
|
we, you know,
|
||
|
|
we all chat
|
||
|
|
and the people who are working on things
|
||
|
|
talk to each other,
|
||
|
|
and so,
|
||
|
|
to give you an example,
|
||
|
|
when we wanted to roll out,
|
||
|
|
TLS 1.3,
|
||
|
|
this new version of TLS,
|
||
|
|
that I was talking about,
|
||
|
|
you know,
|
||
|
|
I was constantly on the phone,
|
||
|
|
or I instant messaging,
|
||
|
|
with the people at Chrome,
|
||
|
|
and the people at Apple,
|
||
|
|
and Safari,
|
||
|
|
saying,
|
||
|
|
okay,
|
||
|
|
we think we're ready to do this next,
|
||
|
|
you know,
|
||
|
|
we, the drafts get done
|
||
|
|
in different versions,
|
||
|
|
and so,
|
||
|
|
we're ready to try to deploy in this next version,
|
||
|
|
and we're ready to play it like,
|
||
|
|
you know, next,
|
||
|
|
you know, next week,
|
||
|
|
great,
|
||
|
|
or can you do that?
|
||
|
|
And it's not just,
|
||
|
|
it's not just the browsers,
|
||
|
|
it's also,
|
||
|
|
of course,
|
||
|
|
people like server vendors,
|
||
|
|
so we've been very close
|
||
|
|
with CloudFlare,
|
||
|
|
and with Fastly,
|
||
|
|
as well,
|
||
|
|
and we're ready to talk to other people
|
||
|
|
like that,
|
||
|
|
and it's the same thing.
|
||
|
|
There's the informal channels of communication,
|
||
|
|
where people know each other,
|
||
|
|
and that's where,
|
||
|
|
you know,
|
||
|
|
that's how you coordinate
|
||
|
|
when things are going to happen,
|
||
|
|
as well as this industry,
|
||
|
|
but also how,
|
||
|
|
you know,
|
||
|
|
you get people interested in things,
|
||
|
|
you know,
|
||
|
|
you're working,
|
||
|
|
you've got an interesting idea,
|
||
|
|
in IETF committees, but rather by email or RSC or whatever the hipsters or disco,
|
||
|
|
whatever the hipsters use these days.
|
||
|
|
I mean, yeah, I think that, you know, these, like, the important thing to realize about
|
||
|
|
these standards bodies is that they serve a really important function of coordination
|
||
|
|
and finishing, but they're not really very good at technology development.
|
||
|
|
And so you really need to have the technology kind of half done, but I think they bring
|
||
|
|
it to the standards body, or it's kind of like it's very hard to make progress.
|
||
|
|
And, you know, so I've been involved in a lot of these efforts, and, you know, the ones
|
||
|
|
that work really well are the ones who are pretty small, type of people either inside
|
||
|
|
or outside of the standards body.
|
||
|
|
It does a lot of the heavy lifting and talking to each other all the time, and then the
|
||
|
|
sort of bigger community discussions happen once, you know, once the general contours are
|
||
|
|
put together.
|
||
|
|
So it's still an open process, which is really important, but it's, you know, if the processes
|
||
|
|
open, and there are 200 people trying to do something at the very beginning, no one
|
||
|
|
ever make progress.
|
||
|
|
So it's important to have, like, the kind of general sense of where you're trying to go,
|
||
|
|
set up, and then you start saying, okay, now we're going to have a, and in that process
|
||
|
|
will be sort of like mostly open, but it'll be a small group.
|
||
|
|
And then as it gets bigger, you'll say, okay, now we understand we're, now we're trying
|
||
|
|
to find it.
|
||
|
|
And that's when you can take, you know, people say, well, this, you know, this packet
|
||
|
|
needs to look different, but this, or this, you know, API needs to look different.
|
||
|
|
But those are compatible with the sort of, you know, we, you know, community contribution.
|
||
|
|
And in fact, if you think about that, that's also the same case situation with open source,
|
||
|
|
right?
|
||
|
|
Which is the open source, quite just that really are effective, are not ones where someone
|
||
|
|
puts out like one line of code, and says, I'm going to build a web browser.
|
||
|
|
Their ones where someone builds a fair fraction of it.
|
||
|
|
And then it's like stone soup, and you can put it together.
|
||
|
|
But if, you know, it's just completely like a morph of the beginning, it's hard to
|
||
|
|
make progress.
|
||
|
|
The tiny open source project called Linux comes to mind, which operates exactly on that,
|
||
|
|
on these principles.
|
||
|
|
For that.
|
||
|
|
For that.
|
||
|
|
For that.
|
||
|
|
And Martin, any thoughts on how Linux would have been these days, if a committee was involved
|
||
|
|
in terms of apart from a detector and some work of shipping in code?
|
||
|
|
No, it makes perfect sense.
|
||
|
|
So it's similar to that project, it's similar to that patchy foundation.
|
||
|
|
There have to be kind of, in some way, shape or form already, usable and formed before
|
||
|
|
they actually go to for applying to these kind of states, otherwise, it's just this.
|
||
|
|
I'm beaten.
|
||
|
|
I'm beaten to that.
|
||
|
|
I'm beaten to that.
|
||
|
|
How are you?
|
||
|
|
But there's a program in language called Adda, ring it by Martin.
|
||
|
|
It does.
|
||
|
|
It does.
|
||
|
|
I wonder.
|
||
|
|
I mean, I think you have about five people on the planet that I said you were, you're
|
||
|
|
still using it.
|
||
|
|
But apart from that.
|
||
|
|
I think they're still using it.
|
||
|
|
It depends if the Netherlands may be still in summer means, but they're probably not
|
||
|
|
there.
|
||
|
|
I do not know.
|
||
|
|
I can recall some piece in the press about a couple of years back that spoke about this,
|
||
|
|
but apart from that, I think nobody uses it.
|
||
|
|
And of course, for those listeners who are not as old as Martin and myself, I'm Carter.
|
||
|
|
I can't re-talk with Eric.
|
||
|
|
Our Adda was a program language back in the 80s that was designed by a committee.
|
||
|
|
I can't recall which ones.
|
||
|
|
It's clear to you.
|
||
|
|
It's maybe the show notes.
|
||
|
|
I don't know.
|
||
|
|
If I can't dig them up, but it goes to show that these things never really work.
|
||
|
|
And I reckon Russ is the perfect, perfect example for this one because a group of people
|
||
|
|
got together going back to my favorite program language now and just did things.
|
||
|
|
Of course, there is now a formal structure in place in the Russ foundation.
|
||
|
|
And that also handles improvement requests on the rest of it.
|
||
|
|
But as usual, if you take a close look at the Russ ecosystem, it's almost comparable to
|
||
|
|
Python with PyPy and all the rest of it.
|
||
|
|
I will stop the marketing rant here because there's a recent episode of something called
|
||
|
|
Linux in-laws that does an X in job on the Russ market, so people listen to that.
|
||
|
|
Suffice it to say, with regards to the ecosystem, Russ is rapidly gaining speed here.
|
||
|
|
And comparison to the likes of Cisharp, Python, JavaScript, and I'm almost to say Java
|
||
|
|
with maybe not the rest of it.
|
||
|
|
But I'm digressing.
|
||
|
|
I think that you're showing you the right that Russ is gaining traction.
|
||
|
|
I think that's really gratifying for people here to see that we made the right call, not
|
||
|
|
me personally, but the Mozilla collectively made the right call.
|
||
|
|
I think there's places for different things.
|
||
|
|
And certainly, I think JavaScript and Python played pretty important roles and I would
|
||
|
|
expect to see them plausibly displaced by Russ.
|
||
|
|
I think the things that Russ is a threat to are Cisharp maybe C++ and C. I would say it's
|
||
|
|
very hard to explain if you're writing new code, like a fresh piece of code, why write that
|
||
|
|
in C or C++ at this point.
|
||
|
|
If you're going to let anybody have contact with it, that's an adversarial all.
|
||
|
|
But I think I've certainly done plenty of Russ programming and I've done some JavaScript
|
||
|
|
and Python.
|
||
|
|
I think the tasks I would do for those are different enough that if I wanted to process some
|
||
|
|
data, I wouldn't use Russ not to see what's fast, these Python.
|
||
|
|
And obviously, if I wanted to write that, I would use JavaScript.
|
||
|
|
So I think it's like horses for courses, but I think there's definitely a niche in the
|
||
|
|
ecosystem.
|
||
|
|
You're certainly right to say there's a niche in ecosystem that Russ is invading and taking
|
||
|
|
over.
|
||
|
|
How is healthy?
|
||
|
|
I mean, that was, I mean, you could argue that C++ already took that place from that.
|
||
|
|
No, Martin, you see, I don't know if that guy called him as Thomas rings about who said
|
||
|
|
about 20 years back that C++ won't have placed in the kernel, but he endorsed Russ about
|
||
|
|
a year ago, maybe two years ago.
|
||
|
|
And it starts with the device drivers, but now more and more Russ is entering the code
|
||
|
|
base.
|
||
|
|
It'll take some time and full disclosure.
|
||
|
|
We just come back from a time traveling exercise, more and upcoming episode.
|
||
|
|
The beauty is that the little kernel will always be written to a large extent in C. Russ won't
|
||
|
|
replace the whole thing at least within the next 20 years.
|
||
|
|
But suffice it to say that Russ is slowly easing its way into the kernel, given the fact
|
||
|
|
that the little kernel is probably the most widely used operating system on the planet,
|
||
|
|
not even counting mobile.
|
||
|
|
I'm joking.
|
||
|
|
It certainly has made its point with regards to being a better or a more, what's the word
|
||
|
|
I'm talking for?
|
||
|
|
Adopted C++.
|
||
|
|
I mean, a lot of code is written C++.
|
||
|
|
You just have to take a look at GitHub, but I think Russ is rapidly gaining ground.
|
||
|
|
But okay, the Russ Foundation hasn't sent the check yet, so the marketing stops here.
|
||
|
|
Russ Foundation, if you're looking for more marketing, apart from the upcoming episode,
|
||
|
|
the email address is sponsored, it doesn't seem to be used, it'll go right ahead, please
|
||
|
|
get in touch.
|
||
|
|
Martin, I'm sure you had some more thoughts beyond Russ.
|
||
|
|
What else is there beyond Russ?
|
||
|
|
Anyway.
|
||
|
|
Quite a few things.
|
||
|
|
It's, I guess, you've also made this, you've grown up, it's not just like a real
|
||
|
|
else has on this podcast, and clearly browsing has become more of a, let's say, the way
|
||
|
|
that everything is consumed, content consumed, over time, right?
|
||
|
|
That's, you know, if we, whether it's cat videos or music, everything tends to be browser
|
||
|
|
based, how did you foresee this happening?
|
||
|
|
And did you actually, how do you see this going forward?
|
||
|
|
Because, you know, we went through, we almost go in cycles in the industry anyway.
|
||
|
|
Never about it, never with our client server and the clients and the clients and so on,
|
||
|
|
and so on, and moving more code into the browser and out of the browser, etc.
|
||
|
|
If you have a view on this or like Eric before you answer this, Martin is always as old
|
||
|
|
as I am.
|
||
|
|
So that has to be put in perspective, sorry Eric, go right ahead, go right ahead.
|
||
|
|
I mean, this is like a very old, like, you know, pattern, right?
|
||
|
|
I think, you know, I'm sure you remember Java, but maybe you don't remember before that
|
||
|
|
news, the network window system on Sun, which was like downloadable postscript, and they
|
||
|
|
are lost out to X11.
|
||
|
|
So I mean, this idea downloadable code is like super old.
|
||
|
|
I guess I would say, I would say like, it was half a surprise to me, like when I first
|
||
|
|
saw the web, you know, I think we realized that you could build powerful applications
|
||
|
|
on it, but you'd have to build new capabilities to make it happen.
|
||
|
|
I think if you told me, you know, back in 1996 that you're going to see, that's effectively
|
||
|
|
the web operating system that you can run any application on and the people will be doing
|
||
|
|
games on it.
|
||
|
|
I think I would have, you know, I mean, real like high quality games, I've been kind of
|
||
|
|
surprised.
|
||
|
|
You know, just like, you know, that was such a clunky kind of artifact then.
|
||
|
|
You know, I think that the, what's, you know, that the power of the web is spontaneity,
|
||
|
|
right?
|
||
|
|
And it's low friction.
|
||
|
|
So as you go to the site and you click on this and like, it's perfect and like, it's
|
||
|
|
safe to download the thing and run it in your browser because the browser protects
|
||
|
|
you.
|
||
|
|
And there's no download, there's no install experience, it just happens, right?
|
||
|
|
And so that's the, that's the thing that the web is, is bringing to the party.
|
||
|
|
And so anything that can be incompatibly with that is like a great candidate for being
|
||
|
|
on the web and the things that can't be done compatible for that and that's the candidates.
|
||
|
|
But you know, I think, I think what you see the project of the past 10 years, if I've
|
||
|
|
said 10 years has been, has been to find the places that like people wanted to build
|
||
|
|
apps for the web, that they can't because the web is missing something and then build
|
||
|
|
those things in.
|
||
|
|
And so WebRTC is a great example that people wanted to build video competition for the
|
||
|
|
web, but it was missing some key capabilities.
|
||
|
|
And so the question was whether key builders we have to put in there to make that work.
|
||
|
|
And that's how you get, you know, get user media, it's how you get pure connection, it's
|
||
|
|
how you get the built-in, you know, built-in codex and echo cancellation, all those things,
|
||
|
|
those are like what's the big work.
|
||
|
|
And so on another front, you say, well, people want to be able to video games on the web.
|
||
|
|
And so what do you need?
|
||
|
|
You need a fast programming language, hence WebAssembly.
|
||
|
|
You need to be able to do fast graphics, hence WebGL.
|
||
|
|
And so I think that, you know, the, the, the, the director we see is we'd like to see
|
||
|
|
people do things on the web and we'd like to ask what are the applications that are
|
||
|
|
most suitable for webifying that take advantage of that low friction and that safety, but
|
||
|
|
there are some reason to in community build and how do we build that?
|
||
|
|
Eric, you've got an absolute point there because if you take a look at something called
|
||
|
|
Chromebooks, that's exactly it.
|
||
|
|
It's a minimal Linux kernel that just boots up a browser and then you're good to go.
|
||
|
|
If, if you take a look at the numbers, the numbers are just astonishing.
|
||
|
|
Of course, Google doesn't find job with pouring a lot of discount into the retail sector,
|
||
|
|
it's exactly, especially in the education sector.
|
||
|
|
But this concept has really taken off.
|
||
|
|
Too bad it's not Firefox.
|
||
|
|
Yes.
|
||
|
|
I mean, we did, we did take a run at this.
|
||
|
|
We had this project called Firefox OS that was designed to be kind of liking Petter
|
||
|
|
DeAndroid, but I think you can imagine how hard it is to compete with Android.
|
||
|
|
The absolute never got rid of the ground, did it?
|
||
|
|
No.
|
||
|
|
No, it didn't, that, that, that project did not succeed though, I mean, you know, some
|
||
|
|
of the pieces of that project are still floating around in the code base from, you know, got
|
||
|
|
repurposed other things.
|
||
|
|
I mean, that was the, you were alluding earlier to, you know, Firefox being a multi-processed
|
||
|
|
browser, the original process separation work started there.
|
||
|
|
Changing onto more controversial issues.
|
||
|
|
Chrome, and I'm not talking about Chrome, you know, two seconds and Chrome is also affected
|
||
|
|
by Chrome.
|
||
|
|
There's a fine job with turning the user into the product, let's put it this way.
|
||
|
|
I mean, if you take a look at the telemetry that is built into Chrome, it's a lot.
|
||
|
|
And Google has certainly put a lot of money into marketing Chrome for reason, I'm not
|
||
|
|
at.
|
||
|
|
If I take a look at what's the word, what's the, what's the, what's that I've had a look
|
||
|
|
for Martin?
|
||
|
|
It's simple, you, you put ads on TV and in print and then you couldn't get to use that
|
||
|
|
browser.
|
||
|
|
I've been seeing that for a long time.
|
||
|
|
If you're bringing in the wrong country, no jokes aside, I mean, Chrome has, at least
|
||
|
|
that was the case about 10 to seven years ago, you could see Chrome ads on TV and print
|
||
|
|
all over the place.
|
||
|
|
Yes.
|
||
|
|
Where Google put a lot of money to marketing the browser for reason, because of adoption.
|
||
|
|
The website is, what is it, what is it, Eric Stutt's counter or counterstress or something?
|
||
|
|
Stutt counter.
|
||
|
|
Stutt counter.
|
||
|
|
Yes.
|
||
|
|
And if I take a look at this now, I did about a month ago, Chrome captured about 66% of
|
||
|
|
the market share.
|
||
|
|
I reckon, and that's a fair play to, to Google, that they did a very good job at marketing
|
||
|
|
Chrome in terms of its mobile, its desktop, it's all the rest of it, nevermind Chrome books
|
||
|
|
to have that adoption.
|
||
|
|
Because at the end of the day, they're not interested in selling Chrome books, they're
|
||
|
|
interested in your data, something like that.
|
||
|
|
I can recall a little bit of controversy about telemetry, but in Firefox, but that was
|
||
|
|
only enabled in dev builds, not in production builds.
|
||
|
|
Well, so Firefox does have telemetry in production builds as well at this point.
|
||
|
|
I think we're very careful and respectful of what data we collect and what data we don't
|
||
|
|
collect in telemetry, and that's, we document that, it's open source, obviously, as you
|
||
|
|
can see it.
|
||
|
|
But you can also, if you're running Firefox and you go to the URL bar, you can have about
|
||
|
|
coal in telemetry into the URL bar, and it will show you exactly what's being gathered.
|
||
|
|
So we try to be, we have a set of principles about how we handle this, and we try to be
|
||
|
|
respectful of what we gather and not gather and try to avoid it, and don't gather user
|
||
|
|
browsing history, for instance, I think my sense, I don't work on Chrome, I have done
|
||
|
|
some work on Chrome in the past, actually, when I was working on my VRTC, but my sense is
|
||
|
|
that while Chrome does gather telemetry, that the telemetry itself is not really the
|
||
|
|
privacy problem.
|
||
|
|
I mean, I'm not saying it's, I haven't listed it in detail, but my sense is it's generally
|
||
|
|
kind of not too terrible, but that rather, you know, that the Chrome is designed, as you
|
||
|
|
said, to drive you to the Google ecosystem, and to ask you to log into Google, and so
|
||
|
|
then, you know, you're using Google properties, and so I think what Chrome really does, it
|
||
|
|
works hand in glove, with like, you know, with like Google properties, to like get you
|
||
|
|
to these Google stuff, right?
|
||
|
|
And I'll say, not surprising, it's like one company, right?
|
||
|
|
And those properties work really well on Chrome.
|
||
|
|
And so I think that that is like the impact, you know, in terms of like user privacy of
|
||
|
|
Chrome, is that fact, right?
|
||
|
|
More so than like the telemetry practices.
|
||
|
|
Okay.
|
||
|
|
Something that has also been on my mind since version 57 of Firefox, the great API disaster.
|
||
|
|
For those of you who don't know what this is all about, that's exactly, I think, and
|
||
|
|
correct me if I'm wrong, that came along with the, with the taking of the new rendering
|
||
|
|
engine into production, and a lot of the extension APIs changed, meaning that you've
|
||
|
|
had an extension, all of a sudden, didn't work anymore.
|
||
|
|
Yeah.
|
||
|
|
Yeah.
|
||
|
|
So, so, so, I think so Firefox is basically an incredibly sensible product, and it's
|
||
|
|
really sensible in several ways, one of which is, of course, the source, but the other
|
||
|
|
is we had a very powerful extension API, which would let you do all kinds of things, and
|
||
|
|
would let you, you know, you know, basically, you could just, you could insert yourself
|
||
|
|
and like, you could write an extension, they're called add-ons at the time, that you could
|
||
|
|
insert yourself and like, all kinds of parts of the browser processing, anywhere you wanted.
|
||
|
|
And you could, and so, this was a very powerful capability, but it really depended, as you
|
||
|
|
were mentioning earlier, on a particular architecture of Firefox, that involved having everything
|
||
|
|
being one giant process, and that when it was like a multiple processes, and now when
|
||
|
|
it's in like one process, you know, one process per origin, that became like, really very
|
||
|
|
hard to keep working.
|
||
|
|
And so, we sort of had to make a choice when we did, you know, we did quantum.
|
||
|
|
How much effort are we going to go through to make these extensions continue to work in
|
||
|
|
the face of basic architecture, which is like not really compatible with them?
|
||
|
|
And at the same time, there was like a lot of Chrome market share, and there were Chrome,
|
||
|
|
you know, people could write a sentence for Chrome using the Chrome add-on API.
|
||
|
|
And that API was, because Chrome had been designed, you know, initially to be a multi-processed
|
||
|
|
browser, was much more compatible with that kind of architecture we now had.
|
||
|
|
And so, it was just a lot easier, frankly, to cut over and use an API that was like
|
||
|
|
new to Chrome's, than it was trying to like, make all that stuff work.
|
||
|
|
And so, it was a difficult choice when we finally made it, but it was just like either
|
||
|
|
we had to do a enormous amount of work or keep, you know, or hold back the release in
|
||
|
|
order to, you know, make these things work when we weren't able to.
|
||
|
|
And I think, you know, what I would say is I think we've done a pretty good job, they're
|
||
|
|
not a perfect job of re-enabling capabilities that are important, you know, our web extension
|
||
|
|
APIs.
|
||
|
|
And I guess I would say, like, you know, I don't know if you're putting my content information
|
||
|
|
in your show notes, but you're welcome to.
|
||
|
|
And if people think they're some important piece of capability that should be an extension
|
||
|
|
API, that's not like they should contact me and we can take a walk.
|
||
|
|
But yeah, I know we broke a lot of people and like, I feel bad about that, but it was
|
||
|
|
kind of like a difficult trade off we had to make.
|
||
|
|
Finally, a question on the side from my side.
|
||
|
|
Spada monkey versus what's it called, V8?
|
||
|
|
Yeah.
|
||
|
|
For those people who do not know for the minority in the audience, we're talking about this
|
||
|
|
I don't language called JavaScript with that drives about 90% of the of the web applications
|
||
|
|
that run in your browser, the rest is probably written in something called web assembly,
|
||
|
|
which is slowly taking over for a couple of decades, JavaScript has played a very important
|
||
|
|
role in browser adoption.
|
||
|
|
Who came up with something called as I said, V8 that brought a lot of performance improvements
|
||
|
|
to the table, but there have been, there have been voices in the industry that say Spada
|
||
|
|
monkey is dated.
|
||
|
|
Any comments on this?
|
||
|
|
Yeah, I don't think it is.
|
||
|
|
I think, you know, you know, I think we, I think the industry goes through cycles where
|
||
|
|
someone puts in, you know, a bunch of effort on something and then other people like race
|
||
|
|
to follow up.
|
||
|
|
And so we definitely Google put a lot effort into V8 and then we had to race to follow up.
|
||
|
|
For a while.
|
||
|
|
And then we've been putting a lot of effort into Spada monkey and I think, you know, Spada
|
||
|
|
monkey is a really excellent engine.
|
||
|
|
So I think, you know, and some of the things you're saying are dated, we did remove.
|
||
|
|
So I don't think like, I don't think, I don't think it's dated now.
|
||
|
|
I think, you know, I guess I was saying, I think, I think competition here is something.
|
||
|
|
I think that like, you know, Google drove us to make, to make Spada monkey faster by doing
|
||
|
|
V8 and we're driving them to make V8 faster by making Spada monkey faster.
|
||
|
|
And you know, and every time, you know, WebAssembly gets faster because one of us does it,
|
||
|
|
the other people have to race to catch up.
|
||
|
|
And that's good for the user to have the system get faster overall.
|
||
|
|
But there are no plans of re-implementing the JavaScript engine in Rust to make it even
|
||
|
|
more parallel.
|
||
|
|
No, not really.
|
||
|
|
So I think like, I mean, it's still written in C++ at the moment, right?
|
||
|
|
Yeah.
|
||
|
|
I think so.
|
||
|
|
I can get back to you on that because I'm saying I don't work on very much.
|
||
|
|
I think the thing to recognize about that JavaScript is that there really are two, there really
|
||
|
|
are two performance properties you're interested in.
|
||
|
|
One is how fast the engine itself runs, the product of the compilation.
|
||
|
|
And the second is how fast the code that is generated runs.
|
||
|
|
And so you've got to sort of, and so like, and so they both impact, you know, how fast
|
||
|
|
the system is.
|
||
|
|
And one of the big challenges in because the JavaScript engine is so complicated is actually
|
||
|
|
being able to understand, like, at a high level what the transformation or the compilation
|
||
|
|
process is doing and optimize the compilation process rather than just optimizing the one
|
||
|
|
time thing by yourself.
|
||
|
|
And so a lot of the work we've done on Spider-Monkey, and again, I'm not an expert here, is
|
||
|
|
to make that compilation process more transparent so that it gives us more opportunities to
|
||
|
|
optimize the output.
|
||
|
|
Excellent.
|
||
|
|
Awesome.
|
||
|
|
Yes, we talked about the browser and corporation.
|
||
|
|
So we should also give the foundation some context.
|
||
|
|
How do they, the two work together and, I guess, how important is the foundation going
|
||
|
|
forward with the, let's say, the, the mud, the Firefox usage declining, right?
|
||
|
|
It's unfortunately, whereas, so how much is the importance of foundation to make people
|
||
|
|
aware of, you know, as Chris mentioned, you know, all the, that's a, that's a, that's
|
||
|
|
about thousands of crumbs and safaris that, like, many, many of your data, for other purposes.
|
||
|
|
So some of these, is that part of the role to create awareness, is it part of the role
|
||
|
|
to make it more secure, how does that work with the corporation, right?
|
||
|
|
But if you would see that in case.
|
||
|
|
Yeah.
|
||
|
|
So I'm, first I should say, I work for the corporation, not the foundation.
|
||
|
|
So anything I say we sort of, sort of like, from a, from a slight remove, you know, well,
|
||
|
|
the rise to the foundation doing is a, what's often called civil society work, which is,
|
||
|
|
you know, trying to use the platform of being Mozilla and the resources of being Mozilla
|
||
|
|
to talk to people, you know, in the world about, like, technology and about how technology
|
||
|
|
would develop well.
|
||
|
|
And so certainly there's alignment in terms of, like, they think that having, like, a
|
||
|
|
good Firefox is important.
|
||
|
|
And so, like, they, we don't agree on that matter, but, and so I think, you know, that there's
|
||
|
|
some cooperation there.
|
||
|
|
But, well, I, so, like, much, so I give you an example of something that they've done
|
||
|
|
recently.
|
||
|
|
They do this privacy, not included guide where they look at products and they look at
|
||
|
|
their privacy, privacy practices.
|
||
|
|
And they say, well, these products are, like, good, these products are bad.
|
||
|
|
And they, I'm just looking at their site, they just, we did one on these mental health
|
||
|
|
apps.
|
||
|
|
And so I think, you know, that's an example where, of real values alignment, where, you
|
||
|
|
know, we all think they're, we all, we all think the privacy is very important value for
|
||
|
|
users and for people.
|
||
|
|
And so, you know, we, the way the missile corporation does that is largely through products
|
||
|
|
and the way that, that the foundation does this largely through advocacy.
|
||
|
|
And we, we also cooperate on those matters, especially when something needs to be
|
||
|
|
technical needs to be looked at where some of that, some of that, you know, capability,
|
||
|
|
maybe, maybe the corporation around the foundation.
|
||
|
|
But I think, I think I see this as complimentary where, you know, if you want to change the
|
||
|
|
world, you can't just do one thing.
|
||
|
|
And so, you know, we're trying to change the world by making a product that is better
|
||
|
|
for people and the influences the market and they're trying to change the world by helping
|
||
|
|
set the terms of public debate and engagement to understand why it's so important to have
|
||
|
|
those changes met.
|
||
|
|
Okay.
|
||
|
|
I know it's, it's wider than just, you know, that, that browsers and internet, do you see
|
||
|
|
each one?
|
||
|
|
Absolutely.
|
||
|
|
Yeah.
|
||
|
|
No, it's some, it's, you know, you know, it's about, you know, I, I, I, I, I, I, I, I,
|
||
|
|
I can just honor this by my memory, but, you know, it's about data, about AI, it's
|
||
|
|
about connectivity and places that don't have connectivity.
|
||
|
|
I think it, I think that they're, you know, they have a very broad kind of view of like
|
||
|
|
trying to make the internet the web app.
|
||
|
|
I mean, you see this when you take a look at the website, it's a big bit of judgment.
|
||
|
|
It's a proper 501c3 month that reminds me, we must do one of these, we must do an episode
|
||
|
|
on the, on the, on the, on the non, on the non-perfects.
|
||
|
|
So we have some, some, some to question about this recently.
|
||
|
|
Yes, indeed, Martin, and if you want to take the day off, sorry, not know, I'm just
|
||
|
|
never afraid.
|
||
|
|
Okay.
|
||
|
|
If I take a look at the, at the foundation website, I see things like web monetization
|
||
|
|
and other interesting projects come to mind that are way beyond the scope of the cooperation
|
||
|
|
never mind the project, I suppose.
|
||
|
|
Yeah, I guess, right?
|
||
|
|
I guess, right?
|
||
|
|
Okay.
|
||
|
|
Okay.
|
||
|
|
Care to elaborate on this in terms of, okay, you're not working for the definition.
|
||
|
|
I get it.
|
||
|
|
But the, the reason why I'm kind of going down that rabbit hole, essentially, where is
|
||
|
|
Firefox going, not just from a cooperation perspective, but also from a foundation perspective.
|
||
|
|
Ah, thanks.
|
||
|
|
That helps understand the question you're asking.
|
||
|
|
I mean, so I think web monetization is an interesting case.
|
||
|
|
I mean, it's probably useful to step back and talk about like the problem of the monetization
|
||
|
|
web in general.
|
||
|
|
Exactly.
|
||
|
|
We should probably first explain what web monetization is in a foundation perspective.
|
||
|
|
Yeah.
|
||
|
|
From a, from a foundation perspective.
|
||
|
|
Well, let's talk about like, let's see if there's that further back in that and talk
|
||
|
|
about the way how the web is, it's fun.
|
||
|
|
Right?
|
||
|
|
So right now, the web is largely funded by Africans and, you know, for instance, but not
|
||
|
|
just Google.
|
||
|
|
And so, you know, so you know, you want to do, you want to do a site and, you know, and
|
||
|
|
maybe you can sell a self stack, but like maybe not.
|
||
|
|
And what you probably do is you like sell some ads on your site, right?
|
||
|
|
And then, you know, that, those ads are sold by typically connecting with some ad network.
|
||
|
|
So as you say, Google runs one with the others.
|
||
|
|
And, you know, those ads, you know, and people don't like seeing ads.
|
||
|
|
That's like, forget about that for a moment.
|
||
|
|
They ads like powered by like ubiquitous surveillance, like everybody on the internet
|
||
|
|
and everything they're doing, which is bad.
|
||
|
|
I'm going to come in so much.
|
||
|
|
And the ads like, and like people like seeing ads either, right?
|
||
|
|
And so the question is, is there some way to fund, but on their hand, they like having
|
||
|
|
the web, you know?
|
||
|
|
And so is there some way to have the web without the ads or is that the tracking?
|
||
|
|
And so there's been a lot of interesting work over, you know, the past 10, 20 years about
|
||
|
|
like, is there some way to like people to monetize producing content on the web that doesn't
|
||
|
|
involve, you know, it doesn't involve it again.
|
||
|
|
And so if you're like, and so there's, and so like, if you're big, if you're like big,
|
||
|
|
in fact, your times or the Washington Post, you can sell subscription or your Netflix,
|
||
|
|
right?
|
||
|
|
And if you're like tiny, you don't maybe keep on the money, maybe you don't like,
|
||
|
|
you know, maybe you don't care, right?
|
||
|
|
And, but if you like, if you want to like make, if you're medium sized, then it's actually
|
||
|
|
a problem for you.
|
||
|
|
And so there's been a bunch of interesting work, as I said, over other ways in which
|
||
|
|
people can directly pay for content or indirectly, perhaps, rather than pay for it by watching
|
||
|
|
the ads, right?
|
||
|
|
And so that's, that's the space in which money, the realization work sort of comes into.
|
||
|
|
And I think it's one angle on, on this, on this problem, which is basically micro-pays,
|
||
|
|
right?
|
||
|
|
And which is to say, you know, when I want to read this article on, you know, on, on
|
||
|
|
wire, I pay them a penny, right?
|
||
|
|
Instead of paying, it's not even by a subscription to wire, that kind of penny to do it, right?
|
||
|
|
And so, you know, I think there've been a bunch of reasons why historically, the micro-pays
|
||
|
|
haven't taken off some of which are like, skeptical, some which are social.
|
||
|
|
And I think it's like a little hard to know, frankly, whether or not, whether this version
|
||
|
|
will take off.
|
||
|
|
But I, so, but like, as far as I can tell, what monetization is, you know, is a put on,
|
||
|
|
can we try to like, really attack the, the micro-pays problem for the web?
|
||
|
|
And so, what I see them doing, and again, like, this is not me, but I, I sort of familiar
|
||
|
|
with it.
|
||
|
|
What I see them doing is, you know, is trying to like, plan a bunch of seeds.
|
||
|
|
And see if any of the seeds take, see that, see the seeds spread.
|
||
|
|
And I think that's like, probably, I think, you know, we, no one knows it's going to work
|
||
|
|
here.
|
||
|
|
So, trying a lot of things is probably a pretty good idea.
|
||
|
|
Going forward.
|
||
|
|
Where do you see this going?
|
||
|
|
Well, I think, you know, I guess, I guess, I guess, I guess, so I think like, there's
|
||
|
|
like, again, there's Firefox in the foundation.
|
||
|
|
I guess, well, I think the best case scenario for this would be, the wind scenario would
|
||
|
|
be that the foundations work, and this grant program gets the point where it's pretty clear
|
||
|
|
there's one angle it's going to work.
|
||
|
|
And then, and then with that, that angle is going to work, then it's something that browsers
|
||
|
|
could start looking at, you know, actually, actually cooperating.
|
||
|
|
We've been a bit hesitant in the past to try to take like, take a flyer and individual
|
||
|
|
things, because like, the cost to us of doing anything new is like, really high.
|
||
|
|
And like, I don't know if I've worked on a product like a browser, but one of the things
|
||
|
|
about a browser is that like, people accept that as a change.
|
||
|
|
And so if we were to like add, you know, a particular web organization API today, then
|
||
|
|
if we took it out in like six months, people are really mad at us.
|
||
|
|
And so, you know, I think work quite, work quite cautious about what we put in as like
|
||
|
|
browser APIs, but I think the good outcome, a positive outcome would be that this work
|
||
|
|
creates critical mass for one system.
|
||
|
|
And then that system is something we don't want with the update.
|
||
|
|
So at least that has been more than insightful, totally speculating now, if I take a look
|
||
|
|
at history, I thought I was starting already, no, sorry, no, let me do some speculating
|
||
|
|
for a game.
|
||
|
|
Okay.
|
||
|
|
Okay.
|
||
|
|
If I take a look at history, as we all know, history tends to repeat itself left, right,
|
||
|
|
and tend to when Microsoft developed something on Internet Explorer, some of the key components
|
||
|
|
were actually part of the operating system that allowed Internet Explorer to be to have
|
||
|
|
very short startup times because most of the stuff was up and running already.
|
||
|
|
Now, if I take a look at something called Chrome, where it's with a browser called Chrome,
|
||
|
|
pretty much what is up on, but up on, up on kind of login as in the boot up, you boot
|
||
|
|
up the, the operating system, which is a minimal in external.
|
||
|
|
And before you know it, Chrome is up and running, this is full circle, more or less.
|
||
|
|
Now the very tentative, the visionary question I have, not tentative, but rather visionary.
|
||
|
|
The visionary question I have for you, Eric, where do you see the browser in 10 years
|
||
|
|
time?
|
||
|
|
Never mind, mobile or not.
|
||
|
|
I think I like to think of myself as a pragmatist.
|
||
|
|
And so I think, you know, maybe we're going to see radical changes, but this is a pretty
|
||
|
|
mature product that has, you know, has not changed appreciably in 10 years from a, you
|
||
|
|
know, from like a, from like a sort of overall perspective, but it's gotten as much faster
|
||
|
|
and more capable.
|
||
|
|
But like the sort of general shape of the browser is like unchanged.
|
||
|
|
So you know, we actually published a document, maybe two, more than a half ago, that was
|
||
|
|
called, like, we had the grandiose title, like, Mizzila's vision for the web that I think
|
||
|
|
covers a lot of material.
|
||
|
|
It's, you know, you know, I've been talking about in this conversation, but I think what
|
||
|
|
we sort of think is actually the browser is like pretty good, but that the web is kind
|
||
|
|
of going off the rails.
|
||
|
|
And that, um, and that, you know, the browser's job is to largely bring the web back on
|
||
|
|
the rails.
|
||
|
|
And so we could talk, you know, I'm talking about a few of the things here, like the ubiquitous
|
||
|
|
surveillance of power is advertising.
|
||
|
|
Something we haven't talked so much about is the, the concentration of data and authority
|
||
|
|
and a very small number of companies in a way that is actually quite hard for you to
|
||
|
|
like get out, the, um, you know, how difficult it's become as an individual to, you know,
|
||
|
|
to publish your own data without going through one of those silos.
|
||
|
|
Um, so I think those are things that like that we need to repair, but I think they're like
|
||
|
|
what, I think, and the browser plays an important role in those in terms of building the technical
|
||
|
|
foundations for making that possible, um, and for encouraging those things to happen.
|
||
|
|
But I think almost like, like, I want to have the bigger question of like, where can the
|
||
|
|
web go? And when I like the web, the web to go is in a much more kind of democratic and,
|
||
|
|
you know, what based kind of, uh, situation that we're seeing now.
|
||
|
|
That nicely brings us to the boxes, Martin, unless you have to add something or you want
|
||
|
|
to add something or other?
|
||
|
|
What, yeah, I mean, this is a bit for, um, more, more philosophical, okay, Martin, go
|
||
|
|
ahead. Go ahead. No, I want to go back. Let's go.
|
||
|
|
Let's go. Let's go. We have another two hours. So that's, so that's, I'm going right ahead.
|
||
|
|
So, um, for my users perspective, what do you see as a major improvement coming in the next
|
||
|
|
year? I mean, we've seen the tabs that obviously get something that's just been widely used
|
||
|
|
and we've seen profiles that are, uh, moveable between devices and such.
|
||
|
|
Do you see any other big development that's going to make users life easier, uh, on your horizon?
|
||
|
|
I think it's a little too early to say, honestly. Um, that's fair.
|
||
|
|
As long as if you have, I guess, I guess, why would I, I don't think we're there.
|
||
|
|
I don't think we're there yet. I think what I would, well, I would tease here as I would say
|
||
|
|
that there's a real consciousness that it's gotten harder and harder and the number of sites
|
||
|
|
and the number of things people are especially doing the web has gotten harder and harder to manage.
|
||
|
|
And that, you know, how, and like that the solution is not like to have a bazillion tabs
|
||
|
|
and have them like in a giant tree. Um, and that we should do something about that.
|
||
|
|
I'm serious. Um, we should do something about that. But like, I think that the exact answer
|
||
|
|
that is, uh, DVD, DVD. Okay. Not even deep speech or other, some a cool, uh, stuff comes up,
|
||
|
|
comes up. Um, well, I think, okay, I think that's, you know, that's interesting.
|
||
|
|
I'm sorry, Fullister, I'm normally the one to ask controversial questions.
|
||
|
|
Yeah. Yeah. Yeah. I'm just saying. Yeah. Yeah.
|
||
|
|
I guess, I think, you know, I think speech is just trying to find a niche.
|
||
|
|
Like, obviously, we see a lot of speech-based applications like Siri and Assistant.
|
||
|
|
But, you know, I think people kind of thought they're going to have the Star Trek computer
|
||
|
|
and they don't. Um, and there's still a lot of people using the mask in the windows.
|
||
|
|
And, um, so I think, you know, I think that, that feels like, I think, especially on, you know,
|
||
|
|
the desktop, you know, so Firefox, like we have a global browser,
|
||
|
|
which like has a front-end users, but like Firefox is like, still like,
|
||
|
|
permanently desktop product. And I think in a desktop product, it's a little hard to understand
|
||
|
|
right now where speech fits it, right? And it's understand on a mobile product,
|
||
|
|
it kind of makes, I think there's a lot more like people like, okay, you know,
|
||
|
|
Siri, take me to, you know, you know, Siri, take me to Starbucks or whatever.
|
||
|
|
But I think, you know, I just start product, people are sitting in front of the, in front of the
|
||
|
|
product. And so, I'm certainly not saying there's no role for speech. I'm saying that we need
|
||
|
|
to figure out what that role for speech is because they, right now, it kind of feels like it's an
|
||
|
|
afterthought. So what interface in terms of having a browser, never mind, a smartphone,
|
||
|
|
directly tied into your nervous system, sits on way down to go?
|
||
|
|
That's what I'm hoping for is the nervous system thing.
|
||
|
|
Okay. Okay, Eric, we, we, at the end of the show, we sometimes, or most of the time,
|
||
|
|
actually do something called the boxes, which stands for pick off the week. So anything goes
|
||
|
|
something, Martin normally does, does, Martin, what do you normally do?
|
||
|
|
I don't have a name. Be movies, right? Like, like, especially for you.
|
||
|
|
I normally do a movies, like the stuff you think about. No joke aside.
|
||
|
|
No, but anything goes. On the, on the episode where we had the, the, the electronic
|
||
|
|
furniture foundation of Georgia on the, on the show, I, basically, my box was, it was the,
|
||
|
|
the founding fathers of the US, basically who wrote, who wrote the constitution. So really,
|
||
|
|
anything goes, it's, it's, it's, it refers to something that has come across your path recently,
|
||
|
|
as within the last 100 years or something, we normally take a fortnight of the count,
|
||
|
|
but it's worth mentioning. So anything goes, really. Eric, go ahead.
|
||
|
|
Sure. Well, I will take a moment to pitch this science commissioner author's name is Peter Watts,
|
||
|
|
W-A-T-T-S. And he's amazing book called Blindsight, which I don't even know where to start.
|
||
|
|
It's about vampires and about incomprehensible aliens and the nature of consciousness
|
||
|
|
and whether the future needs this or not. And it's brilliant, incredibly depressing,
|
||
|
|
but it's brilliant. And so I read a lot of science fiction. If you ask me to read, and I tell
|
||
|
|
me to read Peter Watts. Okay, but you're not talking about the Senate now. You're talking about some
|
||
|
|
fictitious entity. I'm joking. It is fictitious, yeah. How would you compare it to all these
|
||
|
|
science fiction sources kind of with stylized stuff? So it's like, it's very hard science fiction,
|
||
|
|
Watts is actually a biologist. And so like, there's like footnotes at the end of the book that
|
||
|
|
describe, you know, the scribe audience talking about. It's not an easy read because he really like,
|
||
|
|
he really wants to talk about, you know, it's, it's like, he wants to explore these issues,
|
||
|
|
he wants to explore, I'm serious about like the nature of consciousness. And one of the big Watts
|
||
|
|
themes is like his consciousness adaptive or is it just like a bugging your system? And should we
|
||
|
|
get rid of it? So it's good stuff. I'm going to say it's really depressing, but it's good stuff.
|
||
|
|
Yes, your pox. Yes, of course. Yes. So my fox is the, well, it's not so much the
|
||
|
|
fox's confidence I went to, but more the fact that we don't know. Here we go again. Post
|
||
|
|
clips. So talking to the mid-person, which is, it's been a long time. None COVID, I see. Okay,
|
||
|
|
go ahead. Go run it. No COVID in person. Yes. Can we expect some YouTube clips or something about
|
||
|
|
the event? Maybe even about the after show? Okay, go something. Okay, but then I have to use YouTube,
|
||
|
|
which links me. I'll be in the show. No, it's people you never know.
|
||
|
|
What about you, sir? It's probably fair. I guess they say they won't be in the show.
|
||
|
|
Yes. My pox is actually something called the
|
||
|
|
mix of assets. No? Yes, it's the Mozilla Foundation made, came up with a Mozilla
|
||
|
|
Money Festo that contains principles and pledges. And these 10 principles basically lay out
|
||
|
|
what is important for humankind in the internet context. And it's 10 principles,
|
||
|
|
links of course, in contrast to Martin Shenanigans will be the show notes. And the one that really
|
||
|
|
struck me as probably bringing the most important principle is actually the second principle.
|
||
|
|
And let me quote this. The internet is a global public resource that must remain open and accessible.
|
||
|
|
And why is that important? Because that basically treats the internet like a basic utility,
|
||
|
|
like water, energy, you have it, and maybe even free speech and freedom in general.
|
||
|
|
This is a core principle. The second thing that comes to mind is principle number seven.
|
||
|
|
Free and open source software promotes the development of the internet as a public resource that
|
||
|
|
goes hand in hand. What this actually says as in the culmination is that open source drives the
|
||
|
|
internet and does fastest innovation. There's a couple of interesting pledges, you tell the
|
||
|
|
woman the show notes, but there's my pox for the week. Eric, I would like to thank you for being
|
||
|
|
the show. That has been more than interesting. Let's put it this way. And keep up the good work.
|
||
|
|
Thank you, great talking to you. This is the Linux in-laws. You come for the knowledge,
|
||
|
|
but stay for the madness. Thank you for listening. This podcast is licensed under the latest
|
||
|
|
version of the creative commons license type attribution chair like credits for the entry music
|
||
|
|
go to blue zero stars for the song solid market to twin flames for their peace called the flow
|
||
|
|
used for the second intros. And finally to the last year ground for the songs we just
|
||
|
|
this use by the dark side. You find these and other details licensed under cc hmando or website
|
||
|
|
dedicated to liberate the music industry from choking copyright legislation and other crap
|
||
|
|
concepts.
|
||
|
|
You have been listening to hacker public radio at hacker public radio does work. Today's show was
|
||
|
|
contributed by a hbr listener like yourself. If you ever thought of recording podcasts,
|
||
|
|
you click on our contribute link to find out how easy it really is. Hosting for hbr has been
|
||
|
|
kindly provided by an honesthost.com, the internet archive, and our sings.net. On this
|
||
|
|
otherwise status, today's show is released under creative commons attribution 4.0 international license.
|