News for hackers. Stuff that matters.
Re:Ladybird: A new cross-platform browser project by ly3xqhl8g9 on Monday September 12, 2022 @10:09AM (#32810507)
If you want to build another Chromium you need billions, since that's how Chromium was built. But maybe you don't even need to build another Chromium.

The enduser couldn't care less what if-else nightmare logic you ran in your "application engine" in order to reach the current framebuffer, they care only about the framebuffer. Following this logic, that tidy codebase should perhaps be also tiny: in the extreme case, just thinking on a whim right now, it should be comprised of only one "module": a stable diffusion-like algorithm which ingests the HTML/CSS/JS specification documents and the requested website response and "simply" outputs the adequate framebuffer, with which the enduser interacts accordingly. This kind of approach probably reduces the cost from billions to only a few millions for the GPUs training time. Sort of a "generative browser", a "genser", if you will.

Re:Ladybird: A new cross-platform browser project by leidenfrost on Monday September 12, 2022 @10:39AM (#32811031)
No offense, but I think that's the problem with our approach to browsers. People want the shortest route to deliver an open source chrome that's not chrome. And Chrome won. That's it. Even Firefox, an amazing feat of engineering by itself, couldn't even grasp the userbase that Chrome has.

The if-else nightmare logic it's exactly what drives developers away and a surefire way to kill a project before it's even born.

Since the success of Ubuntu as a distro, people started to think of the FOSS ecosystem as a competitor to commercial software but gratis. And IMHO that's a wrong approach to Open Source.

We should go back to the roots, forget about competing, focus on what's the best not for the end users but on what's fun for the FOSS developers, and bring back the hobby on open source projects. Maybe someday, this project will become huge. Maybe not. Dunno.

Re:Ladybird: A new cross-platform browser project by bornfreddy on Monday September 12, 2022 @11:03AM (#32811411)
This. And I just hope that the license doesn't kill this project - there is a reason why Linux (GPL) is still here while Konqueror/KHTML (MIT) is nowhere to be seen, or worse, was (ab)used by Google to get us to this mess.
Re:Ladybird: A new cross-platform browser project by badsectoracula on Monday September 12, 2022 @11:20AM (#32811694)
KHTML is LGPL not MIT, as is WebKit (which was made by Apple, not Google - Google forked WebKit to make Blink, also LGPL).
Re:Ladybird: A new cross-platform browser project by bornfreddy on Monday September 12, 2022 @12:05PM (#32812374)
Thank you, it is LGPL - I remembered wrong. No difference though; Blink is open source, but Chrome is not.
Re:Ladybird: A new cross-platform browser project by bla3 on Monday September 12, 2022 @12:39PM (#32812861)
Almost all of Chrome is open source. You're confusing it with Safari, where the engine is open source but the browser UI isn't.
Re:Ladybird: A new cross-platform browser project by leppr on Monday September 12, 2022 @01:33PM (#32813783)
It depends what we're after. Almost all of the code in LoC percent terms might be open-source, which helps people who want to launch derivative browsers or learn from the code. But on the other hand, almost all of the Chrome instances running today are proprietary builds with mystery special sauce added (I'm guessing desktop Linux users are the only significant userbase to run vanilla Chromium), which doesn't help us on privacy, neutrality, etc...
Re:Ladybird: A new cross-platform browser project by bornfreddy on Monday September 12, 2022 @03:34PM (#32815635)
Almost. There is no confusion, rest assured. They are both proprietary, but one of them likes to act as if it was open source (see also: Android), and clearly it hides well.
Re:Ladybird: A new cross-platform browser project by bla3 on Monday September 12, 2022 @07:34PM (#32818772)
Android as far as I know uses a source-drop model. For both WebKit and Chromium, all code reviews are as far as I know done publicly.
Re:Ladybird: A new cross-platform browser project by bornfreddy on Tuesday September 13, 2022 @11:25AM (#32825526)
AOSP is open source, but Android itself is far from it - just ask Huawei. More and more code is in proprietary bits of Google code. And Chromium is not Chrome, most people use Chrome builds which are proprietary.
Re:Ladybird: A new cross-platform browser project by ly3xqhl8g9 on Monday September 12, 2022 @10:54AM (#32811246)
Sure, I was merely thinking out loud (bad move it seems from the children comments) how to solve the "need billions, got maybe millions" issue, and since I can't get stable diffusion out of my mind, as everyone recently, I just saw it as a possible light at the end of the tunnel: why not let the machine implement the specification.

I am all for going back at the roots, but at the root of all the roots is the enduser: the machine must do something useful, otherwise it's a niche postmodernist art contraption (not that there's anything wrong with that).

Re:Ladybird: A new cross-platform browser project by leidenfrost on Monday September 12, 2022 @11:04AM (#32811417)
I think the "if-else nightmare logic" caused some non-friendly answers over there but I get your idea.

I don't entirely agree with the end user being the root of all, at least in FOSS. While they shouldn't be alienated, the focus should be on having a good approach to the project, one that is friendly with the idea of having to code after a full time job, like most open source developers do.

Keep in mind that this isn't a job, nobody will fire you and most complains by end users can be ignored with no consequences. If the project is not fun and engaging, then what's the incentive to keep going?

Re:Ladybird: A new cross-platform browser project by ly3xqhl8g9 on Monday September 12, 2022 @12:12PM (#32812493)
My point was that a machine is always intended to make some useful work, and even as a sole developer of a private project, that project still has one enduser, the developer itself, since the existence of the project is to achieve meaningful computation one way or another, even if that computation is performed only in the test suite, hence the enduser as root. However, as a project organizer, sure, you want to strive for welcoming others, making it easy to embark, 1-cli command to setup, interesting to engage and persevere in development, and so forth.
Re:Ladybird: A new cross-platform browser project by Qualadore on Monday September 12, 2022 @01:34PM (#32813808)
> We should go back to the roots, forget about competing, focus on what's the best not for the end users but on what's fun for the FOSS developers, and bring back the hobby on open source projects.

I prefer Blender's approach of heavily prioritizing users over developers [0]. It's been a huge success.

[0] https://youtu.be/qJEWOTZnFeg?t=1612

Re:Ladybird: A new cross-platform browser project by Fnoord on Monday September 12, 2022 @02:59PM (#32815130)
Firefox was more popular before Chrome existed. It was winning ground from MSIE. Chrome ate marketshare from both, and Safari took the mobile share (Mozilla Mobile / Fennec, while in development before release of iPhone never got popular).
Re:Ladybird: A new cross-platform browser project by TheKarateKid on Monday September 12, 2022 @12:41PM (#32812891)
> If you want to build another Chromium you need billions, since that's how Chromium was built.

Chromium isn't successful because of the billions thrown at it. It's successful because it was significantly better than anything else during its rise:

It was significantly faster than IE and FF. Much better memory management and crash handling via separate processes. Strict adherence to web standards. Seamless auto-updates that required no user intervention - ever. No admin privileges needed for updates. Clean UI that stays out of your way. Top-tier developer tools built-in. Very secure. Has there ever been a widespread instance where users were infected with malware from a Chrome exploit? I haven't heard of one yet.

Any competitor to Chromium needs to be significantly better than it for genuine reasons. Unfortunately, "not Google" and "privacy" aren't going to cut it for most average users to switch over. Unlike Meta, Google's reputation isn't in the trash so people still trust them.

Re:Ladybird: A new cross-platform browser project by frenchy on Monday September 12, 2022 @12:57PM (#32813121)
> Chromium isn't successful because of the billions thrown at it. It's successful because it was significantly better than anything else during its rise

I think you're dramatically underestimating the importance that advertising and bundling had in the rise of Chrome. Every non-techie I've talked to about this basically uses Chrome because Google told them it was the best, and Google is the first internet page they go to whenever they go to the internet.

Re:Ladybird: A new cross-platform browser project by Springtime on Monday September 12, 2022 @01:45PM (#32814020)
Google pushed Chrome hard for years on its sites, it's true. It used to be suggested at the footer of every Youtube results page ~10 years ago, be suggested at the top when you visited Google search, Gmail, Translate, etc. It'd pester Firefox users by saying it's better and ironically even users using Chromium forks which it's based upon.

IIRC some Firefox devs also accused them of tweaking sites like Youtube in particular ways that only affected competing browsers and made performance worse comparatively.

Re:Ladybird: A new cross-platform browser project by TheKarateKid on Monday September 12, 2022 @01:03PM (#32813214)
I wouldn't say it's the advertising and bundling as much as other factors I didn't mention as well. For example, Chromebooks in schools drew a lot of people to use Chrome and its ecosystem. Google Apps for Workplace/Education as well.

We've seen Microsoft throw money and bundling with IE and Edge, and it still hasn't done much. Even with being able to bundle Edge as the OS default - the biggest advantage anyone could ask for.

Re:Ladybird: A new cross-platform browser project by beagle3 on Monday September 12, 2022 @01:21PM (#32813529)
IE 3 and 4 compared to Netscape navigator in 1998 were also superior and (relatively) bug free. It didn’t make a dent.

Then Microsoft bundled IE4, and killed Netscape (it took a while, but the unstoppable momentum was built with bundling/embedding).

Chrome is “bundled” with Google. Every Google search recommends it, and everyone uses Google. Same for YouTube which to this day works better and faster on Chrome. Android (80% user base at the time it happened) also pushed Chrome.

Chrome wouldn’t have become popular if it wasn’t good. But the market dominance did not come from being good - it was just a necessary condition for market dominance in a market already dominated by incumbents.

Re:Ladybird: A new cross-platform browser project by agumonkey on Monday September 12, 2022 @01:26PM (#32813634)
Google is not your is, and a vast majority of users don't see Chrome add nor would know what to make of it. Many people still use edge.
Re:Ladybird: A new cross-platform browser project by favourable on Monday September 12, 2022 @02:40PM (#32814839)
> Has there ever been a widespread instance where users were infected with malware from a Chrome exploit? I haven't heard of one yet.

Maybe not widespread attacks, but the Chrome team regularly see 0days being actively exploited in the wild, I imagine as rare and isolated incidents instead of mass pwning billions of users. For some exploits to work you have to visit a carefully crafted page that has the payload in it. And that's not easy to do at scale. You'd have to cajole millions (billions?) of people into navigating to a specific URL. Also I imagine you don't hear about these exploits because the actors would have good op-sec and keep all their data gathering secret.

Re:Ladybird: A new cross-platform browser project by TheKarateKid on Tuesday September 13, 2022 @11:56AM (#32825986)
Of course. But my point is that the old days where visiting a very reputable website and being infected with a drive-by exploit delivered via an ad seem to finally be over.
Re:Ladybird: A new cross-platform browser project by a-user-you-like on Monday September 12, 2022 @10:18AM (#32810676)
He’s explicitly refuting that you need billions. Just because they did it that way doesn’t mean the next browser/chromium has to be that way.
Re:Ladybird: A new cross-platform browser project by rvz on Monday September 12, 2022 @10:33AM (#32810920)
> If you want to build another Chromium you need billions, since that's how Chromium was built.

Not even Google started from scratch. They started from WebKit and used their billions to overhaul, maintain and change everything from the engine to the renderer.

> But maybe you don't even need to build another Chromium.

That's what Servo said years ago. I don't see the progress or hype around that anymore.

Maybe Ladybird is different, but overall I'm very skeptical; but an alternative browser that is not Firefox, Chrome or Safari needs a high multi-person and project contribution for it to work.

Re:Ladybird: A new cross-platform browser project by masklinn on Monday September 12, 2022 @10:37AM (#32810985)
> Not even Google started from scratch. They started from WebKit and used their billions to overhaul

And WebKit didn’t start from scratch either, it started from khtml.

A few years ago there used to be 4 active browser lineages, now there are just 2.

Re:Ladybird: A new cross-platform browser project by Andrew_nenakhov on Monday September 12, 2022 @12:21PM (#32812601)
It's a pity Opera just died. Something something patents was given as a reason they didn't publish source code under some Free license
Re:Ladybird: A new cross-platform browser project by thephyber on Monday September 12, 2022 @01:21PM (#32813535)
> That's what Servo said years ago. I don't see the progress or hype around that anymore.

The Mozilla team didn’t intend Servo to be a fully functional new browser. The project was amazing as a Rust-only implementation of the basics of a browser. But ultimately, the utility of Servo was that it served as a place to rewrite modules into Rust for use in Firefox.

Incidentally, there were some good talks by the Firefox team about how they chose to select which modules to rewrite in Rust (since a complete rewrite with feature parity is prohibitively expensive).

Re:Ladybird: A new cross-platform browser project by azakai on Monday September 12, 2022 @01:30PM (#32813714)
> The Mozilla team didn’t intend Servo to be a fully functional new browser.

This is not accurate. Some parts of Mozilla thought that way, other parts didn't. And thoughts changed over time. For years Servo was officially an experiment, with many possible futures.

Had it succeeded in rendering the modern Web well enough, I think it could have become a fully functional new browser. Sadly, that didn't happen.

(source: I was at Mozilla at the time, and adjacent to the Servo people, who I talked to a lot)

Re:Ladybird: A new cross-platform browser project by JBits on Monday September 12, 2022 @09:43PM (#32819808)
Have all innovative parts of Servo been incorporated into Firefox now? Or are there some modern GPU based implementations or something like that which give it the potential to be faster than Firefox?
Re:Ladybird: A new cross-platform browser project by trashburger on Monday September 12, 2022 @10:27AM (#32810816)
> If you want to build another Chromium

I don't want to build another Chromium. I want to build a web browser. I don't think every browser is required to be like or support as many websites as Chromium does. Note that competing with the popular browsers of today has never been stated as one of Ladybird's goals.

Re:Ladybird: A new cross-platform browser project by forbiddenvoid on Monday September 12, 2022 @11:05AM (#32811438)
I would argue that rather than 'supporting many websites' Chromium has actually warped web development around its own goals. This is one of the effects that really turns me off of it. Google has pushed to make Chrome the OS of the internet.
Re:Ladybird: A new cross-platform browser project by MuffinFlavored on Monday September 12, 2022 @11:04AM (#32811422)
> I want to build a web browser.

Mild nitpick but "web browser" and "rendering engine" and "JavaScript" are different.

Anybody can take WebKit and do some cool stuff on top in the UI and call it a "web browser".

At the end of the day, without patching to the HTML/CSS rendering engine, it's going to perform like every other WebKit based browser, right?

https://en.wikipedia.org/wiki/Comparison_of_browser_engines

I know Chromium uses Blink and not WebKit now.

Looks like Ladybird is based on https://en.wikipedia.org/wiki/SerenityOS "LibWeb"

That's all just rendering. You need to hook a JavaScript engine up to the rendering engine as well (with glue to the DOM from what I know?)

Chromium is Blink + V8, right?

Does Ladybird SerenityOS Libweb also do JavaScript?

> Browser with JavaScript, WebAssembly, and more (check the spec compliance for JS, CSS, and WASM)

It does. https://github.com/SerenityOS/serenity https://github.com/SerenityOS/serenity/tree/master/Userland/...

Re:Ladybird: A new cross-platform browser project by trashburger on Monday September 12, 2022 @11:12AM (#32811566)
Ladybird, as part of the larger SerenityOS project, is building the browser UI, layout engine and JavaScript engine all on its own. That's what I referred to when I meant "web browser".
Re:Ladybird: A new cross-platform browser project by aaaaaaaaata on Monday September 12, 2022 @11:52AM (#32812147)
"Listen man, that's great and all, but all I wanna know is, how slow are you gonna be with patching them there vulns?!"
Re:Ladybird: A new cross-platform browser project by munificent on Monday September 12, 2022 @12:58PM (#32813128)
> If you want to build another Chromium you need billions, since that's how Chromium was built.

This is akin to saying that if you want visit the US from Europe you must built a wooden tall ship, secure a crew of sailors, pack several barrels of limes, and spend weeks sailing across the ocean.

That's how they got there the first time but the choices they made then were determined more by the information they had at the time (or lack thereof) and the technology they had (or lack thereof).

Re-implementing a browser, starting today, is a fundamentally different process from building one starting over a decade ago while the web was constantly evolving.

Re:Ladybird: A new cross-platform browser project by ly3xqhl8g9 on Tuesday September 13, 2022 @02:13AM (#32821141)
Hence the second sentence "[b]ut maybe you don't even need to build another Chromium." and then the second paragraph "cost-reducing" billions to millions day-dreaming of a specification-based pixel generator.

Of course, the n-th time is cheaper, easier, faster, case in point: I implemented 'deon', a notation format for structured data [1], using your amazing "Crafting Interpreters" for which I paid nothing since I was reading the web version as you were writing. Never had the chance to say thank you, somewhere in my drafts there is an email of appreciation: reading your book and applying it chapter by chapter, crafting a final, useful artifact, has been a beautiful experience, thank you very much, for all your writing, since I am a longtime reader of your technical and otherwise texts.

[1] https://github.com/plurid/deon

Re:Ladybird: A new cross-platform browser project by munificent on Tuesday September 13, 2022 @01:02PM (#32827044)
> Hence the second sentence "[b]ut maybe you don't even need to build another Chromium."

Sorry, yes. I didn't intent to disagree with your entire comment, but just remark on the first sentence of it.

I'm glad you enjoyed the book! :D

Re:Ladybird: A new cross-platform browser project by sph on Monday September 12, 2022 @12:41PM (#32812890)
> If you want to build another Chromium you need billions, since that's how Chromium was built.

Reminds me of: "According to all known laws of aviation, there is no way that a bee should be able to fly. Its wings are too small to get its fat little body off the ground. But the bee doesn't know that, so it flies anyway."

I guess Kling & co. didn't get the memo :)

Re:Ladybird: A new cross-platform browser project by sterlind on Monday September 12, 2022 @11:09AM (#32811504)
> a stable diffusion-like algorithm which ingests the HTML/CSS/JS specification documents and the requested website response and "simply" outputs the adequate framebuffer

haa, that's a fun idea! setting aside efficiency, though, neural networks aren't usually Turing-complete, so arbitrary JS isn't going to work. but, I could imagine building a very strict, minimalist browser engine (think XHTML and Scheme rather than HTML and JS), and learning a transformation between the two.

and for perf to be attainable, rather than an NN you could learn a bunch of syntax transformation rules between the two.

Re:Ladybird: A new cross-platform browser project by ly3xqhl8g9 on Monday September 12, 2022 @11:42AM (#32811996)
Precisely, fun is the operative word. As I was writing I was thinking that perhaps you would still need to run client-side non-layout JS, however, "attention is all you need": it seems that there are some architectures for Turing complete neural networks [1].

I wouldn't worry about performance: Nvidia breaks world records with H100 [2], Intel is going for 6 GHz processors [3], for performance you just have to be patient.

[1] 2019, Jorge Pérez et. al, On the Turing Completeness of Modern Neural Network Architectures, https://arxiv.org/pdf/1901.03429.pdf

[2] https://blogs.nvidia.com/blog/2022/09/08/hopper-mlperf-infer...

[3] https://www.tomshardware.com/news/intel-teases-8-ghz-raptor-...

Re:Ladybird: A new cross-platform browser project by samatman on Monday September 12, 2022 @12:34PM (#32812789)
The neural network architectures in use are all Turing complete, it's just that halting is a precondition of meeting their reward function.

It would be interesting to see if a search engine's worth of raw data, and enough training on Chrome's output, could build a JS interpreter. I'm skeptical but don't see why not in principle.

Re:Ladybird: A new cross-platform browser project by Fnoord on Monday September 12, 2022 @02:57PM (#32815102)
KHTML / Konqueror is the foundation of Blink / V8 / Chromium. It wasn't build in one day by Google. They forked an existing project, utilizing (L)GPL. Gnome never had their own browser engine which was build from the ground up. Mozilla Firefox (or Phoenix/Firebird) was Gtk+ back in the days, Konqueror Qt. Later on Gnome got a native browser but it was some silly fork anyway. Chrome benefits from the network effect, integration with other popular Google products such as Google search, Gmail, YouTube.