1. 80

  2. 23

    I think Andreas Kling is an inspiration when it comes to having a methodology where he never gets stuck in details, and focuses on one result at a time.

    1. 6

      Wow, that’s nice to hear! :^)

      It has definitely helped me keep going with a project of such large scope. Also helpful is the time pressure from recording screencasts. I’m actually amazed at how much I’ve improved as a developer from regularly recording myself.

    2. 4

      SerentiyOS has struck me as a neat project, although I haven’t dug into it very much. Implementing a PC operating system today that even attempts to be usable in the modern computing environment is definitely cool, and hopefully will even prove useful. Particularly, implementing a novel browser, even a bare-bones one, seems like a really important project in this day when the web has become such an important computing platform and every browser but Firefox is using Google’s engine. I didn’t realize the creator had struggled with alcohol addiction, and it’s good to hear that they are keeping sober.

      I’m mildly surprised to learn (from the downvoted comment https://lobste.rs/s/rkx214/serenityos_second_year#c_w7eurv ) that SerentiyOS has a 32 bit kernel. That does seem like a design decision that arbitrarily limits what can be done with the operating system - is it even easier to write a 32-bit than a 64-bit kernel, on modern hardware with modern tools? Does a 32-bit kernel necessarily prevent userspace processes from accessing more than 4GB of memory?

      1. 8

        The way I see it, 64-bit support is just another feature. There are countless features I want to implement. The system is not hitting any of the limitations imposed by the 32-bit kernel, so it’s not a priority to work on it right now. That said, the userspace is 64-bit clean outside of architecture specific things. Large parts of it are compiled and tested on Linux by our CI.

        We’ll make a port to x86_64 when we start hitting those limitations, or when someone feels like working on it anyway. The SerenityOS project is 100% driven by fun and curiosity, something not everyone can relate to :)

        1. 3

          is it even easier to write a 32-bit than a 64-bit kernel, on modern hardware with modern tools?

          I’m interested in this too, which is why the downvoted comment missed an opportunity to raise that question in a respectful way.

          Edit this comment provides some background


        2. 4

          What browser engine does the web browser use? Did they write their own?

          1. 16

            They’re writing their own. In the youtube channel you can see the vlogs of the implementation, it is very inspiring and fun.

            1. 6

              This seems worthy of comment, then, in a world where we are worried about the number of independent browser engines. Could LibWeb or whatever the browser engine is called be extracted for use elsewhere, or is it tied to SerenityOS in some fashion?

              1. 7

                Maybe, but it’s no more complete or compliant than many other small browser projects.

                1. 8

                  A big difference between this and other small browser projects is that Andreas worked on webkit and safari for many many years, so has a more complete knowledge of browsers than most other small projects.

                2. 3

                  It could certainly be extracted with some effort. It’s implemented on top of various SerenityOS libraries (LibCore, LibGfx, LibGUI, LibIPC, LibProtocol) so most of the work would probably be building a platform abstraction layer where these things would be pluggable at build-time.

                  1. 1

                    a platform abstraction layer where these things would be pluggable at build-time That could feasibly be (subsets of) all those Lib* bundles reimplemented on top of POSIX/Win32/what-have-you.

            2. 1
              1. -10

                Imagine green-fielding a 32-bit only kernel in the year 2018

                1. 11

                  did you have anything meaningful to contribute to the discussion, other than this lazy, vaguely antagonistic comment?

                  1. -2

                    Imagine if you will, Andrew, that you wrote Zig to only produce 32-bit binaries. How do you think people would react to your project?

                    1. 5

                      I certainly would not antagonize or make fun of him had he made the zig compiler only produce 32-bit binaries.

                      I think I would question such a choice, but I would do so civilly not dismissively.

                      Beyond that, though, an OS is much different to a compiler; and the goals of zig as a compiler are different to the goals of serenity as an OS. Using a framework like llvm (which zig does) it’s not overly difficult to support different platforms. The marginal work required to support a new architecture in an OS is not at all trivial.

                      1. 1

                        The marginal work required to support a new architecture in an OS is not at all trivial.

                        That’s certainly true, which is why it should have been 64-bit only. Even TempleOS is 64-bit, and that tiny OS only offers 16 colors and a cooperative scheduler.

                        1. 8

                          And making it 64-bit would have provided what, exactly? Were you planning to switch your cloud containers to Serenity OS anytime soon and are worried about compatibility? Did the author advertise it somewhere as the next-generation operating system for AI, ML, IoT and augmented reality workstations, and now you’re bummed that there’s no way the buzzwords match the architecture?

                          Green-fielding a 32-bit only kernel in the year 2018 sounds like fun, which looks like this is what it’s all about. Maybe it’s not exactly this year’s greatest achievement in OS design, but yeah, if we’re talking technical merit, I’d rather wrestle with this than stupid Docker, thank you very much.

                      2. 7

                        Hopefully not like a douche with a superiority complex.

                    2. 6

                      It is 32-bit because of the expertise the author has in x86 microarchitecture. SerenityOS was never intended to be business-first-or-whatever project; author started it in private as a part of his convalescence process after years of alcohol overuse.

                      Who the fuck are you to judge? If you’re not interested, leave and let others enjoy the thing.