This Month in Ladybird

239 net01 73 8/2/2025, 6:34:25 AM ladybird.org ↗

Comments (73)

pmkary · 2h ago
You guys are hugely on fire. Who would have thought someday a new engine rises in this climate, and then who would have thought it would be a small team, without a trillion dollar giant behind them pouring hundreds of millions into its production? This is truly one of the greatest things I have seen in my lifetime.
samuell · 4h ago
On Twitter, Andreas points out that his Keynote Presentation on the Ladybird Browser on the FUTO conference in Texas earlier in the year, might be the best current introduction to the project:

https://www.youtube.com/watch?v=9YM7pDMLvr4

mrob · 3h ago
120Hz limit for high refresh rate support seems strange. The most common refresh rate for high refresh rate monitors is 144Hz, and faster refresh rates are available. If you run a 120fps animation on a 144Hz monitor you'll get duplicated frames, which negates a large part of the benefit.
hyperbrainer · 2h ago
My first thought was that this was done with consideration for mobile phones, since many higher-end models use 120 Hz displays, but Ladybird does not seem to support mobile for now.

> Websites using requestAnimationFrame now render at up to 120Hz on supported hardware

But the phrasing of it about "can now" suggests to me that this may simply be a performance issue too. They changed it from 60 to 120. Perhaps in the future they can go from 120 to 144 or even 240.

m12k · 2h ago
Maybe the developer that implemented it only had a 120hz display to test it on?
net01 · 4h ago
Here's a guide to help you get started contributing:

https://github.com/LadybirdBrowser/ladybird/tree/master/Docu...

Here are the latest Web Platform (WPT) tests:

https://wpt.fyi/results/?run_id=6292901677236224

There is a Discord if you want to ask questions:

https://discord.gg/c8JEZkDvtY

Compile it yourself (it takes 15-20 minutes to fully compile) and test it on a website. Compare it to Firefox or Chrome and see what's wrong. Fix it and submit a PR.

how to build Ladybird https://github.com/LadybirdBrowser/ladybird/blob/master/Docu...

hyperbolablabla · 4h ago
I tried contributing but its too c++-y for me to understand it unfortunately.
net01 · 3h ago
This is the way to start learning.

Look at a WPT test and try to focus on it.

Look at the web spec

Ask questions in the Discord about where it would be, and people are gladly willing to help. :)

its-kostya · 1h ago
Unfortunately for c++, the industry is moving towards Rust. Even conservative gray-suit Corps are using rust for their new projects. The limiting factor is available rust devs. Writing c++ is a sure way to get hired maintaining a legacy codebase.

Ladybird is an outlier and there are probably a few more project like it, but anyone looking to be employed should pick up the new skill that is rust. Contribute to ladybird and learn c++ if the project interests you, but don't learn it for a career.

zarzavat · 22m ago
You may live in a bubble. Rust is great and all but C++ is still dominant in its space. The web browser you're using right now? C++. The OS you're using? Probably some unholy mixture of C and C++. Console and computer games? Written in C++ as a rule.
desdenova · 14m ago
I wish I lived in the same world as you.

There's basically 0 rust jobs available that aren't scam startups.

saidinesh5 · 1h ago
There are plenty of embedded projects still being started with c. C++ also has a lot of demand where i am at.

The advice about career is very geography and industry dependent. Almost no one hired Node.js developers in my city back when i started.

xdfgh1112 · 44m ago
They're likely moving to swift not rust.
samuell · 4h ago
This is such an important project, to keep the big corporations from completely controlling the future of the web.

And it doesn't hurt that Andreas seems to be such a nice, humble guy.

Xaiph_Rahci · 20m ago
> Andreas seems to be such a nice, humble guy.

Truer words have never been spoken!

His monthly update videos are so soothing to watch.

larodi · 4h ago
Interesting whether guys employ LLM to speed up development. Starting a new browser just like this would be very bold decision like 15 years ago, now seems like a reasonable thing to do actually.
RadiozRadioz · 4h ago
Would have to be at the hands of an already skilled practitioner. Average Joe programmer setting out to build a browser with Copilot will end badly. Big-picture architecture and discipline is too important with this level of complexity.
shakna · 1h ago
Ladybird is 425k LOC. Chromium is 3.5m LOC.

Starting a new browser, using LLMs... Is not going to maintain enough context.

Whilst Andreas does use Copilot a fair bit [0], he tends to do a line at a time, frequently disagree and rewrites his own, before prompting again. That is... He basically uses it as a fancy autocomplete. Not much else.

[0] https://www.youtube.com/watch?v=8mxubNQC5O8&t=3099s

net01 · 4h ago
Most of the guys in the LB project don't use LLM's, even though it extremely spec-driven, because C++ is not great with AI for some reason.
hyperbolablabla · 4h ago
But Andreas does fairly heavily, if you watch his code VODs you see that he leans on copilot often.
SpecialistK · 2h ago
I haven't watched the VODs myself but I am curious as to the nature of the Copilot use - is it a fancy autocomplete, a 2nd look at code he's already written, or is it generating large parts of the code?

