Top
Best
New

Posted by adius 22 hours ago

Ladybird adopts Rust, with help from AI(ladybird.org)
1154 points | 632 commentspage 8
catlover76 19 hours ago|
[dead]
markus_zhang 21 hours ago||
[flagged]
candiddevmike 22 hours ago||
[flagged]
mythz 22 hours ago||
Servo isn't a JS engine. Do you mean why didn't they abandon their mission statement of developing a truly independent browser engine from scratch, abandon their C++ code base they spent the last 5 years building, accept a regression hit on WPT test coverage, so they can start hacking on a completely different complex foreign code-base they have no experience in, that another team is already developing?
noirscape 22 hours ago|||
Well for one, Servo isn't just JavaScript, it's an entire engine. Closer to Blink & Gecko.

Secondly, Ladybird wants to be a fourth implementor in the web browsers we have today. Right now there's pretty much three browser engines: Blink, Gecko and WebKit (or alternatively, every browser is either Chrome, Firefox or Safari). Ladybird wants to be the fourth engine and browser in that list.

Servo also wants to be the fourth engine in that list, although the original goal was to remove Gecko and replace it with Servo (which effectively wouldn't change the fact there's only three browsers/three engines). Then Mozilla lost track of what it was doing[0] and discarded the entire Servo team. Nowadays Servo isn't part of Mozilla anymore, but they're clearly much more strapped for resources and don't seem to be too interested in setting up all the work to make a Servo-based browser.

The question of "why not use Servo" kinda has the same tone as "why are people contributing to BSD, can't they just use Linux?". It's a different tool that happens to be in the same category.

[0]: Or in a less positive sense, went evil.

nicoburns 22 hours ago||
> Well for one, Servo isn't just JavaScript, it's an entire engine.

Notably Servo doesn't have it's own JS engine at all. It uses Rust bindings to SpiderMonkey.

laserbeam 22 hours ago|||
Ladybird has a strong "all dependencies built in house" philosophy. Their argument is they want an alternative implementation to whatever is used by other browsers. I'd argue they would never use a third party library like servo as a principle.
stephen_g 21 hours ago|||
No they don’t - SerenityOS did, but when Ladybird split out they started using all sorts of third party libraries for image decoding, network, etc.

Now a core part of the browser rendering engine is not something they’re going to outsource because it would defeat the goal of the project, but they have a far different policy to dependencies now than it used to before.

Perz1val 22 hours ago|||
Because they're not servo and servo is still in the race. Merging those projects is against making an independent browser(s)
rcaught 22 hours ago||
NIH syndrome
shevy-java 14 hours ago||
Some time ago I was perma-banned from the Ladybird github repository. One can say it is warranted, or not (people have their own opinion; I completely disagree with their decision). Now that this has happened, I can speak more freely about Ladybird.

Naturally this will be somewhat critical, but I need to first put things into context. I do believe that we really need an alternative to Google dominating our digital life. So I don't object that we need alternatives; whether Ladybird will be an alternative, or not, will be shown in the future. Most assuredly we need competition as otherwise the Google empire moves forward like Darth Vader and the empire (but nowhere near as cool as that; I find Google boring and lame. Even skynet in Terminator was more fun than Google. Google just annoys the heck out of me, but back to the topic of browsers).

So with that out of the way ... Ladybird is kind of ... erratic.

Some time ago, perhaps two months or three, Andreas suddenly announced "Swift WILL BE THE FOREVER FUTURE! C++ sucks!!!". People back then were scratching heads. It was not clear why Swift is suddenly our saviour.

Ok, now we learn - "wait ... swift is NOT the future, but RUST is!!!". Ok ... more head-scratching. We are having a deja-vu moment here... but it gets stranger:

"We previously explored Swift, but the C++ interop never quite got there, and platform support outside the Apple ecosystem was limited. Rust is a different story."

and then:

"I used Claude Code and Codex for the translation. This was human-directed, not autonomous code generation"

So ... the expertise will be with regards to ... relying on AI to autogenerate code in ... Rust.

I am not saying this is a 100% fail strategy, mind you. AI can generate useful code, we could see that. But I am beginning to have more and more doubts about the Ladybird project. Add to this the breakage of URLs that are used by thousands or million people world-wide (see the issues reported on the github tracker); or also the fact that, once you scale-up and more and more people use ladybird, will you be able to keep up with issue trackers? Will you ban more people?

