Recent submissions

Comment · 2 months ago
> 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.

Comment · 4 months ago
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.

Comment · 6 months ago
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.
Comment · 6 months ago
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
Comment · 8 months ago
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.
Comment · 1 year ago
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."

Comment · 1 year ago
I believe Chromium is closer to 35m LOC
Comment · 1 year ago
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.
Comment · 1 year ago
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
    }
Comment · 1 year ago
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.
Comment · 1 year ago
Comment · 1 year ago
Comment · 1 year ago
> 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.

Comment · 1 year ago
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.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton