[HN Gopher] Not-a-Linux distro review: SerenityOS is a Unix-y lo...
       ___________________________________________________________________
        
       Not-a-Linux distro review: SerenityOS is a Unix-y love letter to
       the '90s
        
       Author : trashburger
       Score  : 208 points
       Date   : 2021-08-18 11:28 UTC (11 hours ago)
        
 (HTM) web link (arstechnica.com)
 (TXT) w3m dump (arstechnica.com)
        
       | qwerty456127 wrote:
       | By the way I believe many retro-lovers would also appreciate a
       | 2-panel commander-style file manager.
       | 
       | And as I always thought it doesn't actually have to be a separate
       | app. It could be enough to make a standard file browser window
       | aware of a the nearmost window of the same class and send files
       | there on F5/F6 press.
        
       | squarefoot wrote:
       | Compiled and (admittedly briefly) tested yesterday. It's small,
       | and fast although run virtualized. There are some quirks here and
       | there, but for an OS in its infancy it's normal. Not an easy
       | task, however I'd like one day to see it ported to ARM platforms.
       | All those small and cheap Pi-like boards or TV boxes seem just
       | the right platforms for it.
        
       | klaussilveira wrote:
       | Not related, but related: I could definitely use a consistent,
       | coherent, pixel-perfect Windows 95 theme package for Linux. QT,
       | GTK, DE does not really matter, as long as they blend in
       | properly. Something like the adapta-project.
        
         | anthk wrote:
         | Check Chicago95
        
           | klaussilveira wrote:
           | The problem with Chicago 95 is that it is not consistent.
           | Check the padding/margin on these buttons:
           | 
           | https://raw.githubusercontent.com/grassmunk/Chicago95/master.
           | ..
           | 
           | Now compare to these:
           | 
           | https://raw.githubusercontent.com/grassmunk/Chicago95/master.
           | ..
           | 
           | Or here:
           | 
           | https://raw.githubusercontent.com/grassmunk/Chicago95/master.
           | ..
           | 
           | Everything is off. Compare to the real thing:
           | 
           | https://external-
           | content.duckduckgo.com/iu/?u=http%3A%2F%2F4...
           | 
           | https://external-
           | content.duckduckgo.com/iu/?u=https%3A%2F%2F...
           | 
           | Or compare to SerenityOS. That's good UI work.
        
             | theandrewbailey wrote:
             | Those Chicago95 screenshots might be a bit out of date.
             | Some of the systems I use have the latest Chicago95 on
             | them, and it either doesn't bother me, or I'm so focused on
             | doing things in applications (or on anything but the UI
             | theme) that it doesn't bother me.
        
         | qwerty456127 wrote:
         | I also wouldn't mind (and would certainly donate to) a
         | "consistent, coherent, pixel-perfect" (and also kept up-to-date
         | to be easily installable on recent distros, covering Qt, GTK
         | and GTK3) themes imitating the actual SerenityOS, as well as
         | Windows 98 (not a radical Windows 95 fan), Windows XP, Windows
         | Vista (it was shitty but pretty), MacOS 9.2, QNX6 Photon, Haiku
         | and Swing[1]. Perhaps even Windows 3.11 (OMG I loved its
         | Control Panel icons). And I've once seen a picture some other
         | exotic retro UI which I found beautiful but I could never find
         | it again and don't know which platform it was (I thought it was
         | some modern Amiga but apparently it wasn't, some sort of Unix
         | perhaps, but no Unix screenshots I found actually looked like
         | that).
         | 
         | Needless to say the themes would have to be extended to
         | accommodate the features of the relevant toolkits like GTK3
         | complex window titles and KDE's optional always-on-top and
         | always-on-bottom buttons (I actually want every stacking window
         | manager to have these two, I use both of them a lot).
         | 
         | And I would also want these for Windows 10 (and 11 obviously),
         | not just Linux. Themes for some actual apps (e.g. Firefox) also
         | needed.
         | 
         | I wonder if there already is enough of aging millennials
         | appreciating retro GUIs to form a market.
         | 
         | [1]
         | https://docs.oracle.com/cd/E37069_01/html/E37073/figures/ide...
        
           | BoxOfRain wrote:
           | My favourite ever OS theme was Mac OS X 10.4 "Tiger", that
           | period of Aqua was just so cheerful and friendly compared to
           | everything before or since. I'd love to be able to skin
           | modern macOS back to Tiger's theme but the best I can do is
           | giving Firefox a brushed metal theme!
        
           | pessimizer wrote:
           | I'm entirely in support of this entire thread. It would
           | really murder the soul of change for change's sake Linux UI
           | people if users were allowed to stay on Windows XP UI
           | forever, but with modern features and bugfixes.
        
             | yjftsjthsd-h wrote:
             | > It would really murder the soul of change for change's
             | sake Linux UI people if users were allowed to stay on
             | Windows XP UI forever, but with modern features and
             | bugfixes.
             | 
             | If you're used to the other side of the fence, CDE [0][1]
             | is 28 years old and perfectly usable on modern systems, not
             | as a theme or recreation, but simply as the _same_ software
             | that once dominated the Unix desktop scene. Sometimes I
             | enjoy running it when I get fed up with the  "modern" world
             | and just want to work on a system that's nigh-
             | indistinguishable from decades ago.
             | 
             | [0]
             | https://en.wikipedia.org/wiki/Common_Desktop_Environment
             | 
             | [1] https://sourceforge.net/projects/cdesktopenv/
        
       | qwerty456127 wrote:
       | What begs to emerge in the SerenityOS world is a form-centric
       | visual RAD IDE like Delphi/VisualBasic/VisualStudio-WinForms.
       | Powered by a higher-level (than C++) language preferably. And
       | high-level (automatic memory management, first-class Unicode
       | strings) languages don't have to be heavy, VisualBasic did quite
       | well on 486s. But I don't actually mind C++, I enjoyed Borland
       | C++ Builder (a Delphi clone I used because I never learned
       | Pascal) and QNX PhAB and had no problem with C++ (but I didn't
       | really enjoy MS VisualC++ MFC which required you to code the UI
       | manually).
       | 
       | I hope the actual GUI toolkit is engineered with potential
       | support for visual designers in mind.
       | 
       | It is also interesting to note how well do legacy Windows
       | controls integrate with the system so old Windows apps running on
       | modern Windows versions enjoy seamless support of modern user IO
       | facilities which didn't exist when they were born
       | (autocompletion, spell checking, dictation, screen reading, etc).
        
         | jcelerier wrote:
         | > Powered by a higher-level (than C++) language preferably.
         | 
         | Yet C++ allowed them to write literally all that OS in a
         | ridiculously small amount of time.
         | 
         | Anyways, with Qt support
         | (https://github.com/SerenityOS/serenity/pull/9362) you can
         | likely soon use Qt Creator for your RAD needs.
        
           | pjmlp wrote:
           | 1990's C++ frameworks like Powerplant, OWL and VCL were
           | great.
           | 
           | Qt is the only one left carrying that flag.
           | 
           | C++ has all the tools to make it as easy as VB/Delphi kind of
           | development, yet too many spoil it by sticking to what I
           | would call C+.
           | 
           | I was quite disappointed to the way XAML C++ has become, but
           | apparently the teams that used WRL seem to be happy, more to
           | them, rest of us are sticking with C# now.
        
         | KronisLV wrote:
         | On this note, is there any modern RAD solution like that,
         | that's not essentially in maintenance mode, slowly dying or
         | abandoned altogether?
         | 
         | The closest that i can think of is Lazarus for FreePascal:
         | https://www.lazarus-ide.org/
         | 
         | It allows for native applications for a variety of platforms,
         | is open and free and isn't constrained to a single OS like
         | WinForms are. Things might improve with the new .NET versions
         | somewhat and Java is also passable (with either Swing or
         | JavaFX), but at least Java doesn't really feel native and needs
         | JDK, as does .NET.
         | 
         | Is Electron one of the only modern options (that isn't native
         | though, only cross platform), or am i missing out on a whole
         | class of lovely tools out there?
        
           | pjmlp wrote:
           | Delphi and C++ Builder, Qt, .NET, and XAML C++ (alongside
           | WinUI) could still be an option if powers that be at
           | Microsoft finally starting listening to feedback.
        
           | zozbot234 wrote:
           | Glade for Gtk+ is another one, but it does seem to be
           | unsupported these days. Gtk+ devs are apparently expected to
           | write down their UI design by hand, with no visual or RAD
           | workflow.
        
             | qwerty456127 wrote:
             | IIRC Glade was just a standalone UI designer (not an IDE),
             | wasn't it? I actually tried QtDesigner + PyCharm and liked
             | both but lack of the integration feels itchy. Very usable
             | but not nearly as pleasant as VisualStudio with WinForms.
        
               | foldr wrote:
               | As I remember it, Glade would output an XML document
               | structure representing the UI which could then be loaded
               | via libgtk. It seemed like a nicer model than code
               | generation, though I don't remember much about how it
               | worked.
        
               | qwerty456127 wrote:
               | > As I remember it, Glade would output an XML document
               | structure representing the UI which could then be loaded
               | 
               | QtDesigner does exactly this for Qt (and you have to run
               | a command to generate the Python code from the XML then).
               | Good enough, better than nothing but still not an actual
               | IDE where you can just click on the button you drawn and
               | jump to the code seamlessly or select a function you
               | already wrote to be an event handler right in a control
               | properties window.
               | 
               | This adds an extra step of actually "building" the UI
               | which prevents you from changing things on the fly.
               | 
               | This may sound unimportant but when you have it the
               | actually integrated way like in the VisualStudio WinForms
               | Designer, building an app actually feels like painting
               | with Bob Ross - satisfying and productive. And doing the
               | UI and the code in different apps feels like having
               | separate kitchens (rooms) for cutting the food and for
               | roasting it.
               | 
               | In fact I imagine my ideal app dev tool as cross-platform
               | VisualStudio WinForms with WPF-like bindings and
               | programmed in F#. Oh boy that could be a pleasure I would
               | pay some month salaries of mine to get.
        
               | garaetjjte wrote:
               | >still not an actual IDE where you can just click on the
               | button you drawn and jump to the code seamlessly or
               | select a function you already wrote to be an event
               | handler right in a control properties window
               | 
               | QtCreator does work like that.
        
           | badsectoracula wrote:
           | > On this note, is there any modern RAD solution like that,
           | that's not essentially in maintenance mode, slowly dying or
           | abandoned altogether? > > The closest that i can think of is
           | Lazarus for FreePascal: https://www.lazarus-ide.org/
           | 
           | Well, Lazarus is exactly what you are asking for. Its GUI
           | designer is leaps and bounds ahead pretty much every other
           | GUI designer for desktop applications and the IDE integration
           | with the underlying framework is second to none. The project
           | isn't only under active development but has more developers
           | than it ever had.
           | 
           | The WinForms you mentioned feels like some abandoned beta
           | that barely provides Delphi 1 level functionality in terms of
           | "RAD-ness" and other frameworks abandon the entire RAD idea
           | altogether, regressing back to glorified resource editors
           | like you'd see in 16bit Windows back in 80s.
        
           | javajosh wrote:
           | IntelliJ includes a Swing builder (and is itself written with
           | Swing).
           | 
           | The product that I miss for little SMB projects is Access. It
           | was the best option for building single-user CRUD apps with a
           | really thoughtful bundle of features. (It totally fell over
           | with multi-user, and every user needed a license for the
           | runtime (with some exceptions) and VBA had some major warts,
           | but in terms of DX it was great)
        
             | qwerty456127 wrote:
             | > The product that I miss for little SMB projects is
             | Access. It was the best option for building single-user
             | CRUD apps with a really thoughtful bundle of features.
             | 
             | Try Gupta Team Developer. It's an SQL-centric binding-
             | driven visual RAD tool where you draw the controls visually
             | and basically bind them to SQL queries. It was pleasure and
             | fun to use the last time I tried. To me it felt way better
             | than Access.
        
             | qwerty456127 wrote:
             | > IntelliJ includes a Swing builder
             | 
             | Nice to know. I thought they deprecated soon after they
             | added it.
             | 
             | > and is itself written with Swing
             | 
             | Is there a way to configure it to look like actual
             | Swing[1]?
             | 
             | [1] https://docs.oracle.com/cd/E37069_01/html/E37073/figure
             | s/ide...
        
               | javajosh wrote:
               | It's been a while, but Swing has a "Pluggable Look and
               | Feel" (PLAF) where the default is Swing. See https://docs
               | .oracle.com/javase/tutorial/uiswing/lookandfeel/...
               | 
               | BTW here's a link to the component - it's called GUI
               | Designer. https://www.jetbrains.com/help/idea/components-
               | of-the-gui-de...
        
               | qwerty456127 wrote:
               | I know and that's why I ask. I mean I would like to
               | configure an existing pre-built non-free Swing app (a
               | JetBrains IDE) to use the default Swing PLAF (the PLAF
               | NetBeans used the last time I tried it) instead of the
               | one the original developer has bundled.
        
           | qwerty456127 wrote:
           | Lazarus is rather cool but even after you learn Pascal (which
           | is rather alien to modern programming) the built-in not-so-
           | smart code editor feels somewhat painful to use after
           | VisualStudio and IntelliJ. These 2 entry barriers make it
           | feel overly vintage and demotivate from using it.
           | 
           | As for Electron - the idea of learning the web front-end
           | stack and designing UIs from scratch (rather than composing
           | them from common controls), just to produce insanely
           | heavyweight executables compatible with a limited set of
           | platforms (e.g. Lazarus is much more cross-platform, it can
           | even run on Haiku) doesn't sound inspirational at all.
        
             | badsectoracula wrote:
             | > built-in not-so-smart code editor feels somewhat painful
             | to use after VisualStudio and IntelliJ
             | 
             | What is missing from Lazarus' editor? I never used IntelliJ
             | but from my experience with Visual Studio (up to 2019 IIRC)
             | i've found Lazarus' editor to actually be more featureful
             | than VS in pretty much everything i tried: syntax
             | completion (ctrl+space), code completion (automatically
             | writing code for missing declarations, syncing interface
             | and implementation, implementing abstract methods,
             | overriding parent class functions, etc), code navigation,
             | etc.
        
               | qwerty456127 wrote:
               | > What is missing from Lazarus' editor?
               | 
               | Perhaps it actually is good, I probably just didn't
               | dedicate enough time to discover all its features. Or
               | maybe all the cool stuff was added right after I tried it
               | (it's been some years already). I mostly mean context-
               | aware completion suggestions, refactoring and code
               | navigation. I already can't remember what exactly was
               | missing (I didn't find) when I tried.
               | 
               | > I never used IntelliJ but from my experience with
               | Visual Studio
               | 
               | VisualStudio + ReSharper [?] IntelliJ.
        
         | trashburger wrote:
         | There used to be a visual form builder. Nobody used it to build
         | applications, so it was eventually removed. Nowadays, GUI stuff
         | for most applications are written in the GML language, which is
         | Serenity-specific. You can look through the source code to see
         | examples.
        
           | qwerty456127 wrote:
           | Why did it have to be removed? Why not just put it in
           | maintenance mode without adding new features if there is not
           | enough demand?
        
             | akling wrote:
             | I built it, believing it was going to be useful. In the
             | end, it was not. There's no point in keeping unused
             | features around, since the system is just for ourselves.
             | 
             | Since then, we've built a markup language for interface
             | design (GML) which has made GUI development significantly
             | easier, so that's what we're focusing on instead. If
             | someone wants to build a visual design tool on top of GML,
             | they are obviously free to do so, but as with everything
             | else in SerenityOS, people work on what they themselves are
             | interested in. :)
        
               | qwerty456127 wrote:
               | I see. Thank you. I will try the GML.
               | 
               | PS: By the way, do your neighbours know you are a genius
               | developer superhero? :-)
        
         | dleslie wrote:
         | Gambas exists and has regular updates still, is an open source
         | Visual Basic clone.
         | 
         | http://gambas.sourceforge.net/en/main.html
        
         | breakfastduck wrote:
         | Thats begging to emerge just generally! Nothing has really
         | filled the gap VB left.
        
         | pjmlp wrote:
         | On a side track, MFC C++ is the best offer current on MS stack
         | for C++, as rediculous as it may seem.
         | 
         | They introduced a C++ Builder like with C++/CX for WinRT, but
         | apparently too many people inside Redmond wasn't happy to have
         | it around, so now you get to use its replacement (C++/WinRT) as
         | back on Visual C++ 6.0 and ATL.
         | 
         | Pity that C++ RAD tooling similar to C++ Builder is seen as not
         | for real developers.
         | 
         | So the trend to write GUIs by hand on C++ is the only path
         | known to many devs.
        
       | qwerty456127 wrote:
       | > Porting a modern browser like Firefox or Chromium to an
       | entirely new operating system is arguably as difficult as writing
       | one from scratch
       | 
       | Sadly this sounds quite obvious. But, out of curiosity, does it
       | have to be? Let's imagine we actually write a modern web browser
       | from scratch. Can't we design it the way it would be easy to port
       | to other OSes because it would implement all the actual HTML and
       | CSS features in a platform-independent logic layer on top of a
       | portable renderer layer?
       | 
       | Remember how many platforms did the original Opera support back
       | in the days. I remember running it natively on QNX. And it was
       | the most modern and standard-compliant browser.
        
       | pram wrote:
       | I love the idea, and I love strong visions, but why not something
       | closer to Motif/CDE? In my mind at least, when I think of 90s
       | workstations, I don't think of Windows 95.
        
         | qwerty456127 wrote:
         | Motif would probably be a little too much. I always perceived
         | Motif as the ugliest GUI toolkit I've ever seen. Now as I age I
         | started to appreciate retro GUIs and began seeing some charm in
         | Motif but it certainly requires some intentional "will to
         | love". Or maybe it is just an acquired taste like surstromming
         | or something like that.
         | 
         | And someone related to the SCO Group can probably patent-troll
         | you if you use it. There are no giants like RedHat and Novel to
         | protect SerenityOS in such an event the way they protect Linux.
        
           | yjftsjthsd-h wrote:
           | I'm not aware that SCO ever owned _patents_ , just claimed to
           | have copyrights, and Motif has been open source for years.
        
             | qwerty456127 wrote:
             | > Motif has been open source for years.
             | 
             | So has Linux, yet SCO didn't hesitate to spend enormous
             | amount of lawyer-hours attacking it.
             | 
             | AFAIK even simple scroll bars and double clicks are
             | patented, the patent holders (Microsoft and Apple, IIRC)
             | just have generously allowed the GNU/Linux community to use
             | them.
        
         | majewsky wrote:
         | More current-day developers are nostalgic for Windows 95/NT
         | than for Motif because of sheer exposure. It's the same for me:
         | Windows NT UIs have a vibe of "good old days" for me, whereas
         | Motif UIs feel like ancient history that is unrelated to me
         | personally.
        
           | anthk wrote:
           | It depends. NT users with Linux (specially Slackware) with
           | FVWM and a bunch of Lesttif/GTK1 tools for sure they are
           | nostalgic on Motif and even Athena. At least a bit.
        
           | qwerty456127 wrote:
           | I've never used a pre-OSX Mac but still find the screenshots
           | lovely. I've even styled my Linux window decorations after
           | MacOS 9.2. I find it an optimal middle between heavily retro
           | and modernly sleek themes.
        
             | the_only_law wrote:
             | Not a MacOS type UI, but I like WindowsMaker, which tried
             | to emulate NeXTSTEP.
        
               | qwerty456127 wrote:
               | By the way, what's the difference between WindowMaker and
               | AfterStep?
        
       | skywal_l wrote:
       | I encourage anyone to look at the code. It's clean C++, you can
       | get into it pretty easily. The author encourage code clarity and
       | the fact that the whole OS (kernel, libraries, userland) is all
       | in the same repo makes it easy to navigate and understand.
       | 
       | I think the objective of the author is not to make the most
       | complete, fastest, shiniest OS ever, but have something that
       | works, that's usable, fun to work on and educational to look at.
        
         | qwerty456127 wrote:
         | > I think the objective of the author is not to make the most
         | complete, fastest, shiniest OS ever, but have something that
         | works, that's usable
         | 
         | There already are enough of OSes which work and are usable. To
         | me it seems the goal here is just beauty in all the possible
         | aspects.
        
         | 1_player wrote:
         | I would like to contribute, but modern C++ looks positively
         | alien to me. I am an experienced developer and know C like the
         | back of my hand, any pointer on how to learn to write 2010's
         | C++ without going through the absolute basic tutorials?
        
           | the_only_law wrote:
           | C++ is the one language that actually scares me. I've seen
           | several people say things along the lines of "I've been
           | learning C++ for 10 years" and I have trouble finding
           | introductions to the language that actually teaches all the
           | features added over the years , and not just as "C with
           | classes".
        
             | pjmlp wrote:
             | C++ is undoubtedly a complex language, however I think most
             | disregard how complex others also are.
             | 
             | For example, when checking the feature list of latest
             | versions from Python, Java, C#, F#, Typescript as a couple
             | of examples.
        
               | the_only_law wrote:
               | I suppose I agree, I lost track of Python and C# recently
               | myself.
        
           | stephen82 wrote:
           | There you go https://github.com/AnthonyCalandra/modern-cpp-
           | features
        
           | ImprobableTruth wrote:
           | Stroustrup basically wrote a book for people like you, called
           | A Tour Of C++, directed at experienced C/'old school' C++
           | programmers who want to learn modern C++. It's pretty short
           | too (only like 200 pages) - can easily be read in a weekend.
        
           | paulirwin wrote:
           | The other link posted here is great info but might be a bit
           | overwhelming. Some of the highlights of modern C++ to look
           | into:
           | 
           | Lambda functions
           | 
           | Smart pointers = less need for *
           | 
           | Move semantics = less need for pointers, efficient
           | pass/return-by-value
           | 
           | Type inference with `auto`
           | 
           | `nullptr` = strongly-typed null pointer type sans macros
           | 
           | `constexpr` = compile-time programming sans macros
           | 
           | Deleted functions = can prevent things like accidental copies
           | 
           | Range-based `for` = very similar to Java's for-each
           | 
           | That should mostly catch you up from C++03 to C++11-ish
           | (language features only; there's plenty more to explore with
           | library changes). C++14 and 17 had some refinements to those
           | items so review the above in a current context for additional
           | enhancements to them. C++20 adds some major things like
           | concepts and modules, but starting there might not be the
           | best idea to get up to speed.
           | 
           | (I'm a C++ amateur and hobbyist, so I might not be using 100%
           | correct terms above! I'm also a very, very minor SerenityOS
           | contributor.)
        
           | ryanianian wrote:
           | I was in a similar situation to yours when work required me
           | to become a C++17 expert practically overnight.
           | 
           | Bjarne (inventor of the language) has a "blue book" that is
           | very good and pretty comprehensive (if a bit dry and
           | academic). I read it cover to cover in a couple days - not
           | really retaining everything but learning what I didn't know.
           | Then I read Scott Meyers's Effective Modern C++ to get up to
           | date on the latest thinking and really nail down some of the
           | finer points.
           | 
           | YMMV but this worked well for me to get a good feel for C++
           | the language. Mastering the STL and/or Boost is a journeyman
           | job, though, as is mastering (any) build system. Of course
           | there is no substitute for firing up the editor and writing
           | real code.
        
           | faraaz98 wrote:
           | I haven't worked with c or c++ in a long time but I found the
           | repo so beautifully usable it's great
        
       | throw0101a wrote:
       | > [...] _it does borrow a couple of concepts from FreeBSD--its
       | license (2-clause BSD), and a "ports tree" software management
       | system similar to FreeBSD's._
       | 
       | If anyone wants a third-party software repository for their OS
       | project, it's worth checking out NetBSD's pkgsrc:
       | 
       | * https://en.wikipedia.org/wiki/Pkgsrc
       | 
       | It's multi-platform (Linux, BSD, macOS, Solaris, AIX, QNX, etc),
       | and so has a lot of infrastructure for portability already set
       | up:
       | 
       | * https://www.pkgsrc.org/#index4h1
        
         | rbanffy wrote:
         | > It's multi-platform (BSD, macOS,
         | 
         | I absolutely love MacPorts. It's packages done right.
        
         | plextoria wrote:
         | pkgsrc support is worked on by a dev:
         | https://github.com/SerenityOS/serenity/pull/9268
         | 
         | I also gave a go at cross-compiling pkgsrc for SerenityOS. Will
         | resume if I find some free time in the future.
        
           | boricj wrote:
           | I'm indeed working on it (meta-issue progress tracking is
           | over there:
           | https://github.com/SerenityOS/serenity/issues/8605). However,
           | bootstrapping pkgsrc is a stressful test of reliability,
           | stability and POSIX-compliance for any operating system, let
           | alone a hobbyist one. I've yet to have a pkgsrc bootstrap
           | finish successfully without hitting a bug, deadlock,
           | coredump, kernel panic or some combination thereof. It's like
           | repeatedly stubbing one's toe on a sharp POSIX edge.
           | 
           | That's not counting actually building packages inside
           | SerenityOS (pkgsrc doesn't support the kind of cross-
           | compilation we'd need to build packages on a Linux host for a
           | SerenityOS target), which will probably expose lots of other
           | bugs, race conditions and limitations.
        
       | rbanffy wrote:
       | > "we imported four or five C standard library functions from
       | NetBSD or something like that. But those were gotten rid of over
       | time. We're free of third-party code now, with the exception of
       | the build process."
       | 
       | I'm scared of whatever is their crypto support...
        
         | ThrowawayR2 wrote:
         | Surely you could've expressed your concerns in a more
         | constructive way?
         | 
         | In any case, according to their GitHub page, they use libtls,
         | which is also apparently associated with OpenBSD.
        
           | akling wrote:
           | LibTLS is our own original code [1], it has nothing to do
           | with OpenBSD (or any other library that happens to share the
           | name.) :)
           | 
           | 1. https://github.com/SerenityOS/serenity/tree/master/Userlan
           | d/...
        
             | ThrowawayR2 wrote:
             | Oh, my mistake. There also exists a libtls that is part of
             | https://www.libressl.org/ which is a fork of OpenSSL that
             | is associated with OpenBSD, so it seemed like a reasonable
             | assumption that they are the same.
        
           | rbanffy wrote:
           | So, they aren't "free of third-party code now" after all.
           | Good for them.
        
         | breakfastduck wrote:
         | Go fix it then. That's the point of the project.
         | 
         | Or are you just throwing out comments without even looking at
         | it?
        
           | yjftsjthsd-h wrote:
           | Not them, but this is the one place where that attitude seems
           | reasonable: I am not a crypto expert, and therefore _can 't_
           | audit their crypto code, and _the_ refrain is  "don't roll
           | your own crypto (unless you _really_ know what you 're
           | doing)", so unless one of the devs _is_ a crypto expert then
           | it is 100% reasonable to both be rather worried that they 're
           | rolling their own and also unable to do anything about it.
        
             | Deukhoofd wrote:
             | Serenity is not really designed for everyday use, but more
             | for enjoyment and as a learning experience for the
             | developers. It's not really reasonable to be worried about
             | it from that point of view, as of course it's not
             | professional crypto, it's written by someone who wanted to
             | learn more about it, and figure out how it'd work in a
             | modern system.
        
           | rbanffy wrote:
           | I fix the software I use. Random commenters are not entitled
           | my time and attention. I've learned to avoid rolling out my
           | own crypto and suggest others learn it too. One shouldn't be
           | proud of reinventing the wheel unless it's significantly
           | better wheel.
           | 
           | So, is it?
           | 
           | edit: they use libtls, so I guess they aren't "free" from
           | third party code after all.
        
             | tristan957 wrote:
             | That is not the libtls you are thinking of. That is a
             | homemade library.
        
             | somethingor wrote:
             | Serenity's LibTLS is Serenity-specific code.
        
       | qwerty456127 wrote:
       | I've taken a look at the screenshots and discovered the fact
       | SerenityOS supports theming. This makes me want to share my
       | opinion on this: big light elements in the dark theme (like the
       | display frame in the display settings) and big dark elements in
       | the light theme (like the terminal) are annoying (in addition
       | dark terminal also can be very hard to read when the sun shines
       | straight into your display). Although both of the examples I have
       | given look this way because this is the classic way for them to
       | look, I'd love to see an option to automatically style
       | _everything_ (the terminal specifically, the display settings
       | decoration doesn 't matter much but it can also be fixed just to
       | make it perfect) them in accordance with the system theme gamma.
       | 
       | In fact this is why I don't use (on Linux and Windows) dark
       | themes actually: because there are many apps which don't support
       | dark themes and look like huge white bulbs when your system is
       | dark (and most of the apps which do support dark themes still
       | require manual re-configuration every morning/evening instead of
       | just complying to the OS-level switch).
        
       | tuckerpo wrote:
       | : ^ )
        
       | klaussilveira wrote:
       | It's not just nostalgia, but good, efficient design work:
       | https://twitter.com/tuomassalo/status/978717292023500805
        
       | NoGravitas wrote:
       | "If this desktop doesn't look hauntingly familiar to you, you
       | either didn't live through the '90s, or perhaps just didn't live
       | through them _right_. "
       | 
       | In fact, I used OS/2 through the early '90s, and Linux through
       | the late '90s and early 2000s, so I missed this era altogether,
       | and I don't think I lost anything through it. It wasn't until
       | 2006 I had a job that required Windows, so I didn't use anything
       | between 3.11 and XP.
        
       | severak_cz wrote:
       | I think that SerenityOS would benefit from porting to something
       | like RaspberryPi. That would give them usable hardware support.
        
         | breakfastduck wrote:
         | As Andreas himself routinely says in Q&As - If you're
         | interested in it then build it. This is an OS for developers.
         | 
         | They don't have a 'plan' for hardware support. They work on
         | what each individual developer is interested in working on. If
         | you want to add compatibility with the pi then fill your boots!
        
           | severak_cz wrote:
           | I know. However my C++ skills are almost non existent. :-(
           | 
           | But I keep to throw this idea over over. Maybe someone adopt
           | it one day (and I will definitely beta test that later).
        
       | bla3 wrote:
       | Lots of discussion of SerenityOS yesterday on
       | https://news.ycombinator.com/item?id=28206840 too.
        
       | KronisLV wrote:
       | The author also has a YouTube channel, where he posts more of the
       | development process:
       | https://www.youtube.com/c/AndreasKling/videos
       | 
       | Personally, it's very interesting to see both someone so
       | positive, but also so technically capable. It feels like that's
       | an optimal situation for both building something nice, as well as
       | developing a small and interesting community around it.
        
       | nickelcitymario wrote:
       | I'm impressed by everything about this project, but the idea of
       | re-writing everything from scratch would seem to doom this
       | project to obscurity. No?
       | 
       | How can any open-source project compete if it doesn't lean on
       | other open-source projects? Am I missing something?
       | 
       | This approach seems to guarantee that they can do a handful of
       | things better than anyone else (because they control the whole
       | stack), but not enough things to ever be truly complete OS for
       | any given market segment.
       | 
       | Unless 1000 developers fall in love and choose to participate and
       | compensate for the absence of other OS code, I don't see how this
       | can grow sustainably. I'd love to be wrong, though.
        
         | lawl wrote:
         | > How can any open-source project compete if it doesn't lean on
         | other open-source projects? Am I missing something?
         | 
         | It doesn't want to compete. It's a system for them, by them,
         | based on the things they like.
        
         | Deukhoofd wrote:
         | You'd be surprised by how many developers fell in love and
         | chose to participate.
         | 
         | https://github.com/SerenityOS/serenity/pulse/monthly
        
         | michaelgrafl wrote:
         | This project feels more like a lover-letter to me than an
         | attempt to compete against other operating systems.
         | 
         | I really dig it, although I don't expect to ever use it
         | productively. And I love that the development is documented on
         | YouTube.
        
         | Santosh83 wrote:
         | From what I understand, they _are_ porting some established
         | software like Qt and GCC, and presumably if there is enough
         | interest and volunteers, more applications. However they also
         | aim to write a core set of apps specially for Serenity from
         | scratch, so it seems like the best of both worlds to me: a set
         | of native, integrated programs designed to showcase the OS 's
         | specialities, with ports of popular FOSS programs, and since
         | Serenity does aim to be "Unix-like", it shouldn't be too hard.
         | 
         | The incumbents in the field are absolutely overwhelming in
         | their existing functionality, which makes it an extremely steep
         | slope to climb for an upstart, unless they aim to fulfil a
         | specialised niche. Linux struggled for years with lack of
         | drivers. That's always the one of the chief roadblocks. If the
         | OS can drive a broad range of hardware, then automatically
         | users and ports of software will happen, but if it can only
         | recognise a few generic devices then it will remain hobbyist.
         | But thanks to the complexity of modern hardware, the task of
         | even _adapting_ Linux 's drivers would be an enormous
         | undertaking.
        
         | hnlmorg wrote:
         | > _Unless 1000 developers fall in love and choose to
         | participate_
         | 
         | They're already half way there :)
         | 
         | Plus the goals of this isn't to be another Linux or Windows or
         | whatever. It's to be an opinionated platform that's personal to
         | the developers. That means even as long as there is just one
         | developer on it, then the project is succeeding in its goal.
        
         | breakfastduck wrote:
         | Compete for what?
         | 
         | It's an OS being build from scratch born from the desire to do
         | it, and to have all things in it built from scratch. The
         | project has immense activity.
         | 
         | I absolutely HATE this kind of comment, with it being
         | especially annoying to read on hacker news. Why the hell does
         | everything have to be about gaining a market segment. Why can't
         | something be for the joy of it.
        
           | incanus77 wrote:
           | This. Linux wasn't made to compete, either. Nor was PHP. Or
           | even Perl. Serenity hearkens to a time when people made --
           | and shared -- things out of passion and the drive to create
           | and refine. It's what drew me to software development in the
           | first place -- an internet-enabled open playground of
           | passion, trial and error, learning, and making.
        
           | [deleted]
        
           | city41 wrote:
           | I totally agree with you, don't get me wrong. But I can't
           | help but feel a little sad knowing SerenityOS will never be
           | my daily driver. I feel the same way about Haiku OS.
        
         | ThrowawayR2 wrote:
         | > " _... the idea of re-writing everything from scratch would
         | seem to doom this project to obscurity. No?_ "
         | 
         | I'm sure the same was said of Linux 0.01 in the '90s, which was
         | also the golden age of proprietary UNIXes. " _From small
         | beginnings come great things_ ", as they say.
        
         | nonameiguess wrote:
         | It's named "serenity" OS after the serenity prayer recited in
         | AA meetings, because the developer started this as a way to
         | keep his mind occupied to overcome alcoholism. I think it has
         | been a wild success for that purpose and is one of the more
         | beautiful examples of using software for the promotion of
         | personal excellence rather than commercial excellence.
         | Obscurity is not an impediment to accomplishing this goal.
        
           | natechols wrote:
           | I too was reading the article and wondering "why..." until I
           | saw the mention of addiction. This is an excellent reason to
           | write a complete operating system from scratch,
           | congratulations to the author.
        
       ___________________________________________________________________
       (page generated 2021-08-18 23:02 UTC)