In a way it is actually good that I am no longer allowed to make comments on their repository because I can now be a lot more critical and ask questions that the ladybird team will have to evaluate. Will ladybird blend? Will it succeed? Will it fail? Yes, it is way too early to make an evaluation, so we should evaluate in some months or so, perhaps end of this year. But I am pretty certain the criticism will increase, at the least the moment they decide to leave beta (or alpha or whatever model they use; they claimd they want a first working version in this year for Linux users, let's see whether that works).

mrorigo 14 hours ago||
ÄNTLIGEN!
Shank 19 hours ago||
Completely ignoring the Rust aspect, I’m disappointed that two weeks were spent on something that isn’t getting Ladybird to a state where it can be used as a daily driver. Ladybird isn’t usable right now, and if it was usable, improving the memory safety would be a commendable goal. Right now I just feel like this is premature.
VMG 22 hours ago||
developers with good taste like Andreas Kling will be able to design entire OSes with coding agents
ramon156 22 hours ago||
> design entire OSes with coding agents

They ported an existing project from CPP to Rust using AI because the porting would've been too tedious. I don't think they're planning on vibe coding PRs the way you're imagining.

Vsreddyh 22 hours ago|||
He already did
vdupras 22 hours ago|||
This comment raises an interesting question: Would Serenity OS have brought Andreas the same kind of serenity had it been developed with AI? Open candid question.
rjh29 11 hours ago|||
I like the idea that people are either coders or builders. So AI can help fulfill your desire to build, create, bring things into reality. But it can't satisfy you if you like programming for its own sake. SerenityOS was not a practical project, it was clearly done for the enjoyment of programming itself.

The project's use of AI now echoes that - it's not being used to create new features, it's used for practical, boring drudge work of translating between two languages. So still very much on brand.

Imustaskforhelp 20 hours ago|||
I don't think so because if I remember it correctly, Andreas suffered from alcoholism and serenity prayer helped him to go on the right path and iirc he honored that and created an os named serenityos.

God grant me the serenity

to accept the things I cannot change;

courage to change the things I can;

and wisdom to know the difference.

(courage to change the things I can;):- I think that this line must've given Andreas the strength, the passion to make the project reality.

but if AI made the change. Would the line be changed to courage to prompt an all powerful entity to change the things I asked it to.

Would that give courage? Would that inspire confidence in oneself?

I have personally made many projects with LLM's (honestly I must admit that I am a teenager and so I have been sort of using it from the start)

and personally, I feel like there are some points of curiosity that I can be prideful of in my projects but there is still a sense of emptiness and I think I am not the only one who observes it as such.

I think in the world of AI hype, it takes true courage & passion to write by hand.

Obviously one tries to argue that AI is the next bytecode but that is false because of the non deterministic nature of AI but even that being said, I think I personally feel as if the people who write assembly are definitely likely to be more passionate of their craft than Nodejs (and I would consider myself a nodejs guy and there's still passion but still)

Coding was definitely a form of art/expression/sense-of-meaning for Mr Andreas during a time of struggle. To automate that might strip him of the joy derived from stroking brush on an empty canvas.

Honestly, I really don't know about AI the more I think about it so I will not pretend that I know a thing/two about AI. This message is just my opinion in the moment. Opinions change with time but my opinion right now is that coding by hand definitely is more meaningful than not if the purpose of the project is to derive meaning.

embedding-shape 22 hours ago||
Yeah, some weekends ago I tried writing a cross-platform browser without any Rust crates, this weekend I made my own self-hosted compile to Rust Clojure-like lisp, maybe next weekend attempting to create a OS that uses my language to run on bare-metal would actually be a challenge. Thanks for the inspiration :)
zppln 17 hours ago||
Cool project, but I'm a bit curious hearing how the rest of the project feels about this?

I'm not sure how I'd feel if I woke up and found a system I worked on had been translated into an another language I'm not neccessarily familiar with. And I'm not sure I'd want to fix an non-idiomatic "mess" just because it's been translated into a language I'm familiar with either (although I suspect they'll have no problem attracting rust developers).

Deanoumean 8 hours ago|
Lol this dude is incapable of finishing anything he starts. Always a million distractions. First he started an OS called Serenity, then abandoned that to start a programming language (Jank or something) then abandoned that to work on a web browser, now it's looking like he is looking for things to distract away from that... A shame really.
rjh29 5 hours ago||
Serenity was literally a distraction for his substance addiction issues. It's pretty clear he's productive and he and his team have worked on Ladybird for several years straight now. How many web browsers or OSs have you developed from scratch?
GaggiX 7 hours ago||
He is working on the web browser.