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 →
Serenity Alternatives
Similar projects and alternatives to serenity
-
Chicago95
A rendition of everyone's favorite 1995 Microsoft operating system for Linux.
-
-
InfluxDB
Access the most powerful time series database as a service. 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.
-
rust-raspberrypi-OS-tutorials
:books: Learn to write an embedded OS in Rust :crab:
-
-
haiku
The Haiku operating system. (Pull requests will be ignored; patches may be sent to https://review.haiku-os.org).
-
-
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
-
-
-
-
TypeScript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
-
-
LevelDB
LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
serenity reviews and mentions
-
Da li da napravim svoj OS?
Da dodam samo i njihov sub i možeš da baciš pogled i na SerenityOS
-
Bun v0.5.7 | Bun Blog
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
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) https://github.com/SerenityOS/serenity/blob/master/AK/Try.h
-
It's time to get the Posix elephant off our necks
"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.
[0]: https://github.com/SerenityOS/serenity
[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++?
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 https://github.com/SerenityOS/serenity to be more legible than many large code bases in other languages.
-
QOA, the Quite OK Audio Format
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?
https://github.com/xiph/flac/tree/master/src/libFLAC
https://github.com/SerenityOS/serenity/blob/master/Userland/...
-
What are some C++ projects with high quality code that I can read through?
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
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?
https://twitter.com/awesomekling/status/1612856174965129216
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.
0: https://awesomekling.github.io/Ladybird-a-new-cross-platform...
-
Show HN: I wrote a WebAssembly Interpreter and Toolkit in C
I'd love to see a benchmark of this vs. libwasm https://github.com/SerenityOS/serenity/tree/master/Userland/...
-
A note from our sponsor - InfluxDB
www.influxdata.com | 26 Mar 2023
Stats
SerenityOS/serenity is an open source project licensed under BSD 2-clause "Simplified" License which is an OSI approved license.