frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Ladybird Browser adopts Rust

https://ladybird.org/posts/adopting-rust/
325•adius•2h ago

Comments

throwaway2027•1h ago
I guess the ETA will pushed back by a few years then?
VMG•1h ago
developers with good taste like Andreas Kling will be able to design entire OSes with coding agents
qudat•1h ago
> We know the result isn’t idiomatic Rust, and there’s a lot that can be simplified once we’re comfortable retiring the C++ pipeline. That cleanup will come in time.

Correct me if I’m wrong since I don’t know these two languages, but like some other languages, doing things the idiomatic way could be dramatically different. Is “cleanup” doing a lot of heavy lifting here? Could that also mean another complete rewrite from scratch?

A startup switching languages after years of development is usually a big red flag. “We are rewriting it in X” posts always preceded “We are shutting down”. I wish them luck though!

samiv•1h ago
This is the famous trap that Joel on Software talked about in a blog post long time ago.

If you do a rewrite you essentially put everything else on halt while rewriting.

If you keep doing feature dev on the old while another "tiger team" is doing the rewrite port then these two teams are essentially in a race against each other and the port will likely never catch up. (Depending on relative velocities)

Maybe they think that they can to this LLM assisted tools in a big bang approach quickly and then continue from there without spending too much time on it.

simonw•8m ago
Nearly 26 years ago! https://www.joelonsoftware.com/2000/04/06/things-you-should-...

What's different today really is the LLMs and coding agents. The reason to never rewrite in another language is that it requires you to stop everything else for months or even years. Stopping for two weeks is a lot less likely to kill your project.

gaigalas•1h ago
> A startup switching languages after years of development is usually a big red flag.

Startups are not a good comparison here. They have a different relationship with code than software projects.

Linux has rewriten entire stacks over and over again.

The PHP engine was rewritten completely at least twice.

The musl libc had entire components rewritten basically from scratch and later integrated.

jvillasante•1h ago
Exactly my thought! I guess I'll keep Firefox for the foreseeable future...
nicoburns•1h ago
A mitigating factor in this case is the C++ and Rust are both multi-paradigm languages. You can quite reasonably represent most C++ patterns in Rust, even if it might not be quite how you'd write Rust in the first place.
candiddevmike•1h ago
Used a LLM to translate their LibJS to Rust. Wonder why they didn't look into picking up where servo left off.
laserbeam•1h 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•16m 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.

mythz•1h 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?
rcaught•1h ago
NIH syndrome
aero-glide2•1h ago
Sigh agents keep killing all the passion I have for programming. It can do things way faster than me, and better than me in some cases. Soon it will do everything better and faster than me.
supriyo-biswas•1h ago
Is a migration from language X to Y or refactoring from pattern A to B really the kind of task that makes you look forward to your day when you wake up?

Personally my sweet spot for LLM usage is for such tasks, and they can do a much better job unpacking the prompt and getting it done quickly.

In fact, there's a few codebases at my workplace that are quite shit, and I'm looking forward to make my proposal to refactor these. Prior to LLMs, I'm sure I'd have been laughed off, but now it's much more practical to achieve this.

nananana9•1h ago
I'm not sure 25,000 lines translated in 2 weeks is "fast", for a naive translation between languages as similar as C++ and Rust (and Ladybird does modern RAII smart-pointer-y C++ which is VERY similar to Rust). You should easily be able to do 2000+ lines/day chunks.
skerit•1h ago
> I used Claude Code and Codex for the translation. This was human-directed, not autonomous code generation. I decided what to port, in what order, and what the Rust code should look like. It was hundreds of small prompts, steering the agents where things needed to go. After the initial translation, I ran multiple passes of adversarial review, asking different models to analyze the code for mistakes and bad patterns. > The requirement from the start was byte-for-byte identical output from both pipelines. The result was about 25,000 lines of Rust, and the entire port took about two weeks. The same work would have taken me multiple months to do by hand. We’ve verified that every AST produced by the Rust parser is identical to the C++ one, and all bytecode generated by the Rust compiler is identical to the C++ compiler’s output. Zero regressions across the board

This is the way. Coding assistants are also really great at porting from one language to the other, especially if you have existing tests.

giancarlostoro•1h ago
This is also how some of us use Claude despite what the haters say. You dont just go “build thing” you architect, review, refine, test and build.
gnfargbl•1h ago
It's how most of us are actually going to end up using AI agents for the foreseeable future, perhaps with increasing degrees of abstraction as we move to a teams-of-agents model.

The industry hasn't come up with a simple meme-format term to explain this workflow pattern yet, so people aren't excited about it. But don't worry, we'll surely have a bullshit term for it soon, and managers everywhere will be excited. In the meantime, we can just continue doing work with these new tools.

