HNHacker News
TopNewBestAskShowJobs

adamrt

487 karma · joined May 22, 2012

submissionscomments
adamrt··on Hang on to Your Firefox
> It was filled with horrible unsafe C++

Are you saying their code was horrible and unsafe, or just that its a byproduct of using C++. They've been rewriting parts in rust: https://github.com/LadybirdBrowser/ladybird/blob/8f0a1b19114....

> They also re-implement everything whether it is needed or not.

No they don't. SerenityOS did, and that was the goal of the project. But Ladybird has plenty of third party libraries.

adamrt··on Google Chrome update will close the door on ad blockers
10 years is far from the truth. SerenityOS was started 8 years ago and ladybird wasn't split from Serenity until 2024 and has an alpha scheduled for release this year.

It's been 2-4 years max.

adamrt··on This Month in Ladybird – April 2026
Good call! I’ve heard Andreas say multiple times building a browser is like building an emulator. Each website uses different features in different ways, and he likens websites to roms.
adamrt··on Kefir C17/C23 Compiler
I agree on it being fantastic.

For your other questions I found these in the linked text

    - https://sr.ht/~jprotopopov/kefir/#goals-and-priorities
    - https://sr.ht/~jprotopopov/kefir/#history-and-future-plans
adamrt··on Hare 0.26.0 Released
In the "for ... else" example, am I wrong to think this is a typo? Should it be "if (sample.key == key)". The second example doesn't help clarify since the resulting variable is shadowed by the loop variable (cpu).

    const item = for (let sample .. items) {
        if (item.key == key) {
            break item;
        };
    } else { ... };

I don't have a project to use hare for currently, but I do appreciate most of it's goals. I think it's an admirable project and hope it succeeds in its ambitions.
adamrt··on A new experimental Go API for JSON
Are you sure about that? Unless I'm misunderstanding they did fix this: https://pkg.go.dev/encoding/json

"In v1, a nil Go slice or Go map is marshaled as a JSON null. In contrast, v2 marshals a nil Go slice or Go map as an empty JSON array or JSON object, respectively. The jsonv2.FormatNilSliceAsNull and jsonv2.FormatNilMapAsNull options control this behavior difference. To explicitly specify a Go struct field to use a particular representation for nil, either the `format:emitempty` or `format:emitnull` field option can be specified. Field-specified options take precedence over caller-specified options."

adamrt··on This Month in Ladybird
I believe Chromium is closer to 35m LOC
adamrt··on (On | No) Syntactic Support for Error Handling
I think its more of a comment that "err != nil" is used in the vast majority of cases, so you start to treat it as noise and skim it.
adamrt··on (On | No) Syntactic Support for Error Handling
Any time I write "if err == nil" I write // inverted just to make it stick out. It would be nice if it was handled by the language but just wanted to share a way to at least make it a bit more visible.

    if err == nil { // inverted
        return err
    }
adamrt··on Pwning the Ladybird Browser
It really isn't that hard to imagine someone starting a fun hobby project in the language they enjoyed and were the most comfortable with.
adamrt··on Zig-0.14.0 Landed
Dupe: https://news.ycombinator.com/item?id=43264301
adamrt··on This Month in Ladybird February 2025
> I hope we get monthly or at least quarterly Ladybird Newsletter just to keep the attention of the project along with attracting those who still dont know.

They do monthly newsletter and accompanying youtube video: https://www.youtube.com/@LadybirdBrowser

adamrt··on Modern JavaScript for Django developers
> If those opinions match what you're trying to do and you can stay on the golden path, it's freaking great!

That's a great summary. I wrote a few significant flask apps many years ago as well and I'm a huge fan of SQLAlchemy. My flask apps were greenfield so I ended up building crappier versions of alot that Django provides. I still enjoyed it but I wasn't as productive. But with a legacy integration, it would be hard to beat SQLAlchemy (I think its great for greenfield too). I've basically landed on your comment above as well.

adamrt··on Modern JavaScript for Django developers
I've heard people complain about Django many time on HN. I started using it back in the 0.96 version, so maybe its just a familiarity thing.

But I built 3 large successful applications in it in that time. I loved it. I don't use it regularly anymore since I mostly moved away from webdev, but I recently came back into contact with my largest project I build in 2018/2019 and its been running perfect this whole time and was a pleasure to dive back into.

Django just felt logically organized, documentation was on point, core was very readable (at least then).

I always just felt so productive in it. I know everyone has different opinions, experiences and products they are building, but I'm always surprised with the negative comments. I definitely prefer SSR with its reasonable though, so maybe thats part of it.

adamrt··on Bringing SerenityOS to real hardware, one driver at a time
Google pays Apple ~$20B to be default search engine in Safari/Webkit though
adamrt··on Magit 4.0 Released
Can you elaborate? I’ve been using it for over 10 years and it might just be my favorite piece of software. It’s central to all development I do.

I use many features of git that I probably wouldn’t otherwise due to having to remember flags and copying around hashes. It also makes discovering git functionality very easy.

adamrt··on OpenSSH introduces options to penalize undesirable behavior
OpenBSD is also known for this. They constantly push back against adding configuration knobs or running non standard configurations.

Have you used OpenBSD? You're telling them they should be doing something, that is already basically their mission statement.

adamrt··on OpenSSH introduces options to penalize undesirable behavior
I can't think of any long term, open source project that has removed and ripped out more code than OpenBSD.

They are know for doing exactly what you are suggesting.

Go ask @tedunangst. It was literally called "tedu'd" for ripping out old crusty code.

adamrt··on I'm forking Ladybird and stepping down as SerenityOS BDFL
> You should target all audiences.

Here is a list of OSes[0]. Where do you draw the line on supporting these? Should every new project try to support all of these? Do you, doublerabbit, get to decide which OSes are important enough for support?

Or do you think the person who created the project and does all the work should be able to decide where to spend their free time?

[0] https://en.wikipedia.org/wiki/List_of_operating_systems

adamrt··on Dungeon KeeperFX 1.0
Just answering for myself, but it's because I like the programming/engine aspects. Not the creative aspects of the art/music/level-design/rules/balance/etc. I can use an existing games art/content and just focus on the part I like.

Plus nostalgia.

adamrt··on Baldur's Gate 3 has been released
Click on the die a couple times and it speeds up
adamrt··on Magit
> But checking out branches I do on the command line

Just in case you have a longer workflow, checking out a branch should just be `b b` and then select the branch from a list with typing or up/down.

adamrt··on Ask HN: Learn C in 2023?
I had the same itch for a long time. I eventually took the free Harvard CS50 course. Its the video lectures you can watch on demand. It gets into python at the end which I skipped as I already knew python.

I really enjoyed it and think the teacher is great. I don't think all of it is necessary if you are already a developer, but I didn't have a traditional education so it filled in a few gaps for me too.

https://learning.edx.org/course/course-v1:HarvardX+CS50+X/bl...

adamrt··on Ask HN: What are some of the best podcasts for developers?
My absolute favorite podcast. Pumped every month for the new episode. I think I've gone back and listened to nearly every one.

Thanks so much for doing the show Adam. Some random ideas for guests:

- Joshua Stein (@jcs): Too many projects to list. Rad all-around hacker.

- Mike Bayer (@zzzeek): Creator of SQLAlchemy/Alembic

- Theo de Raadt: OpenBSD creator. Somewhat a controversial guy, but very interesting.

adamrt··on The 4th Year of SerenityOS
They don’t plan ahead for features typically. They add stuff when someone wants to do the work.
adamrt··on OpenBSD 7.1
Lots of good info. Thanks!
adamrt··on OpenBSD 7.1
I love seeing OpenBSD new more than you average person, but is there a reason you’re submitting a month old release?

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

adamrt··on Firefox DNS-over-HTTPS
> I could turn the question around, what evidence do you have they aren't?

I don't care about either side of this argument, but you can't logically turn the question around. The burden of proof is on you, who made the claim.

adamrt··on Bringing the Framework Laptop to more of the world
Perf Avg? I thought the M1 was absurdly fast, no?
adamrt··on Debugging an Ioctl Problem on OpenBSD
Jcs is always doing something cool. Thanks for the write up!
Page 1 of 5Next →