Nordstjernen Web Browser

(github.com)

25 points | by roschdal 21 hours ago ago

24 comments

  • lewisjoe 21 hours ago

    Honest question: How can an entire html/CSS layout engine fit in a single layout.c that I can read over an afternoon? This looks too simple to be usable for serious work.

  • maxloh 21 hours ago

    > Source-available under the Functional Source License v1.1 (FSL-1.1-MIT). Free for any non-competing use; converts to the MIT license on the tenth anniversary of each release. See LICENSE.

    You should not use the FSL name if you change the date of the license switch, which is originally set to the second anniversary. If you want to change that duration, you should use a different name to avoid confusion.

    Sentry intended for the FSL to be specific rather than general. The company's Deputy General Counsel stated:

    > TLDR, FSL is narrow in scope for a reason.

    > You're free to create your own license based on the FSL with AGPL as the change license if you rename it so that it isn't confusingly similar.

    https://github.com/getsentry/fsl.software/issues/53#issuecom...

    • roschdal 20 hours ago

      Yes, I might change this back to 2 years, I am still thinking about the right balance between a free web browser and a commercial software product which will generate revenue.

  • tuwtuwtuwtuw 21 hours ago

    What could go wrong.

  • roschdal 21 hours ago

    I am making this web browser. Ask me anything. Bug report welcome.

    • thisislife2 18 hours ago

      Good effort! Did you consider using Netsurf codebase ( https://www.netsurf-browser.org/ ) or contributing to it? (The website is outdated but the development is ongoing and active).

    • lewisjoe 21 hours ago

      Congrats on the journey. How did you implement the layouting engine? And how much of an effort did it take?

    • fcpguru 21 hours ago
      • roschdal 20 hours ago

        Nordstjernen is a ~30 kLOC solo-built C browser aimed at being a small, hardened web reader for the text-heavy web, while Ladybird is a ~500 kLOC funded C++ project aiming to be a fully standards-compliant third browser engine alongside Blink, WebKit, and Gecko.

        • fcpguru 20 hours ago

          ok good answer. next q: why not team up with https://github.com/lightpanda-io/browser and zig and make this both the small headless browser + a human one

          • roschdal 19 hours ago

            Nordstjernen is a small, sandboxed, JIT-free GTK browser for humans to read the web; Lightpanda is a Zig-based headless V8 browser for AI agents to script it.

    • tuwtuwtuwtuw 21 hours ago

      It looks like AI slop. Is it AI slop?

      • flustercan 21 hours ago

        Are you asking the author to validate your own opinion? Why don't you explain why you think its slop and provide some evidence to back up your assertions and we can have a real discussion.

        • tuwtuwtuwtuw 20 hours ago

          No, I am asking the author whether it's AI slop.

          As for evidence, sir, this is a wendys.

      • 21 hours ago
        [deleted]
      • drabbiticus 18 hours ago

        slop is such a poorly defined term that it's very hard to answer your question meaningfully. Is all code generated by AI slop? Many different opinions on this and questions to be answered as LLMs continue to shift the programming landscape.

        Having said that, you could have just clicked the link and found https://github.com/nordstjernen-web/nordstjernen/commits/mai... with a bunch of commits by claude. It took longer to write this than it took to figure out whether AI was used.

        • tuwtuwtuwtuw 8 hours ago

          Yeah, why do you think I said it looks like AI slop?

          • roschdal 8 hours ago

            I think this criticism is very poor. Claude is competent and well suited for implementing a web browser.

            • tuwtuwtuwtuw 5 hours ago

              I took a look at the code, it showed the usual tells for slop, hence my question.

              Claude is well suited for many things, it does not mean that it never is used to generate slop.

              Just read the linked Readme if you don't want to read the code, it's the usual slop.

              • 4 hours ago
                [deleted]