card_zero•1h ago
This is an opportunity to select some stupid words that you would like to hear repeated a million times. The process is like patiently nurturing a well-contained thing, so how about "egg coding"?
mr_mitm•31m ago
I thought the term was "agentic engineering"
simonw•15m ago
Yeah that's the top contender at the moment. I think it's pretty good.
viraptor•5m ago
I'm not sure there's going to be a term, because there's no difference from normal, good quality engineering. You iterate on design, validate results, prioritise execution. It's just that you hand over the writing code part. It's as boring as it gets.
philipallstar•37m ago
> despite what the haters say

Thinking people who disagree with you hate you or hate the thing you like is a recipe for disaster. It's much better to not love or hate things like this, and instead just observe and come to useful, outcome-based conclusions.

simonw•15m ago
LLMs really do attract haters in the classic sense though. You'll find them in almost every thread on here.
embedding-shape•1h ago
Agree, and it's also such a shame that none of the AI companies actually focus on that way of using AI.

All of them are moving into the direction of "less human involved and agents do more", while what I really want is better tooling for me to work closer with AI and be better at reviewing/steering it, and be more involved. I don't want "Fire one prompt and get somewhat working code", I want a UX tailored for long sessions with back and forth, letting me leverage my skills, rather than agents trying to emulate what I already can do myself.

It was said a long time ago about computing in general, but more fitting than ever, "Augmenting the human intellect" is what we should aim for, not replacing the human intellect. IA ("Intelligence amplification") rather than AI.

But I'm guessing the target market for such tools would be much smaller, basically would require you to already understand software development, and know what you want, while all AI companies seem to target non-developers wanting to build software now. It's no-code all over again essentially.

dsr_•1h ago
Is it any surprise that the cocaine cartels really want you to buy more cocaine, so they don't focus on its usefulness in pain relief and they refine it and cut it with the cheapest substances that will work rather than medical-grade reagents?

Same thing.

Thanemate•10m ago
>Agree, and it's also such a shame that none of the AI companies actually focus on that way of using AI.

This is because, regardless of the current state of things, the endgame which will justify all the upfront investment is autonomous, self-improving, self-maintaining systems.

otikik•1h ago
I am learning rust myself and one of the things I definetly didn't want to do was let Claude write all the code. But I needed guidance.

I decided to create a Claude skill called "teach". When I enable it, Claude never writes any code. It just gives me hints - progressively more detailed if I am stuck. Then it reviews what I write.

I am finding it very satisfying to work this way - Rust in particular is a language where there's little space to "wing it". Most language features are interlaced with each other and having an LLM supporting me helps a lot. "Let's not declare a type for this right now, we would have to deal with several lifetime issues, let's add a note to the plan and revisit this later".

patates•1h ago
> Coding assistants are also really great at porting from one language to the other

I had a broken, one-off Perl script, a relic from the days when everyone thought Drupal was the future (long time ago). It was originally designed to migrate a site from an unmaintained internal CMS to Drupal. The CMS was ancient and it only ran in a VM for "look what we built a million years ago" purposes (I even had written permission from my ex-employer to keep that thing).

Just for a laugh, I fed this mess of undeclared dependencies and missing logic into Claude and told it to port the whole thing to Rust. It spent 80 minutes researching Drupal and "one-shotted" a functional import tool. Not only did it mirror the original design and module structure, but it also implemented several custom plugins based on hints it found in my old code comments.

It burned through a mountain of tokens, but 10/10 - would generate tens of thousands of lines of useless code again.

The Epilogue: That site has since been ported to WordPress, then ProcessWire, then rebuilt as a Node.js app. Word on the street is that some poor souls are currently trying to port it to Next.js.

josephg•45m ago
> 10/10 - would generate tens of thousands of lines of useless code again.

Me too! A couple days ago I gave claude the JMAP spec and asked it to write a JMAP based webmail client in rust from scratch. And it did! It burned a mountain of tokens, and its got more than a few bugs. But now I've got my very own email client, powered by the stalwart email server. The rust code compiles into a 2mb wasm bundle that does everything client side. Its somehow insanely fast. Honestly, its the fastest email client I've ever used by far. Everything feels instant.

I don't need my own email client, but I have one now. So unnecessary, and yet strangely fun.

Its quite a testament to JMAP that you can feed the RFC into claude and get a janky client out. I wonder what semi-useless junk I should get it to make next? I bet it wouldn't do as good a job with IMAP, but maybe if I let it use an IMAP library someone's already made? Might be worth a try!

