The Serenity Operating System 🐞 (by SerenityOS)

Serenity Alternatives

Similar projects and alternatives to serenity

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better serenity alternative or higher similarity.

serenity reviews and mentions

Posts with mentions or reviews of serenity. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-12.
  • Da li da napravim svoj OS?
    2 projects | | 12 Mar 2023
    Da dodam samo i njihov sub i možeš da baciš pogled i na SerenityOS
  • Bun v0.5.7 | Bun Blog
    3 projects | | 25 Feb 2023
    To give some more context for anyone who isn't already familiar with him, Andreas Kling is the creator of SerenityOS, which has its own JavaScript runtime called LibJS, its own rendering engine called LibWeb, and its own web browser built on top of LibJS and LibWeb called Ladybird. It is truly a from-scratch web browser implementation, built from the ground up by a small team of SerenityOS developers, that aims to eventually be fully standards compliant. They don't have any real release goals and are just doing it "for fun", much like the rest of SerenityOS, but it is truly impressive what they have accomplished so far.
  • Practical Exception Performance Benchmark with a PNG Parser
    2 projects | | 23 Feb 2023
    One thing that could simplify conversion a lot would be TRY macro, such as the one you can find in the Serenity OS (and in many other projects)
  • It's time to get the Posix elephant off our necks
    2 projects | | 22 Feb 2023
    "What if we replace POSIX" is an interesting question. I keep coming back to SerenityOS [0] when I think about this topic, a C++ based (hobby) OS that has a POSIX compatible API but also more modern wrappers around common functionality.

    Exposing system APIs like ErrorOr (like the Rust Result or the Maybe monad) resolves an entire class of bugs (take fork/kill/-1 as an example [1]) as well as ambiguity like "do I check the return value for the reason, or do I check the magical errno variable?". Dropping general OS compatibility also allows for other changes, like object oriented interaction with the GUI system and other system libraries instead of relying on having the namespacing happen in the name of a function call.

    I know SerenityOS won't ever replace any operating system we use today, but it's a nice demonstration of the API features we could all be using.

    Sometimes I wish Windows' APIs were more POSIX-like, but Win32 has some pretty useful functions built right into the OS that you'd need to introduce DLL/dependency hell/static compilation for if you're trying to stick to POSIX only APIs. Think common concepts like "the clipboard" or "the current resolution of a display" without needing to link to a library or access a file like /dev/fb0 (is there a /dev/fb1? when do you use it?).

    Mobile platforms (Android, iOS) with special lifecycles also allow for things like "the app resumes where you left off" and "the app suspends to disk when the system is under load" natively without requiring developers to build their own save/restore state mechanisms. Imagine having to build a system like that on your average Linux desktop with mere POSIX APIs, you'd go crazy with the complexity required.

    Perhaps what programs runnong on Unix-based operating systems really need is a wrapper around POSIX and its low-level implications. GTK and Qt provide many such APIs for free, for example, including stuff like networking and other I/O. GTK comes with its annoying particularities (CSD, and all the other GNOME decisions) and Qt licenses are either VERY free or VERY expensive, making them incompatible with other projects.

    With the Linux space transitioning from SystemV+ALSA/Pulse+X11 to systemd+PipeWire+Wayland, perhaps the space is ripe for a new, more modern wrapper library for native languages.


    [1]: When fork() fails, the call returns a negative number. When you try to kill() a PID of -1, you kill every process your current UID has the permission to kill. Programs failing to fork, shutting down, and killing what they thought was a fork()ed process can accidentally end up killing all the open applications for a user.

  • Can sanitizers find the two bugs I wrote in C++?
    11 projects | | 8 Feb 2023
    I don't think it's C++'s fault necessarily. The C/C++ ecosystem seems to attract more of a certain type of developer who will tell you to just "get good" at the language so you van decipher their code and use it without a billion memory bugs, but the language doesn't specify any of it.

    It's easy to point out an example of unreadable code in any language because every language has their weird programmers. If you stick to modern tools with strict linting and good design, you can write perfectly readable C++ code.

    I don't use C++ often, but I find the code over at to be more legible than many large code bases in other languages.

  • QOA, the Quite OK Audio Format
    4 projects | | 2 Feb 2023
    I was reading that article, and geez, as a non-programmer I have to ask, why does libflac look like such a nightmare compared to flacloader? It's like night and day. Is this a "WireGuard makes OpenVPN look quite silly" moment?

  • What are some C++ projects with high quality code that I can read through?
    13 projects | | 16 Jan 2023
    8 projects | | 16 Jan 2023
    For a project with modern c++ which specifically tried to name things well, you might be interested in SerenityOS. It's a hobby project open source operating system.
  • Firefox lost ~16M users since last year
    6 projects | | 13 Jan 2023
    Talking of open source browsers, I'm super excited by the Ladybird Browser [0] from the SerenityOS [1] project. They have made such incredible progress in such a short time. For those that don't know its a completely new browser + renderer + js engine, everything from scratch.

    Andreas has hinted that he is considering pushing the browser project to be a bigger thing, and positioning it as a legitimate and viable alternative to browsers with a corporate influence (which Firefox unfortunately is):

    > Hypothetically, would you consider sponsoring a completely new web browser (no big tech companies involved) that refuses to take money from the advertising industry?

    This could only be a good thing, and I for one would happily sponsor a browser (and rendering engine) that is independent and only serving users needs.



  • Show HN: I wrote a WebAssembly Interpreter and Toolkit in C
    6 projects | | 9 Jan 2023
    I'd love to see a benchmark of this vs. libwasm
  • A note from our sponsor - InfluxDB | 26 Mar 2023
    Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →


Basic serenity repo stats
3 days ago
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives