Ladybird browser

From: Peter (BOUGHTONP)10 Aug 2023 16:17
To: ALL1 of 5
"Ladybird is an ongoing project to build an independent web browser from scratch."

Yep, from scratch, by a former Qt/WebKit developer (plus hundreds of other contibutors):

There's no binary downloads - it needs to be compiled - and it's currently all in the repository of the Unix-like SerenityOS which spawned it - but the source of the whole OS is only ~100MB (plus ~200MB Git history)

The source seem reasonably structured - it's easy to navigate to the file where SVG circles are implemented, for example - although the code itself is littered with useless bollocks like:

// 1. A move-to command to the point cx+r,cy;
path.move_to({ cx + r, cy });
// 1. If this’s URL’s cannot-be-a-base-URL is true, then return.
if (m_url.cannot_be_a_base_url())

Comments are helpful when they take less reading than the code and/or explain something not obvious; junk like the above just gets in the way and makes code harder to deal with.

Still, it's an intriguing project, nice to see someone who isn't just rolling over and handing more control to Google, and I'm interested to see what it evolves into - maybe it'll eventually do to Chrome what Firefox did to IE.

From: CHYRON (DSMITHHFX)13 Aug 2023 16:06
To: Peter (BOUGHTONP) 2 of 5
Have you compiled and run it?
From: Peter (BOUGHTONP)14 Aug 2023 14:37
Not yet - it uses Qt6, so I'll wait until Devuan 5 (Daedalus) is released for that.

(Also, possibly until I can find time to try wrap my head around why the CMake/Ninja build process is so convoluted.)

From: CHYRON (DSMITHHFX)14 Aug 2023 16:58
To: Peter (BOUGHTONP) 4 of 5
It'll be interesting to see if/how the serenity thing evolves, but for now its stated goal, "a love letter to '90s user interfaces with a custom Unix-like core" appears to be mainly DE -- and (I think) is a solved problem, e.g. XFCE (which is my goto), LXDE, and some others -- unless the "custom core" (not a Linux kernel?) will be doing something different. I like that it is ~100MB though. That is different!
From: Peter (BOUGHTONP)15 Aug 2023 19:13
I'm less interested in the OS than the browser - though it may be interesting to see where it goes, and reassurring to have another backup in the event of Linux and BSD OSes becoming unworkable - but yeah, one of the points of Serenity seems to be about being [mostly] self-contained, so it has its own kernel, but also its own and window manager/server/etc.

On one hand they may be spending time re-inventing the wheel, but at the same time there's merit in having a consistent self-contained system with understandable code.

(I had a look at Serenity's code for "mkdir" command, there's no stupid comments there, and it is concise and comprehensible despite me not being a C/C++ developer. The same is not true for other mkdir implementations.)