Live data from Hacker News

Transitioning Firefox's rendering engine from Gecko to Servo

jensimmons.com

71–80 of 219 posts

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#71

Wouldn't it be more appropriate to have written rust in a GPU language like OpenGL or OpenCL, since the aim here was to replace the display engine? Curious as to why use a CPU language for the display engine rewrite? It seems to be wasting the GPU all modern systems now contain.. Also, is it fully replacing the display engine, including the font renderer and image codecs?

Servo makes incredibly good use of the GPU. Being able to do that, and iterate so fast on that work, is part of what Rust brings to the table.

(I don't think they've swapped out the font renderer and image codecs yet, but there are quite a few bits and pieces they have swapped out as the Rust community delivers more pure Rust libraries.)

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#72
What do folks think of internetisms that the author uses like "Because Mor Better Ideas™."?

I see a number of engineers use broken phrasing like that in posts and presentations and it comes off really badly to others not in on the "joke". Does anyone really find that sort of thing actually funny or additive or is it the equivalent of trite office humor gone online?

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#73
post #20

Earlier quoted context omitted.

It seems you either haven't read or understood either Joel's article or this article. They are going for small incremental changes, instead of rewriting code from scratch, which is what Joel warned against. They aren't saying, fuck Firefox, replace it with Servo. Instead the idea is use Servo as a way to discover better layout, rendering components and transplant it into Firefox. See Strangular Application pattern ht…

I see what you're saying, however they don't seem to be "strangling" Gecko in the Strangler-pattern sense of the word. Rather it seems they're borrowing smaller pieces (Stylo) written in a foreign language and integrating them with Gecko as the main engine. To me that sounds like the end-state is a Chimera and not a Lion, without any incremental end-user benefits along the way.

> To me that sounds like the end-state is a Chimera and not a Lion

This is an aesthetic judgment. There is no such things as «a Lion» in the real world. Engineering is the work of building chimeras that solve your problems.

> without any incremental end-user benefits along the way.

The expected benefits are :

- speed (thanks to the massive parallelization permitted by Rust «fearless concurrency»)

- reliability (thanks to Rust's memory safety to avoid crashes and better type system that helps reducing the number of bugs)

- security (thanks to Rust's memory safety to avoid exploits)

Component from Servo will be included in Gecko one by one, the user will gain on these three fronts each time a new component is included.

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#74

What do folks think of internetisms that the author uses like "Because Mor Better Ideas™."? I see a number of engineers use broken phrasing like that in posts and presentations and it comes off really badly to others not in on the "joke". Does anyone really find that sort of thing actually funny or additive or is it the equivalent of trite office humor gone online?

I enjoy reading words which indicate the person who wrote them is not entirely dead inside. It provides, i feel, for a Mor Better Reading Experience™

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#75
post #45
post #8

The submission title has been changed from "Replacing the Jet Engine While Still Flying" to "Mozilla’s project to replace Gecko with Servo" (at the time of this writing). Some of the other comments are pertaining to the "Jet Engine" title. For anybody that might be confused, like I was :)

Unfortunately the new title seems to be misleading in a different way. There is no "project to replace gecko with servo". There is a project to advance gecko so it is state of the art in browser engines. Much of the current state of the art has been developed in Servo, and the natural way to bring that technology to gecko is to integrate the components from servo directly. This has other nice properties like increasi…

Well, you can write individual components in Rust and put them into Servo and then refactor the existing C++ to make it modular enough for those components to be replaced by the Rust version.

Then eventually you'll be able to replace enough components that it's all Servo, and no Gecko. At that point Servo will be functionally complete, as its individual components will be on par with the Gecko components.

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#76
post #7

Earlier quoted context omitted.

Looking forward to it too; this is a big deal because it will put a Rust implementation on many millions of desktops. I'm totally fed up with CPU and memory hogging browser bloat on my laptop. My dev env runs so much better when I kill all Chrome processes. I know that the article is only talking about the render engine, and not JavaScript, which I suspect is the main browser bloat culprit , but I'm still hopeful. Br…

Rust is neither faster nor more efficient than C++.... its benefits lie elsewhere.

It's more subtle than that. Different languages promote different idioms, in particular via their standard library. C++ is particularly unusual in that you don't get much out of the box, and in older projects even things like strings and containers are often custom-built.

The combination of language and library provide affordances that make some idioms easier to represent, and others harder. This influences the design of code written in the language. Clumsy idioms generally don't get far, even if they would be more performant or provide some other benefits, like promote easier concurrency. And sometimes there's a tension: e.g. mutable structures tend to be more performant but harder to add parallelism to, and harder to reason about (leading to more copying than strictly necessary). Rust in particular has different ideas here.

I think the jury is still out on whether Rust will in practice tend to promote code that is faster or slower than C++. Of course any given project in Rust could be rewritten in C++ to be just as fast, or perhaps faster. But that's not what happens in the real world. Human factors matter, path dependence matters, affordances matter.

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#77
There is really interesting podcast episode about Rust and Servo https://changelog.com/podcast/228 with https://en.wikipedia.org/wiki/Jack_Moffitt

Definitely worth listening to, tons of info there.

from show notes interesting presentation: https://docs.google.com/presentation/d/1-FSfNO-oT9Wqo2swvm6U...

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#78

What do folks think of internetisms that the author uses like "Because Mor Better Ideas™."? I see a number of engineers use broken phrasing like that in posts and presentations and it comes off really badly to others not in on the "joke". Does anyone really find that sort of thing actually funny or additive or is it the equivalent of trite office humor gone online?

I think it shows who the author had in mind while writing the piece. If you use memes etc. then you are writing for an 'in crowd' that understands the same cultural references as you. That's OK, but you should be clearly aware of it.

The one thing I would have appreciated from the post is for the author to have written about the "Mor Better Ideas" that make Servo better than Gecko.

To me that particular phrase in this particular post is a little out of place and lowers the tone slightly. I expect that to others it will be seen as fun/human and indicating that the post isn't written by a corporate drone.

YMMV

Re: Transitioning Firefox's rendering engine from Gecko to Servo

#79

What do folks think of internetisms that the author uses like "Because Mor Better Ideas™."? I see a number of engineers use broken phrasing like that in posts and presentations and it comes off really badly to others not in on the "joke". Does anyone really find that sort of thing actually funny or additive or is it the equivalent of trite office humor gone online?

It's annoying and unprofessional. Stop trying to be cutesy and present the information in a way that people who are busy can consume quickly and make decisions on.

Is this the tone of the whole project? I'd love to contribute, but I don't want to wade through a reddit-comment-thread-level of forced references and memes to do that.

I get the reason for doing it, and I like that the internet isn't full of drab corporate-speak all the time, but this piece just missed the mark I think. The title doesn't really communicate the intent well and instead feels like its trying to be a little clever for the sake of being clever. It's really a two or three sentence press release that got fluffed up with some non-corporate language.

Post reply on HN