metabeard•23m ago
Please post this. I'd love to play with it and, especially, see how fast it is.
mr_mitm•12m ago
Same here. I had Claude write me a web based RSS feed reader in Rust. It has some minor glitches I still need to iron out, but it works great, is fast as can be, and is easy on the eyes.

https://github.com/AdrianVollmer/FluxFeed

ocd•1h ago
I am unsure if I can rationally justify saying this, but I am left with disappointment and unease. Comparable to when a series I care about changes showrunner and jumps the shark.
OtomotO•1h ago
Maybe you're part of an anti-cult-cult?

Would be as bad as being in a cult.

gethly•1h ago
i rememebr seeing interviews saying rust is not suited for this project because of recursion and dom tree. how they tested multiple languages and settled on swift. then they abandon swift and now they shift towards rust.

this entire project starts to look like "how am i feeling today?" rather than a serious project.

tcfhgj•1h ago
So Swift didn't turned out like they imagined and Rust is just the next best alternative to that failed vision using Swift.

So far this is the first and only shift

cromka•6m ago
They adopted Rust for LibJS, not the browser and its engine.
jvillasante•1h ago
> We’ve been searching for a memory-safe programming language to replace C++ in Ladybird for a while now.

The article fails to explain why. What problems (besides the obvious) have been found in which "memory-safe languages" can help. Do these problems actually explain the need of adding complexity to a project like this by adding another language?

I guess AI will be involved which, at this early point in the project would make ladybird a lot less interested (at least to me).

panstromek•1h ago
> besides the obvious

Well, what else is there besides the obvious? It's a browser.

michaelcampbell•1h ago
> What problems (besides the obvious) have been found in which "memory-safe languages" can help.

Why isn't that enough?

nicoburns•57m ago
Browsers are incredibly security-sensitive projects. Downloading untrusted code from the internet and executing is part of their intended functionality! If memory safety is needed anywhere it's in browsers.
f311a•5m ago
You don't want a browser with a bunch of RCEs that can be triggered by opening a web page...
ramon156•1h ago
I'm a long-time Rust fan and have no idea how to respond. I think I need a lot more info about this migration, especially since Ladybird devs have been very vocal about being "anti-rust" (I guess more anti-hype, where Rust was the hype).

I don't know if it's a good fit. Not because they're writing a browser engine in Rust (good), but because Ladybird praises CPP/Swift currently and have no idea what the contributor's stance is.

At least contributing will be a lot nicer from my end, because my PR's to Ladybird have been bad due to having no CPP experience. I had no idea what I was doing.

latexr•57m ago
> Ladybird praises CPP/Swift currently

Not anymore.

https://news.ycombinator.com/item?id=47067678

ramon156•48m ago
I guess I missed this, thanks!
thrdbndndn•20m ago
I'd argue Ladybird itself is a "hype" project.
throwaway2037•11m ago
Fair point. What does Ladybird need to achieve in your opinion to shake the "hype" label? Honestly, I, myself, don't have a good answer!
zozbot234•1h ago
Using LibJS with servo, when?
djoldman•1h ago
A lot of the previous calculus around refactoring and "rewrite the whole thing in a new language" is out the window now that AI is ubiquitous. Especially in situations where there is an extensive test suite.

Testing has become 10x as important as ever.

pjmlp•1h ago
Well, I am on the provocative side that as AI tooling matures current programming languages will slowly become irrelevant.

I am already using low code tooling with agents for some projects, in iPaaS products.

pjmlp•1h ago
All the best to them, however this feels like yah shaving instead of focusing into delivering a browser than can become an alternative to Safari/Chrome duopoly.
cogman10•41m ago
Agreed. They said they ruled out rust in 2024, I believe the article they published was near the end of 2024 because I remember reading it fairly recently.

Seems like a lot of language switches in a short time frame. That'd make me super nervous working on such a project. There will be rough parts for every language and deciding seemingly on whims that 1 isn't good enough will burn a lot of time and resources.

cromka•14m ago
Part of browser experience is safety and migrating their JS library to Rust is probably one of the best ways to gain advantage over any other existing engine out there in this aspect. Strategically this may and likely will attract 3rd party users of the JS library itself, thus helping its adoption and further improving it.

They're not porting the browser itself to Rust, for the record.

rausr•1h ago
I must admit to being somewhat confused by the article's claim that Rust and C++ emit bytecode. To my knowledge, neither do (unless they're both targeting WASM?) - is there something I'm missing or is the author just using the wrong words?

EDIT: bramhaag pointed out the error of my ways. Thanks bramhaag!

