Live data from Hacker News

SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics

github.com

101–110 of 186 posts

Re: SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics

#101
post #63

Earlier quoted context omitted.

Presumably the intent is not to depend on boost, but rather only standardized parts of the language. Also using something like boost ties you to a specific version of boost due to the wonders of c++ abi - your OS libraries can’t expose anything that explicitly or implicitly includes things that aren’t ABI stable. (I’m sure kling is already requiring 100% stable abi :) )

Fair, but I was replying to this being a good example of modern C++. It's atypical that implementing your own vector and string is even a good idea, let alone exemplary.

On the contrary, the standard vector and string classes are garbage UX-wise (e.g. unlike pretty much every other single dynamic array implementation in existence, vector does not have something like an "index of element" method and instead you are supposed to use std::find and subtract iterators with a special check for when the element wasn't found... like, WTF).

Re: SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics

#102
post #76

Earlier quoted context omitted.

One could always also throw together a virtual machine for running Windows 3.1 like I keep doing.

For most non-technical people, a Windows 3.1 type GUI is all they need.

Until they maximize one of the program group windows and suddenly "where are all my programs?" :-P

Re: SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics

#103
post #81
post #80

Earlier quoted context omitted.

The C++ stdlib versions of vectors have different design goals, including a bunch of ABI constraints for very old code (things like the vector specializations). Likewise there are questionable spec behaviors like unordered_map that specifies suboptimal implementation.

Follow on thought - what happens for operator new[]() in kernel space? Does it depend on a malloc (vs. traditional kmalloc)?

It's currently ending up in kmalloc(). The compiler handles the new[]/delete[] element count and I don't ask any questions about how.

Re: SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics

#105
post #87
post #67

Earlier quoted context omitted.

This strikes me as profound and I would like to hear more. Do you have other writings? Are there any books about this? Do you think about this often?

There's a small, if somewhat contrarian move, especially in the *nix/free software communities, that goes along those lines. You'll find a lot of people fed up with hamburger menus and nondescript icons and widgets, poor API stability (and, therefore, lack of easy scriptability (is that a word?)) and other questionable developments of the more "modern" approach to building desktop systems. Some of the folks in this c…

I want to see a power user OS. Something designed for humans who need to analyze huge amounts of data in arbitrary ways. Something that knows how to work with cloud resources to profile new data sources, simplifying the whole ETL challenge. With great APIs at the program level, so I can always pull datasets between apps, use the best app for the job, and automate everything I need to do twice.

Re: SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics

#107
post #61
post #27

Earlier quoted context omitted.

You are absolutely right about the benefits of mimicking existing UI paradigms. It saves so much time already knowing basically how I want things to look and work. And not having to worry as much about resources as people did in the past is a huge load off. (Although I do all my development with 128MB of RAM or less, because I enjoy that sort of challenge..) Serenity is an unapologetic remix/mash-up of all the things…

> I do all my development with 128MB of RAM or less, because I enjoy that sort of challenge I remember being excited that I was able to splurge on a 486 with 4 Mb RAM.

I love working with 2kb of RAM. What is your point?

Re: SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics

#108
Sure the aesthetic is old-school, but look how much more informative a proper GUI is. You can tell immediately which item in the task bar is active.

"Flat" UI is both lazy and an overreaction to the ridiculous skeuomorphism that plagued us years ago.

Re: SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics

#109

I think this is an impressive achievement, and certainly something I could never do. But I'm a little disappointed in the state of desktop operating systems these days. I don't see any innovation. Every OS is just splashing chrome on the same WIMP paradigm that's been available to consumers for 35 years. Maybe I'm looking for the equivalent of a flying car, but I wish someone would come up with an OS, or even just an…

I feel the same way about desktop OSs, and OSs in general really, these days. I mean, no disrespect to the author of this one because it's an impressive amount of work, but it's yet another unix. Unix is freaking ancient and even its developers went on to do it better in Plan9, but everyone keeps copying unix and its archaic paradigms. Well, except the l4 people, who seem content to keep their work completely academic.

I have a different conception of what a desktop OS should be than you seem to, though. I want one that embraces simplicity. It should elicit a resounding "meh" because it doesn't do anything particularly impressive and is just a really good execution of already existing ideas.

Re: SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics

#110

I think this is an impressive achievement, and certainly something I could never do. But I'm a little disappointed in the state of desktop operating systems these days. I don't see any innovation. Every OS is just splashing chrome on the same WIMP paradigm that's been available to consumers for 35 years. Maybe I'm looking for the equivalent of a flying car, but I wish someone would come up with an OS, or even just an…

Rust has Redox (desktop focused) and TockOS (embedded).

I happen to (wishfullly) think the next major OS will have capability-based permissions at the core level, a model a bit like Mobile permissions but composable. Good thing that Google's Fuschia is based on capabilities. It's in C++ though.

Post reply on HN