7 ms·
Hello friends! I'm the original author of SerenityOS and it's a lovely surprise to see it on the front page of HN :^) This project has been quite the journey f
by akling 5y ago
Hello friends! I'm the original author of SerenityOS and it's a lovely surprise to see it on the front page of HN :^)
This project has been quite the journey for me, from starting it from scratch ~3 years ago, to quitting my job ~3 months ago to focus on this full time. [1] It's also grown from a 1-man project into a bustling open source community with 475 contributors and counting.
If anyone has questions about the system I'm happy to answer them! I also have a huge library of content on my YouTube channel [2], where I've uploaded hundreds of videos of me working on the system in real time, and also monthly update videos (since April 2019) where I demo recent developments.
Our main community hub is over on Discord for anyone interested in joining development. [3]
1. https://awesomekling.github.io/I-quit-my-job-to-focus-on-SerenityOS-full-time/ https://awesomekling.github.io/I-quit-my-job-to-focus-on-Ser...
2. https://www.youtube.com/andreaskling https://www.youtube.com/andreaskling
3. https://discord.gg/serenityos https://discord.gg/serenityos
- davidkunz 5y agoHi Andreas, It's astonishing how much you've achieved with SerenityOS. The sheer amount of high-quality YouTube videos explaining the process is unprecedented. Keep up the good work!
- hulitu 5y agoIs it possible to compile and run existing unix programs ?
- akling 5y agoCertainly! We have a growing library of ports [1] that you can build with a single command to add 3rd party software to the system. Note that unlike many other operating systems, SerenityOS aims to be completely free of 3rd party software in the default install. So we build everything ourselves, all the way from the kernel to the web browser. It's great fun! 1. https://github.com/SerenityOS/serenity/tree/master/Ports https://github.com/SerenityOS/serenity/tree/master/Ports
- als0 5y agoInspiring work. When you started working on Serenity it had a floating dock and macOS-like menu bars. Now it looks more like Windows 2000 in style. What made you switch to this design? Familiarity?
- akling 5y agoI removed the global menu bar after realizing that it's incredibly tedious to use at large resolutions. It made some sense at 640x480 and 800x600, but at 1080p and beyond, you run into a great deal of mouse travel between a window and its menu bar.
- uuddlrlr 5y agoThe trade-off for the mouse travel is only needing to align the click on the X-axis.
- maskros 5y agoThat's only one way. Don't forget about the return trip.
- aasasd 5y agoExactly: if implemented right and there's no gap between the menu and the top of the screen where the cursor does nothing, then you can just mostly jam the mouse in the general direction of the menu item. Notably, Microsoft managed to bungle this initially in Windows with the task bar: there was a one-pixel gap between the buttons and the bottom of the screen, so you had to aim for the buttons or to readjust the cursor each time. (Though personally I find the downward motion more awkward anyway, both because the wrist action is weird and because the wrist and the wrist support are in the way.)
- eloisant 5y agoIf the speed and acceleration is correctly configured, the mouse doesn't have more travel to do at a higher resolution.
- mysterydip 5y agoI love the project and have it bookmarked. Your progress has been remarkable! I'm not sure what I'm going to use it for yet, but I really want to for something!
- mdp2021 5y agoI have seen the screenshots: I love it! It looks practical, a work-oriented environment. But not the font - too rounded, too jocular (I must have seen it a million times, but with distance it is not convincing). I remember having remained ecstatic with some thick versions of Futura on the Amiga OS in the mid nineties, maybe you could make some test.
- filmroellchen 5y agoBy default, we have Liberation Serif and you just have to drag in TTF fonts into /res/fonts to make them usable for the system font. So it's not hard to change many parts of the visuals if you don't like them.
- southerntofu 5y agoHello, thanks for helping make SerenityOS, it looks very interesting! I'm afraid i don't have the skills/time to contribute to development, but i'm interested to follow discussions. Is there a way to join your room from a free/libre decentralized client like IRC/XMPP? A bridging bot like matterbridge is fairly easy to setup these days, and i'm happy to provide free hosting for it (on a small volunteer-run infra) if for some reason you wouldn't know where to host it. I'm always a little sad to see amazing volunteer projects organize on Facebook/Discord ;)
- Rochus 5y agoIs there already a Qt version available on SerenityOS, or did anyone plan to migrate it?
- akling 5y agoThere's a port of Qt 6 in the works (not yet merged) here: https://github.com/SerenityOS/serenity/pull/9362 https://github.com/SerenityOS/serenity/pull/9362 While hackish, it does look pretty promising: https://twitter.com/linusgroh/status/1426904775623385095/ https://twitter.com/linusgroh/status/1426904775623385095/
- Rochus 5y agoThat's cool, thanks for the links; I probably would have migrated Qt5 thought because it is much more stable and battle tested and uses C++98 which likely avoids many linker issues.
- jhasse 5y agoQt5 switched to C++11 with 5.7.
- Rochus 5y agoBut it's not mandatory, is it? Anyway, I would likely use the 5.6.3 version which was the last with LGPL 2.
- ogoffart 5y agoFrom Qt 5.7, C++11 is mandatory. Anyway, why would one want to use an outdated Qt version? I don't think LGPL3 is a problem at all for SerenityOS ports anyway.
- Rochus 5y ago> why would one want to use an outdated Qt version? Well, why would someone want to implement an outdated 90s UI? Apparently there are good reasons. I have many projects even with Qt4.4 and no need to go to a later Qt version. Qt4 already had everything I ever expected. Qt5 brings a couple of advantages (e.g. better modularization and backend API), but Qt5.4 is good enough for that.
- faraaz98 5y agoIt's been really amazing watching serenity progress over the years. I once tried porting Ruby to Serenity by watching your other porting videos but I got stuck on pthread errors. Perhaps I'll try again sometime
- akling 5y agoRuby would definitely be a fun port to add to our roster! The SerenityOS pthread implementation has improved substantially in the last year, so you might find it easier to get things working now.
- anthk 5y agoPort Nethack and Slashem. And Frotz, but Frotz it's trivial to port. Ah, NH and Frotz are already in ports, cool :D. Then: https://github.com/BarclayII/slashem-up https://github.com/BarclayII/slashem-up
- stephen82 5y agoCan LibGUI be used independently from SerenityOS, much like we do with wxWidgets and Qt?
- anthk 5y agohttps://github.com/jcs/serenity https://github.com/jcs/serenity jcs@ from OpenBSD it's trying to port Serenity OS' GUI to OpenBSD. I would like it. I use CWM, but sometimes using an environment from my teenage days make me feel relaxed.
- jjice 5y agoI love your content, really inspirational! What are your favorite resources for learning about the variety of topics you've tackled, from drivers, to cryptography, to compilers?
- akling 5y agoIn most cases: whatever specification document exists for the particular thing I'm trying to do. For things that are more open, like API's, I like to look at what mature API's that do what I want to do already look like. And then work backwards from that. :)
- AdmiralAsshat 5y agoIs the hostname "courage" in the screenshot a dig at Apple's infamous "courage" comment when they removed headphones from the iPhone?[0] [0] https://www.theverge.com/2016/9/7/12838024/apple-iphone-7-plus-headphone-jack-removal-courage https://www.theverge.com/2016/9/7/12838024/apple-iphone-7-pl...
- sdwvit 5y agoI believe, this is not related to apple, but rather to creator’s grim past
- elisee 5y agoMost likely a reference to the word in the serenity prayer, which is what SerenityOS is named after (Andreas mentioned it a few times in his videos).
- akling 5y agoThat's right, the system name and its default hostname are both references to the serenity prayer. :)
- jscipione 5y agoFantastic work on SerenityOS and great videos explaining your progress. My main complaint is that you are solving many of the same problems that Haiku is also struggling with (such as slow git checkout speed) while building a '90's era C++ based operating system. There's a good chance that your little OS may beat ours in the end. You could have built a great C++ OS on top of Haiku instead but you went your own way with SerenityOS which is valid. You may have gotten discouraged by the sometimes thorny Haiku community development process anyway.
- ncmncm 5y agoThis is a beautiful project, and you are a most gracious host. I get a strong Bob Ross vibe. I would be happier following if discussion happened on an open protocol like Matrix, rather than the wholly proprietary Discord.
- jakearmitage 5y agoWhat typeface did you use? Looks great.
- pkphilip 5y agoAndreas, I love your videos. You have clearly managed to develop a very friendly community. I like how pleasant and accessible the community is! I am sure you guys will go very far and I look forward to using Serenity OS on a daily basis.