bramhaag•1h ago
By 'Rust compiler' and 'C++ compiler', they refer to the LibJS bytecode generator implemented in those languages. This is about the generated JS bytecode.
xwowsersx•57m ago
They're referring to LibJS's bytecode (the internal instruction stream of Ladybird’s JS engine), not to Rust/CPP output formats.
easton•51m ago
I know he doesn't make live coding videos anymore, but it'd be cool if Andreas showed off how this worked a little more. I'm curious how much he had to fix by hand (vs reprompting or spinning a different model or whatever).
edgyquant•6m ago
What happened? It’s been awhile since I checked in but it seems he doesn’t work on serenity and doesn’t live stream anymore (and is now into lifting weights)
markus_zhang•48m ago
10x programmers become 100x with the power of AI. Not an unexpected outcome. But the world is going to suck for ordinary people. 10x programmers will gladly embrace this future become it empowers them more.

We have to accept this reality and act accordingly.

Yes you will downvote me. I have accepted this reality and will hack on my own projects in the woods or in a cave, on my own terms.

usrbinenv•30m ago
This will be another bad decision just like with Swift. From what I heard, Rust is notoriously bad at letting people define their own structure and instead beats you up until you satisfy the borrow checker. I think it'll make development slow and unpleasant. There are people out there who enjoy that, but it's not a fit for when you need to deliver a really huge codebase in reasonable time. I remember Andreas mentioning he just wanted something like C++, but with a GC and D would be absolutely perfect for this job.
thiht•29m ago
Cool, that seems like a rational choice. I hope this will help Ladybird and Servo benefit from each other in the long run, and will make both of them more likely to succeed
vipulbhj•21m ago
Someone should try this with the “Ralph Wiggum loop” approach. I suspect it would fail spectacularly, but it would be fascinating to watch.

Personally, I can’t get meaningful results unless I use the tool in a true pair-programming mode—watching it reason, plan, and execute step by step. The ability to clearly articulate exactly what you want, and how you want it done, is becoming a rare skill.

simonw•11m ago
Given the quality of their existing test suite I'm confident the Ralph Wiggum loop would produce a working implementation... but the code quality wouldn't be anywhere near what they got from two weeks of hands-on expert prompting.
throwaway2037•9m ago

    > Ralph Wiggum loop
Can you explain more? (I know the reference that he is the idiot son of Chief Wiggum from The Simpsons.)
simonw•6m ago
https://ghuntley.com/loop/ and https://github.com/anthropics/claude-code/blob/main/plugins/...
Fervicus•20m ago
> We know the result isn’t idiomatic Rust, and there’s a lot that can be simplified once we’re comfortable retiring the C++ pipeline. That cleanup will come in time.

I wonder what kind of tech debt this brings and if the trade off will be worth whatever problems they were having with C++.

cromka•8m ago
I don't think they were having problems with C++, they moved to Rust for memory safety. Mind that they migrated LibJS, their JavaScript library.
snowhale•8m ago
the tech debt risk in this case is mostly in the cleanup phase, not the port itself. non-idiomatic Rust that came from C++ tends to have a lot of raw pointer patterns and manual lifetime management that works fine but hides implicit ownership assumptions. when you go to make it idiomatic, the borrow checker forces those assumptions to be explicit, and sometimes you discover the original structure doesn't compose well with Rust's aliasing rules. servo went through this. the upside is you catch real latent bugs in the process.
throwaway2037•13m ago
Fuck me. This is wild. Sorry for the potty mouth.

    > Porting LibJS
    > Our first target was LibJS , Ladybird’s JavaScript engine. The lexer, parser, AST, and bytecode generator are relatively self-contained and have extensive test coverage through test262, which made them a natural starting point.

    > Results
    > The requirement from the start was byte-for-byte identical output from both pipelines. The result was about 25,000 lines of Rust, and the entire port took about two weeks. The same work would have taken me multiple months to do by hand.
I'm not here to troll the LLM-as-programmer haters, but Ladybird (and Rust!) is loved by HN, and this is a big win.

How long until Ladybird begins to impact market dominance for Chrome and Firefox? My guess: Two years.

Ladybird Browser adopts Rust

https://ladybird.org/posts/adopting-rust/
330•adius•2h ago•150 comments

Elsevier shuts down its finance journal citation cartel

https://www.chrisbrunet.com/p/elsevier-shuts-down-its-finance-journal
242•qsi•5h ago•45 comments

VTT Test Donut Lab Battery Reaches 80% Charge in Under 10 Minutes [pdf]

https://pub-fee113bb711e441db5c353d2d31abbb3.r2.dev/VTT_CR_00092_26.pdf
13•sagyam•29m ago•11 comments

Sub-$200 Lidar could reshuffle auto sensor economics