The SerenityOS project literally has "NIH syndrome" at its core ["the SerenityOS project, which has a strong culture of writing everything from scratch.", https://ladybird.org/#faq] so I would expect a degree of skepticism of AI code generation.

But there was the post semi-recently about Cloudflare developers shipping a mostly-AI-generated software, overseen by real devs [https://news.ycombinator.com/item?id=44159166] Perhaps Andreas' use of Copilot is a similar thing, where he saves keystrokes and finds errors in the generated output with his own experience. I'll go watch some VODs.

xdfgh1112 · 41m ago
Most of it was written without LLMs for that reason, but now Ladybird is its own project, the NIH focus has largely gone away. They are using a lot of third party code now. Their mission is compete with Chrome, not be 100% NIH.
rzzzt · 3h ago
With some "Thank you, Copilot"-s sprinkled in to spare him in the robot uprising universe.
therein · 3h ago
A comment that could apply to anything. Notice how nobody except for your subthread here is talking about AI. This thread is not about AI or LLMs, for a good reason.
kome · 2h ago
they’re downvoting you, but the developer actually uses copilot a lot in his development videos. why are people so up in arms?

of course, he’s a very, very proficient developer and a browser specialist. he’s not just vibecoding, like you might be implying. but he also uses llms for development.

NoboruWataya · 34m ago
Because it's bad enough (for those of us that aren't heavily invested in the topic) that often 50%+ of the frontpage is about AI now, to go into the comments for a clearly non-AI topic and see a bunch of "but what about LLMs" comments really just sucks the fun out of HN for a lot of us.
squigz · 1h ago
Because LLMs being a thing now has no bearing on whether it's a good idea or more practical to build a new browser.
Timwi · 4h ago
It is so amazing and wholesome to see a huge team of people come together and just collaborate on something they are passionate about and seriously believe in. I'm very hopeful that Ladybird will get to the point where we can use it as a main browser.
net01 · 4h ago
Compile it yourself (it takes 15-20 minutes to fully compile) and test it on a website. Compare it to Firefox or Chrome and see what's wrong. Fix it and submit a PR.

how to build ladybird https://github.com/LadybirdBrowser/ladybird/blob/master/Docu...

phito · 3h ago
You forgot the enormous learning curve of understanding how browsers work and how to write proper code in Ladybug that doesn't waste the maintainers´ time.

Last time I tried, I couldn't find a website that worked with it. Where do you even begin contributing to such a large, complex, very much WIP project? The barrier to entry is daunting.

barkingcat · 3h ago
When it comes to larger projects, first:

- you don't need to understand the whole in order to help

the kind of bugs you can start with are like :

- this icon is a bit weird, it's off centre by 2px - how do I add 2 pixels to this icon? either by moving it or by changing the underlying image asset? if I'm moving it, what is the subroutine that paints it? if I'm changing the image asset itself, where is it stored? (is it in a packed store? or is it just a plain file, etc)

- when I click this button, trace the pathway - it's supposed to add to history and turn blue. is it doing that?

etc.

For large projects, start super small and work your way out from there.

saagarjha · 3h ago
Pick a site that almost works on it and then fix it to fully work?
therein · 3h ago
>Last time I tried, I couldn't find a website that worked with it.

That was the case for me last time I tried it as well, which was a few months ago. Tried it again yesterday and I could load many pages. Could even render complex real life pages like YouTube.

I recommend anyone to build it themselves. It is a very simple and smooth experience.

phito · 2h ago
Amazing, going to try it again right now. I had also tried a few months ago.
Timwi · 2h ago
I did actually watch a friend compile and run it, and we tried it on a couple of simple web pages and were impressed with the results!

However, there are two barriers to me building it myself and submitting PRs. The first is that it's not officially supported to build or run on Windows, so I'd have to get familiar with WSL first or set up a dual-boot environment.

The second is that it's written in the obsolete and unusable language of C++. I would have loved an opportunity here to get into Rust or something, but C++ has proven itself hazardous to my mental health, so I'm staying away from it.

emilbratt · 28m ago
I love Rust, but I do not like how people are rust evangelists and look down on everything else. That is not how we in the Rust community look at things.

Now, with that out of the way. Andreas has been very clear about the reasons why C++ is the chosen language. He has years of experience with it along with writing browsers.

Im paraphrasing here, but he has said that the web evolved around the era of OOP and C++ is the OOP language of that era. Including statements on how C++ fits nicely with the OOP styles of web specs.

robin_reala · 2h ago
There’s always the option of contributing to Servo if you’re interested in Rust and browser engineering.
xdfgh1112 · 41m ago
Unusable yet people have written a browser in it?
0points · 2h ago
Those are two you-problems.
skrebbel · 1h ago
> The second is that it's written in the obsolete and unusable language of C++.

Oh come on. There's nicer ways to say "I'm not good at it". It's OK you know, you can't be good at everything. Just don't make it other people's fault.

tormeh · 54m ago
Nobody's good at C++. I've written C++ and even got to the point where I felt I had things under control, but tbh that's just delusion and hubris.
apelapan · 13m ago
If you look at it that way, nobody is good at anything. True perhaps but not a very useful stance.

Millions of people have built meaningful software with C++ over the past several decades. It is everywhere and it mostly works OK.

Of course, C++ is not necessarily the best choice for everything or anything. But it is a mostly reasonable choice for lots of things in 2025, just like it was in 1995.

perching_aix · 2h ago
Why the commanding tone?
net01 · 2h ago
English isn't my first language; sorry about that :)
edent · 3h ago
I wonder if Ladybird will ever become a member of the WHAT-WG steering group. It would be nice to see more / any independent voices on there.
skrebbel · 1h ago
I doubt they're as interested in bigco politics as they are in hacking out features.
easton · 5m ago
On the other hand, I think they had a dev or two on TC39. I remember it being mentioned in one of Andreas’ videos (years ago)
Pooge · 3h ago
For some reason I can't find the RSS feed for the newsletter; anyone that did who could post it here? I can only find the one for the "announcements"—which seem a lot less relevant to follow the progress of the project.
JimDabell · 2h ago
Kholin · 3h ago
If their blog has an RSS feed, that would be great for people who want to follow their work.
0points · 2h ago
What do you even mean "if their blog had a RSS feed"?

The feed is right there in the link being discussed.

uallo · 1h ago
They mean that https://ladybird.org/posts.rss only includes "news" (last updated in October 2024) but not "newsletters". In another thread, there is a link to the newsletter archive which can be subscribed to with a feed reader: https://news.ycombinator.com/item?id=44765710
donadolabs · 1h ago
Unbelievable process, this guys are crushing it
pmkary · 2h ago
You guys are on fire!
biehl · 3h ago
Any news on the usage of Swift?
net01 · 3h ago
There are currently a few blockers : https://github.com/LadybirdBrowser/ladybird/issues/933
biehl · 1h ago
Thanks. That looks like nice progress.
Zardoz84 · 4h ago
The web is UTF-16 ? WTF
osmsucks · 4h ago
demurgos · 3h ago
> The ECMAScript/JavaScript language itself, however, exposes characters according to UCS-2, not UTF-16.

The native JS semantics are UCS-2. Saying that it's UTF-16 is misleading and confuses charset, encoding and browser APIs.

Ladybird is probably implementing support properly but it's annoying that they keep spreading the confusion in their article.

dzaima · 3h ago
It's not cleanly one or the other, really. It's UCS-2-y by `str.length` or `str[i]`, but UTF-16-y by `str.codePointAt(i)` or by iteration (`[...str]` or `for (x of str)`).

Generally though JS's strings are just a list of 16-bit values, being intrinsically neither UCS-2 nor UTF-16. But, practically speaking, UTF-16 is the description that matters for everything other than writing `str.length`/`str[i]`.

grishka · 2h ago
And most mainstream GUI toolkits are, as well. It can be said that UTF-16 is the de-facto standard in-memory representation of unicode strings, even though some runtimes (Rust) prefer UTF-8.
0points · 2h ago
> And most mainstream GUI toolkits are, as well.

No. Windows use UTF-16 internally. Most GUI toolkits do not.

> It can be said that UTF-16 is the de-facto standard in-memory representation of unicode strings, even though some runtimes (Rust) prefer UTF-8.

No, that wouldn't be true at all.

Your technical merit seem to be limited by your Windows experience, and even that is dated.

Microsoft recommends UTF-8 over UTF-16 since 2019 [1].

1: https://learn.microsoft.com/en-us/windows/apps/design/global...

perching_aix · 1h ago
> Most GUI toolkits do not.

Why are you guys talking like there were dozens of GUI toolkits in mainstream use? It's basically web stuff, Qt, and then everything else. Web would be UTF-16 as discussed above, Qt is UTF-16, and even if we entertain the admittedly "large just behind-the-scenes" Java/.NET market, that's also all UTF-16. WxWidgets being a fence sitter can do both UTF-8 and UTF-16, depending on the platform.

Which players am I missing? GTK and ImGUI? I don't think they are too big a slices of this pie, certainly not big enough to invalidate the claim.

grishka · 42m ago
Apple also uses some kind of UTF-16 internally, afaik
haunter · 3h ago
Why Discord though? Truly independent project, keep big corps away, future of the web at stake here yada yada yet using the most walled garden of walled gardens. If there is no publicly accessible and searchable archive then might as well not exist.
mnmalst · 3h ago
I think Andreas made a comment about this in some of his videos along the lines of: It's where the most people are.
42lux · 3h ago
Because it's chat if you treat it like a knowledge base it's on you.
globular-toast · 1h ago
If that were true than IRC would be absolutely perfect.
perching_aix · 1h ago
So would be Discord, and so it is.
frou_dh · 1h ago
Come on, it's inevitable that chat history becomes a knowledge base to some extent even if the participants are aware of this pitfall.
42lux · 1h ago
Only if you let it.
bowsamic · 2h ago
Andreas has made it clear he’s not interested in free software politics. That’s not his battle