https://spectrum.ieee.org/solid-state-lidar-microvision-adas
173•mhb•3d ago•225 comments

Hetzner (European hosting provider) to increase prices by up to 38%

https://old.reddit.com/r/BuyFromEU/comments/1rce0lf/hetzner_european_hosting_provider_to_increase/
160•doener•1h ago•85 comments

I built Timeframe, our family e-paper dashboard

https://hawksley.org/2026/02/17/timeframe.html
1250•saeedesmaili•18h ago•304 comments

Magical Mushroom – Europe's first industrial-scale mycelium packaging producer

https://magicalmushroom.com/index
99•microflash•5h ago•38 comments

Facebook's Fascination with My Robots.txt

https://blog.nytsoi.net/2026/02/23/facebook-robots-txt
24•Ndymium•1h ago•3 comments

0 A.D. Release 28: Boiorix

https://play0ad.com/new-release-0-a-d-release-28-boiorix/
189•jonbaer•3d ago•63 comments

A NASA Engineer Discovered a World of Semi Truck Aerodynamics by Accident

https://www.thedrive.com/news/how-a-nasa-engineer-discovered-a-world-of-semi-truck-aerodynamics-b...
31•PaulHoule•4d ago•30 comments

I Donut Believe – Presenting Third Party Results (Donut Lab)

https://idonutbelieve.com/
11•Maximilian_Bet•1h ago•2 comments

Pipelined Relational Query Language, Pronounced "Prequel"

https://prql-lang.org/
14•dmit•2d ago•8 comments

SETI@home: Data Acquisition and Front-End Processing (2025)

https://iopscience.iop.org/article/10.3847/1538-3881/ade5a7
28•tosh•3h ago•1 comments

Loops is a federated, open-source TikTok

https://joinloops.org/
477•Gooblebrai•18h ago•313 comments

Show HN: CIA World Factbook Archive (1990–2025), searchable and exportable

https://cia-factbook-archive.fly.dev/
375•MilkMp•16h ago•83 comments

Pope tells priests to use their brains, not AI, to write homilies

https://www.ewtnnews.com/vatican/pope-leo-xiv-tells-priests-to-use-their-brains-not-ai-to-write-h...
297•josephcsible•6h ago•266 comments

Bitmovin (YC S15) Is Hiring Interns in AI for Summer 2026 in Austria

https://bitmovin.com/careers/8023403002/
1•slederer•6h ago

Show HN: AI Timeline – 171 LLMs from Transformer (2017) to GPT-5.3 (2026)

https://llm-timeline.com/
18•ai_bot•4h ago•18 comments

My journey to the microwave alternate timeline

https://www.lesswrong.com/posts/8m6AM5qtPMjgTkEeD/my-journey-to-the-microwave-alternate-timeline
279•jstanley•4d ago•117 comments

QRTape – Audio Playback from Paper Tape with Computer Vision (2021)

http://www.theresistornetwork.com/2021/03/qrtape-audio-playback-from-paper-tape.html
16•austinallegro•3h ago•6 comments

What I Learned After Building 3 TV Apps Coming from Mobile

https://dinkomarinac.dev/blog/what-i-learned-after-building-3-tv-apps-coming-from-mobile/
15•dinko7•3h ago•10 comments

Pinterest is drowning in a sea of AI slop and auto-moderation

https://www.404media.co/pinterest-is-drowning-in-a-sea-of-ai-slop-and-auto-moderation/
52•trinsic2•9h ago•35 comments

Hacker News.love – 22 projects Hacker News didn't love

https://hackernews.love/
86•ohong•3h ago•62 comments

Man accidentally gains control of 7k robot vacuums

https://www.popsci.com/technology/robot-vacuum-army/
324•Brajeshwar•22h ago•182 comments

Google restricting Google AI Pro/Ultra subscribers for using OpenClaw

https://discuss.ai.google.dev/t/account-restricted-without-warning-google-ai-ultra-oauth-via-open...
682•srigi•14h ago•569 comments

The JavaScript Oxidation Compiler

https://oxc.rs/
206•modinfo•10h ago•103 comments

Crawling a billion web pages in just over 24 hours, in 2025

https://andrewkchan.dev/posts/crawler.html
61•pseudolus•9h ago•9 comments

Six Math Essentials

https://terrytao.wordpress.com/2026/02/16/six-math-essentials/
248•digital55•18h ago•54 comments

What I learned designing a barebones UI engine

https://madebymohammed.com/miniui
51•teleforce•9h ago•20 comments

How to train your program verifier

https://risemsr.github.io/blog/2026-02-16-halleyyoung-a3/
64•matt_d•4d ago•14 comments