23 ms·
I quit my job to focus on SerenityOS full time
- deleted 5y ago[deleted]
- andrey-g 5y agoLove his videos. Helped me get back into coding and c++.
- bsaul 5y agoi was surprised about the c++ choice, considering all i've read on the subject about its supposed issues related to memory management ( i think related to destructor ?) or complex features that made it unfit for OS development. i've reed a bit of the faq and it seems Andreas originally thought about using C and then realized it wasn't a good idea. Any opinion or more infos on that point ?
- o_p 5y ago>I chose the name SerenityOS because I wanted to always remember the Serenity Prayer. Whats with operating systems and religion
- pengaru 5y ago> Whats with operating systems and religion Confirmation bias; religion is everywhere, no reason to expect it to be exceptionally absent from computing/programming/operating systems etc.
- sbarre 5y agoHave you never been in a debate about vim vs. emacs?
- hedberg10 5y agoThere is no debate.
- whatshisface 5y agoI think Vim won by virtue of already being installed.
- jraph 5y agoEhhh. Vi is already installed, and it is often not Vim. Nano, on the other hand...
- dwrowe 5y agoHe opened with the explanation of doing this after coming out of rehab for drug addiction - I wouldn’t say it is related to “religion”, rather a nod/reminder for himself in why he’s doing it. Nothing beyond that it seems.
- phaemon 5y agoYou need to be pretty smart to write an OS, and only dumb people and smart people are religious. Atheism is the belief for mediocre minds. ;)
- HideousKojima 5y agoJust like yhe midwit meme: https://knowyourmeme.com/photos/2054904-iq-bell-curve-midwit https://knowyourmeme.com/photos/2054904-iq-bell-curve-midwit
- phaemon 5y agoI'd not heard of that but it seems fairly accurate. It seems related to pg's idea of middle-brow dismissal.
- jagger27 5y agoCare to expand on those bold assertions?
- phaemon 5y agoI'm not sure what you consider bold about the assertions so it's difficult to expand. I am certainly not the sharpest tool in the shed, and I'm religious, so that provides at least circumstantial evidence for my initial statement. Do you think I should consider that atheists could be dumb too? Most of the ones I've spoken to seem fairly convinced that they're reasonably smart.
- jagger27 5y agoAlright it's clear you're only here to rile people up. Not sure why you think that's appropriate here.
- phaemon 5y agoIt's appropriate because it will improve your thinking to consider that I might just be right. Edit: I happened to see your response since deleted. Don't worry, I'm not offended. I will say that HN at its best invites intellectual exploration. Take all your comments in this thread and look at them. What thoughts did you provoke? What did you add?
- slackfan 5y agoProper software development is indistinguishable from mysticism.
- nwsm 5y agoI suspect you have 1 other example. How many can you come up with that have nothing to do with religion?
- whatshisface 5y agoThe one other example is obviously either FreeBSD, whose mascot is a demon, or OSX, which itself is a religion. ;)
- dotcommand 5y ago> Whats with operating systems and religion Many daemons lurk in OSes. Sometimes religion provides the comfort and safety you need to face the horrors hiding in operating systems.
- NikolaNovak 5y agoI'm a relatively vocal atheist, but Serenity Prayer is a pretty useful/accepted creed to live by if you can get over the very first word, so I can't say it bothers me much; and while I realize there's one other OS that's much more explicitly religion-oriented, I'm not sure it's quite a significant pattern yet... "(God), give me grace to accept with serenity the things that cannot be changed, Courage to change the things which should be changed, and the Wisdom to distinguish the one from the other."
- HideousKojima 5y agoDon't go hating on my boy Terry (pbuh): "The got rid of CD/DVD. they are coming for our guns."
- Cyberdog 5y ago"You know the secret? The difference between heaven and hell? It's, like, doing your work. You feel really shitty if you don't do your work. If you do your work, it's fucking awesome."
- supernintendo 5y agoThe majority of the human population is religious. Software is generally created by humans so it doesn’t seem unlikely that some of that influence would rub off on their work (same as any other work of art really).
- deleted 5y ago[deleted]
- dang 5y agoPlease don't post flamebait and/or unsubstantive comments here. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html Edit: unfortunately it looks like that's basically all you've been posting to HN. We ban such accounts, so I've banned this one. If you don't want to be banned, you're welcome to email hn@ycombinator.com and give us reason to believe that you'll follow the rules in the future.
- shadykiller 5y agoGood luck with everything !
- billconan 5y agoI'm curious, how can someone implement device drivers (without knowing hardware details.) for a self-made OS like this?
- raggi 5y agoIt seems to only target very commonly ported and generally understood hardware, and not many things. 32bit Intel, no arm. Bochs VBE and Intel graphics, e1000 and rtl8192 nics. They're very sensible targets as they'll let you run with event performance on most virtual machine platforms as they're commonly emulated and mature.
- jhgb 5y agoIt would be cool to have something similar but specifically targeting Raspberry Pi these days. There you don't have a lot of variability either, and it might even turn out useful relative to its "bigger" (or "bloated"?) competitors.
- raggi 5y agoSadly Pi has some significant IP blocks that don't have open manuals or permissive drivers to work from, so targeting it for a home brewed OS is extremely hard work.
- FranchuFranchu 5y agoUsually hobby OS developers only write drivers for well documented hardware like the e2k
- boricj 5y agoHere's an example with the NE2000 network card (PCI only). I've tested it both on QEMU and with a real RTL8029AS card. Probably the most important thing is quality, RTL-level reference documentation. When you hit a dead-end, having a battle-tested Linux or BSD driver to peek at helps a lot, because hardware has quirks and the documentation might not tell the whole story. SerenityOS currently doesn't have a lot of tooling to help debugging drivers aside from kprintf() and kubsan. Other operating systems may offer more advanced capabilities, such as NetBSD's rump kernel where you can run drivers in userland for example. https://github.com/SerenityOS/serenity/pull/5191 https://github.com/SerenityOS/serenity/pull/5191
- barbarbar 5y agoFrom 3 months rehab to build an os and more. That is just outright incredible. Maybe the boring day job before lead to the addiction. Anyway an insane comeback.
- wespiser_2018 5y agoAwesome project! Keep it up!
- darig 5y agoCan't wait for your live-streams from the back of your car before you leap in front of a train.
- ketanhwr 5y agoFollowing this for almost 3 years now, it really is an amazing achievement. His YouTube streams are very helpful in learning a lot about Systems, Unix and good programming methodologies. Cheers to him for taking the leap of faith!
- paintstripper 5y agoThat sounds super interesting, is there a link you can share?
- lawl 5y agohttps://www.youtube.com/c/AndreasKling/videos https://www.youtube.com/c/AndreasKling/videos
- zamadatix 5y agoHey Andreas (assuming you're still reading these threads) I'm so happy to see you reach this point with Serenity. I remember seeing your project pop up here (early 2019 I think?) and just being absolutely blown away by the undertaking. What I love most about the project after following it since though is you've really shown it's absolutely doable, not only by you or superstar programmers but by folks willing to put the time in, and along the way made so many others realize this whether they contribute to Serenity or not. Your YouTube videos are absolutely great and there is just something about it all (probably the "under one roof" philosophy) that makes showing the "adding/fixing this little piece" so much more consumable. In short, thank you for doing all of this for not only yourself but everyone else now involved with the project. Anyways I always told myself I should chip in for all of the great content over the years and so now I've joined your Patreon - here's to hoping more are able to as well and you can continue living the dream!
- haskellandchill 5y agoHi Andreas, I'd love to interview you sometime about addiction. Sounds like you have a strong perspective and are comfortable sharing your story. I'm still rebuilding things so I won't be launching my media production company for another year or so but I'll probably reach out on Twitter someday ;)
- nightowl_games 5y agoAndreas is the best part about this project. He's just _nice_. He's a good person. It makes me want to contribute and work with him because I feel like I'll learn from him. Too many elite programmers are total jerks!
- gardaani 5y agoHe has a lot of happy commits! :^) https://happy-serenityos.linus.dev https://happy-serenityos.linus.dev
- llaolleh 5y agoKindness goes a long way. One kind thing someone does stays with you for a very long time.
- airhead969 5y agoOMG. That reminds me of the Xen dude, of a potential hire at a startup who demanded "make it a big number" salary, and countless people who know some about one domain assuming their ex-food doesn't emanate odor. Also, there's the sociological fallacy of assuming the biggest jerk must be the most talented, when it may well be a façade to impress people. There are some talented jerks, but all the talent in the world doesn't matter if no one will work with you. PS: Shout-out to Steve Kablink for being awesome.
- deleted 5y ago[deleted]
- steveklabnik 5y ago<3
- airhead969 5y agoHe lives! And hasn't yet been struck by any outdoor natural fireworks or rapid, falling condensation in ATX. :D
- barrenko 5y agoSerenity now! (Sorry, had to)
- thelastinuit 5y agoCHIMICHANGA!
- colesantiago 5y agoBrilliant, hopefully Rust can come to SerenityOS quicker than we thought. Huzzah!
- FranchuFranchu 5y agoWow, that must be a really big milestone for SerenityOS. Not many hobby OSs end up making enough money for the developer to sustain himself.
- tachyonbeam 5y agoNot many hobby projects of any kind for that matter. IMO he gets this kind of support not just because of the value added by SerenityOS itself, but because of the value he adds by making YouTube streams and other content. People feel like they can learn a lot about programming from him.
- thu2111 5y agoIt doesn't. He says it brings in $2000/month and that this is not enough to sustain his family, but he hopes to increase it. It's nice that he's able to indulge in this kind of hobby programming, but he must have an incredibly generous and understanding family. Clearly he can hold down programming jobs at major tech firms and could therefore give his family a much higher quality of life than $2k/month will bring, but chooses not to. Well, OK. I'd like to write an OS too, but my family has slightly higher expectations ...
- codetrotter 5y agoI’ve been following Andreas and SerenityOS since the very beginning and this is absolutely very cool news. I am so psyched to see where SerenityOS will go!!
- ksec 5y ago>SerenityOS [1] Graphical Unix-like operating system for x86 computers. SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems. Roughly speaking, the goal is a marriage between the aesthetic of late-1990s productivity software and the power-user accessibility of late-2000s *nix. This is a system by us, for us, based on the things we like. [1] https://github.com/SerenityOS/serenity https://github.com/SerenityOS/serenity
- dvfjsdhgfv 5y agoIt seems very interesting. Anyone has an idea whet the minimal system requirements are?
- genezeta 5y agoIt's generally aimed at being run on QEMU. But it can be installed on bare metal at your own risk. This [1] mentions: > Current hardware support is extremely limited. [...] x86 [...] Most successful hard disk installations have been on Pentium 4 era hardware [...] 2 GB parallel ATA or SATA IDE disk [...] no support for USB but some machines will emulate PS/2 keyboards and mice in the BIOS via USB [...] having real PS/2 input devices is recommended [...] A minimum of 128 MB RAM and a Pentium III class CPU [...] No GPU suport [...] VESA BIOS [...] No wifi [...] only three network card chipset [...] The sole sound card supported is the SoundBlaster 16 ISA The HW compatibility list [2] is pretty short also. [1] https://github.com/SerenityOS/serenity/blob/master/Documentation/INSTALL.md https://github.com/SerenityOS/serenity/blob/master/Documenta... [2] https://github.com/SerenityOS/serenity/blob/master/Documentation/HardwareCompatibility.md https://github.com/SerenityOS/serenity/blob/master/Documenta...
- deleted 5y ago[deleted]
- boricj 5y agoI've netbooted it on my ASUS A7N8X Deluxe motherboard with an Athlon XP processor and 1 GiB of RAM (~2003 era). I haven't tried older museum pieces, but the unofficial CPU requirement is a Pentium III-class CPU or better.
- la6471 5y agoKeep it up Andreas and don’t give up ever , your story is inspiring to many.
- T3RMINATED 5y agobig mistake
- winter_blue 5y agoWow, Andreas Kling is really inspiring. I need to get my mental space together (from the ADHD mess that it currently is), and start working on some of software engineering projects/goals. I really hope I can.
- redsparrow 5y agoHello. Something to consider is that for some people big, or even medium-sized, projects and goals aren't a great fit. Some people are wired to constantly be dabbling and exploring. If you're failing to meet the goals that you're setting for yourself and then beating yourself up about it then it's worth considering a different approach. Of course this can be easier to do in your personal life than in your work life; often at work someone else is setting the goals... On the other hand, maybe I'm reading way too much into a couple sentences from a stranger on the internet and this doesn't apply to you... There is a popular book that talks about accepting and embracing life as a dabbler and explorer called Refuse to Choose. (Personally I wouldn't buy it because then I would just feel bad about not reading it, but my wife told me about some ideas in it and it seems reasonable...)
- xacky 5y agoWhat's more is that it also has a full web browser that is not based on webkit/blink/gecko but its own independent engine.
- krapp 5y agoBut I've been told by Hacker News multiple times that developing an independent browser is impossible without the means of a multi-million dollar corporation.
- tachyonbeam 5y agoI mean, it kind of is. You can make a basic browser, sure, but you'll have a hard time implementing video playback, canvas, JavaScript and everything else, while also delivering good performance and rendering everything accurately. Yes, I know his browser has JS support, but the performance is likely at least an order of magnitude slower than V8 or Firefox... And then there's CSS, and the fact that HTML, JS and CSS keep growing and having more functionality added every month. That's not to minimize his accomplishments, browsers are just immensely complex pieces of software. Complex enough that Opera killed their own browser engine because they didn't have the manpower to maintain it anymore, and are now using WebKit. All of that being said, it all depends on your expectations. You can totally make a browser that is capable of going to web forums and posting on Hacker News, browsing the SerenityOS website and maybe even Wikipedia for instance. If you want to build something that supports pre-2005 HTML/JS, that's probably quite feasible.
- adenozine 5y agoJust a nitpick, but I'm pretty sure Opera was gutted of engineers as well after their acquisition fiasco with that Chinese outfit. I don't think they had as much manpower as the good ol days AND not enough manpower to compete with the old engine. I'm on mobile or I'd go find a source, but I'm fairly certain some key people left before all that went down. Not that maintaining a web browser is easy, but they WERE doing it, to varying success.
- ncmncm 5y agoWhat a great little project! Each bit adds to what came before. Just don't be reluctant to delete code when its time has come, and it can continue improving indefinitely.
- elisee 5y agoBit by bit indeed! The birthday posts here give a nice overview of how much the system has evolved over its couple years of existence: https://www.serenityos.org/happy/ https://www.serenityos.org/happy/ The monthly progress videos are also nice in that regard.
- skeeter2020 5y agoI'm unlikely to ever use this project, follow it closely or interact with the creator but it still makes me extremely happy to see someone working on a project like this, with the goals, motivations and context that Andreas discusses. Thank you for making the world a little bit better at a time when it feels so crazy.
- Andrex 5y agoThe author seems to be against providing ISOs, which is a shame, I'd love to try this out.
- paddim8 5y agoQuite simple to compile yourself and run
- filmroellchen 5y agoHe isn't against ISOs, the "there are no ISOs" is a Serenity-internal meme. The thing is that because SerenityOS moves so fast, it makes no sense to provide ISOs, they would be outdated within days. Also, Andreas and other top contributors have other things to worry about than keeping a nightly imaging system of some sort up and running. But if you (or me or anyone, even people inside the Serenity circle) were to make an ISO archive, nobody, including Andreas, would complain. It's just not a priority by any means. Also, as mentioned previously, it's really not that hard to build it (even if you run Windows thanks to WSL 2). People are very willing to help you, and most of it is just waiting for the toolchain to compile (custom gcc and the likes).
- ffhhj 5y agoSerenityOS looks impressive. Programming in assembly is like playing with Legos. Last year I started creating my own pet OS in a Bochs virtual machine, compiling with nasm. Created the boot loader and UI, but then realized what I really wanted to implement wasn't the low level layer. For that reason I placed the project aside and moved to the highest level, creating a distributed command-line console in Javascript that connects to Node.js based servers. If I ever complete my dreamed OS then I can either translate it into assembly, or build a JS interpreter. At this point the console allows creating programs with UI controls, launch processes without blocking the console, and terminating them just clicking a button, as well as connecting to other servers to perform tasks.
- 5tefan 5y agoDon't know if I am hacker minded enough to take a look. But he has a point though... no-nonsense and a straight forward GUI back on the menu would be great. I hate how I am held hostage by shitty designer ideas. I am a power user.
- Koshkin 5y ago> SerenityOS is a love letter to '90s user interfaces Indeed, the desktop theme looks very similar to Windows 95 or ReactOS.
- reacharavindh 5y agoIt warms my heart to see someone that is skilled, passionate and patient to pursue a project like this full time. True hacker spirit lives on. The only other effort like that has been on my mind for a long time is bcachefs that is mostly churned on by a single developer slowly making progress and aiming high. I could only wish the very best to people and projects like this!!
- faraaz98 5y agoBeen following him and this project for a while. Son of a gun (and the awesome community) finally did it
- jcelerier 5y agoAnd yet some people say that C++ is not a productive language :)
- pjmlp 5y agoIn the 90's we had all desktop OSes going C++, even if the kernel was mostly C or C subset from C++. OS/2 with C/Set++, Motif++ on UNIX, BeOS, Symbian, Windows with OWL/VCL/MFC, Mac OS with MPW/PowerPlant, Copland (granted this one went nowhere). Then FOSS UNIX with C everywhere as part of GNU manifesto, the Java million dollar push happened, and the rest is history.
- ChrisMarshallNY 5y agoThis sounds great. I'm a big believer in "do what you love." It's nice to hear the positive feedback on this guy. Sounds like he's doing well.
- digitalsin 5y agoReally excited to see this! I've been following the project for a while and seeing the progress that is being made is just mind blowing.
- thelastinuit 5y agoI should quit my job and work on embedded systems and satellites but i guess i don’t have the courage. Best of things to this dude.
- breckinloggins 5y agoI was hoping to see this announcement someday, and I'm thrilled that today is the day. Congrats, Andreas! Extremely well-deserved.
- devit 5y agoI'm surprised that either anyone actually uses such an OS (beyond toying with it), or that there are enough people willing to pay without using the OS. What's the explanation for this?
- elisee 5y agoAndreas has been making videos (https://www.youtube.com/c/AndreasKling/videos https://www.youtube.com/c/AndreasKling/videos) sharing his journey: technical ones working on some part of the system, as well as more personal ones talking about his philosophy, struggles and moments of joy. I'm just one of many but I'm guessing his sincerity combined with his technical abilities make it all very compelling to watch and contribute with money or code, even though the system isn't at a point where you would want to use it. Basically: it's a fun, open, ambitious project whose story is being told mainly through videos, with a kind and interesting person behind it.
- mythz 5y agoPersonally I want to encourage a very talented developers continued development of his ambitious SerenityOS vision whose journey is thoroughly documented in his YouTube channel which is an amazing treasure resource for learning how different parts of the OS/Kernel/GUI/Browser/JS VM/x86 Emulator/etc are implemented. At first I never expected SerenityOS would ever be advanced enough to use, but seeing how much it has progressed and the active community that's garnered around it has made me a believer. Up until now he's been developing as a side project, I'm excited to see where he can take it working on it full-time.
- blihp 5y agoProbably not much practical use, but that's not really the point. Some may learn from it, some will draw inspiration from it, some just want to support the author and some probably just think the world is a better place with projects like this in it. Think of it as the technical version of supporting the arts.
- matheusmoreira 5y agoWow that's freaking awesome. First time I saw this project was years ago on 4chan's technology board. I remember the progress reports and videos on the Daily Programming Thread. Now it's here and has become a full time job for the developer. Must be awesome to be able to work on stuff like this.
- bitigchi 5y agoKudos to Andreas! I will definitely try Serenity. Hopefully this activity going on will help make alternative operating systems popular like Haiku popular among developers.
- deleted 5y ago[deleted]
- leg100 5y agoWindows NT/9x/2000 represented the high point for aesthetics. Light grey, rectilinear, clear delineation, all contributed to being easy on the eye and functional. Glad to see it make a comeback.
- MetaWhirledPeas 5y agoThat style is a bit too brutalist for my tastes. I prefer a splash of color, like with BeOS or something like that.
- slver 5y agoWindows did have color accents, like the dark blue selection, it's just a bit muted and stale by modern standards. It's a good idea to keep the chrome be chrome-like so color can be reserved for meaningful elements (like red for warning, green for safe, blue for selection etc.). Notice that although end-user apps are all colorful and fancy these days, that most pro apps have remained very conservative, erring to light or dark gray and using color semantically only (think photoshop, 3dsmax, autocad etc.). This tells us something.
- Aeolun 5y agoExcept programming apps and IDE’s?
- nine_k 5y agoThese use color syntactically.
- tompazourek 5y agoNot just syntactically, e.g. the default Visual Studio theme is all blue (menus, buttons, etc.)
- slver 5y ago
- dang 5y agoLooks like the main relevant past threads are: SerenityOS: Writing a Full Chain Exploit - https://news.ycombinator.com/item?id=26115141 https://news.ycombinator.com/item?id=26115141 - Feb 2021 (9 comments) Introduction to SerenityOS Programming - https://news.ycombinator.com/item?id=22479132 https://news.ycombinator.com/item?id=22479132 - March 2020 (43 comments) Pledge() and Unveil() in SerenityOS - https://news.ycombinator.com/item?id=22116914 https://news.ycombinator.com/item?id=22116914 - Jan 2020 (28 comments) SerenityOS: From Zero to HTML in a Year - https://news.ycombinator.com/item?id=21212294 https://news.ycombinator.com/item?id=21212294 - Oct 2019 (52 comments) SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics - https://news.ycombinator.com/item?id=19986126 https://news.ycombinator.com/item?id=19986126 - May 2019 (179 comments)
- Rendello 5y agoPledge() and Unveil() in SerenityOS got me obsessed with using those syscalls in my software and moving my server to OpenBSD. Who knows, maybe soon I'll be able to host them on Serenity!
- dpbriggs 5y agoI highly recommend checking out his YouTube channel [0]. He's an _incredibly_ thoughtful person and provides good lessons in staying focused and keeping scope down. I consider him a mentor and his approach to software is something I really resonate with. He has a keen focus on software quality but understands he can't make everything perfect in one sitting. This approach helped me get away from decision paralysis in my projects and at work. This isn't even mentioning how much I've learned about software in general from his videos. Whether it's debugging kernel bootstrap assembly, porting doom, writing a live feedback GUI editor, implementing syscalls, to messing around with the dynamic loader. He's really got a video for it all. And he tackles each video with such clarity and careful consideration. I really can't speak higher of the man. [0] https://www.youtube.com/c/AndreasKling/videos https://www.youtube.com/c/AndreasKling/videos
- brodo 5y agoI don‘t know much about OS development or C++ but I still watch his videos because of his thoughts on life as a software engineer.
- thn-gap 5y agoAny specific video you would recommend that highlights his thoughts on life as a software engineer?
- dpbriggs 5y agoNot the person you're replying too, but I think you might find this video [0] interesting. He's describing his motivations and worries around making a web browser for SerenityOS. A quote from that video (3:25) really stuck with me. He describes how he saw people joking online that the web-standards are so insane that it's impossible to build a new web-browser: "The way I respond to that type of energy is to just really want show people that this is silly, not too complicated... mythologizing something that humans have done and humans will do again" He clarified with a reflection on the hubris of it - new browsers can be made; not impossible; just takes an incredible amount of work taken a step at a time [1]. I really respect that. Not exactly his thoughts on life _as_ a software engineer, but contains some thoughts on software engineering. [0] https://youtu.be/-YlVex4nbfw https://youtu.be/-YlVex4nbfw [1] http://serenityos.org/ http://serenityos.org/
- mythz 5y agoThrilled Andreas has managed to receive enough community support to be able to take this big step and is able to focus on Serenity OS fulltime. SerenityOS is an inspiring from scratch grassroots OS effort which plans to build the entire POSIX OS, Kernel and core Apps from scratch, one of the Apps their is their LibWeb browser engine complete with their own LibJS JS VM which already passes the ECMAScript test suite. One of its USPs is that the entire OS is contained within its single source tree where anyone can make changes to its code-base and instantly reboot the OS in seconds with the changes, never seen this done for an OS before, the turn around time allows for some impressive dev iteration speed. A good preview of this hackability is in his Diablo port, whether it's missing C++ APIs, unsupported lang features, missing SDL port impl, toggling kernel features - it all gets done in 1 sit down session to produce a shiny new Diablo port: https://youtu.be/ZOzZ8R4gphE https://youtu.be/ZOzZ8R4gphE Andreas videos on developing LibWeb/LibJS is one of the best resources I've found explaining how to implement a multi-process web browser, e.g. in this video he goes through the HTML Specs which have enough info in them to develop a HTML spec parser whose behavior is the same across all browser engines: https://www.youtube.com/watch?v=7ZdKlyXV2vw https://www.youtube.com/watch?v=7ZdKlyXV2vw It's been awesome to see LibWeb/LibJS evolve over time, every time he sits down it gets a bit more capable. Typically it's to implement features for rendering a different website. Here's a nice example where LibWeb gains missing JS APIs (including eval) to render "Canvas Cycle" JS demos: https://youtu.be/b3a5V45LLss https://youtu.be/b3a5V45LLss which he optimizes in his next video https://youtu.be/tGmaO8agfY4 https://youtu.be/tGmaO8agfY4 With full control over the entire OS, Kernel, GUI, etc. It's got lots of tightly integrated innovative features like its GUI GML language for creating native UIs where he creates a GML Playground in this video https://youtu.be/1QYBvTy9QKE https://youtu.be/1QYBvTy9QKE then uses it to be build the OS's new Font UI Picker dialog in the next https://youtu.be/Fa9SwYfH2NI https://youtu.be/Fa9SwYfH2NI which is now so sophisticated that the WidgetGallery has been converted to using it https://github.com/SerenityOS/serenity/pull/5741 https://github.com/SerenityOS/serenity/pull/5741 Since Andreas is so productive he's the only developer who I'm able to watch live coding which makes for an inspirational background score whilst coding, his commentary explaining his thoughts whilst he codes is so informative that they're basically HowTo's on how to implement each OS/App/Browser feature.
- GekkePrutser 5y ago> SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. More like a love letter to Windows 95 :) It doesn't really have much in common with the Unix GUIs available around that time, which were mostly Motif-based (think FVWM, CDE etc). In fact it looks so Windows-like (including the applications) that my first impression was that this was another go at making something like ReactOS. But clearly it isn't. It looks nice though I was never a big fan of the W95 UI. I'm interested to see what it's about. I'll give it a spin. PS: Fair play for being so open about your addiction. It will help other people face the problem too.
- rzzzt 5y agoBut FVWM(95) is also a love letter to Windows 95, isn't it?
- vidarh 5y agoFVWM95 was, certainly. Plain FVWM was very much not - it had a very distinctive look of its own. E.g. [1] is more typical of FVWM. [1] http://linuxmafia.com/~n6tadam/fvwm/screenshot.png http://linuxmafia.com/~n6tadam/fvwm/screenshot.png
- rzzzt 5y agoAh, thank you for the screenshot. I didn't encounter any machines running classic FVWM.
- GekkePrutser 5y agoYes but FVWM95 was just a minor fork with a Win 95 look. It's not the main look of FVWM.
- mythz 5y agoThe UI is inspired by 90s Windows OS’s whilst it’s POSIX OS, command-line utils and terminal is Unix-like, not its GUI.
- adam12 5y ago"Hello friends" I can hear his voice. That's a great opener.
- tomcooks 5y agoThanks for having the courage to explain your story and keep steady in front of discomfort. A true inspiration, balls of steel as they say.
- truth_seeker 5y ago> While at Apple, I really enjoyed how most of the software was made under one roof. Not only did this enable super tight integrations, but it made the system extremely hackable for its developers, and you could always find the experts somewhere nearby. I thought I could try bringing that same feeling to the open source world, so I decided that SerenityOS wasn’t going to be a patchwork of packages – no, we’re building everything ourselves! From kernel to web browser, and everything in between. I love it. Good luck.
- ExcavateGrandMa 5y agoOh my god! awesomekling on drugz... I was unaware you were doing bad thing with your body and mind...(drugz) :Ð you looked very rational and intelligent on footages...
- slver 5y agoWhile I'm hit heavily by nostalgia looking at this UI and I actually appreciate the simplicity and utility of it, I think it would've been nice to bring it in the 21-st century by making it vector-based and scalable, so it works on modern displays. Gone are the days when all displays had the same DPI around 100, and we could craft things out of single pixel bevels. We just need good, legible displays. And modern tech delivers. But the software needs to match.
- elisee 5y agoFor what it's worth it does support 2x density (https://github.com/SerenityOS/serenity/pull/4966 https://github.com/SerenityOS/serenity/pull/4966) and there's a design doc about High-DPI: https://github.com/SerenityOS/serenity/blob/master/Documentation/HighDPI.md https://github.com/SerenityOS/serenity/blob/master/Documenta...
- gigatexal 5y agoThe OS work is fantastic, and a feat for sure. But his personal story of triumph over vices is more compelling to me. I recall his interview on the C++ podcast, he's got an amazing story.
- imiric 5y agoIt's so refreshing to see a from-the-ground-up built hobby project like this. We need more operating systems that don't track users, show ads, or have decades of accumulated ~~cruft~~ backwards compatibility. The design goals will appeal to anyone who was into computers back then. Well done. Doing all this in 3 years is impressive and inspiring. I think you won't have to worry about sustaining your family much longer ;) Running this on real hardware would be great. Future weekend project...
- jacobmischka 5y agoCongratulations Andreas, I've been working my way through your entire history of videos and loving it. I just doubled my monthly sponsorship, can't wait to see what's to come!
- l9i 5y agoIf you find Andreas' work inspiring and/or useful, you may consider supporting him in pursuing his passion: - https://github.com/sponsors/awesomekling/ https://github.com/sponsors/awesomekling/ - https://www.patreon.com/serenityos https://www.patreon.com/serenityos - https://www.paypal.com/paypalme/awesomekling https://www.paypal.com/paypalme/awesomekling (source: https://awesomekling.github.io/about/ https://awesomekling.github.io/about/)
- ficklepickle 5y agoAs someone who also traded drugs for programming, I find this incredibly inspiring. Programming has become my purpose and the thing that brings me joy. Unfortunately, they way I have to program at work really sucks the joy out of it. I would gladly take a pay cut to be able to work on things and in a manner that bring me joy again.
- NaturalPhallacy 5y agoI feel this. I haven't written something for fun since high school. 22 years ago. But I've been a professional programmer ever since.
- squarefoot 5y agoThe more I see those small graphical OSes like this one, Kolibri, etc. the more I wish they were ported (or better conceived from the beginning) to be run on ARM systems. Those small cheap boards with video output would find the best possible companion when bare metal programming is too hard and a full fledged Linux distro would be overkill. Give me a compiler, then libraries for gpio and hardware, GUI, low level networking, etc. and I can choose between a huge load of cheap boards to build a lab instrument panel, my new home IoT dashboard, a portable communication device, a music synthesizer, etc. It looks to me as those two worlds are in need of each other but they don't know that yet.
- xyproto 5y agoThere's always Arch Linux ARM, FreeBSD, NetBSD, OpenBSD and RiscOS. They all run on a Raspberry Pi 4. What are you looking for that those aren't covering?
- squarefoot 5y agoSome among the cheaper boards are much less capable than the RPi4; 256 or 512 MB RAM can indeed run a tiny Linux desktop, but for some uses it would struggle for lack of resources. A single user system with no layers of code devoted to security (which would be pointless in non connected devices) would probably be a lot faster on constricted hardware. The goal of such a system shouldn't be to replace BSD or Linux, which do what they do extremely well, but to offer a smaller tinier system for those contexts when the basic functionalities of an OS are needed without the inevitable bloat that comes with security and support for beefier hardware and/or more complex software. "It couldn't run LibreOffice? Who cares! If I wanted to use it for that I'd use Linux instead." I mean, If I want to build say a fully autonomous portable software defined radio that boots in a handful of seconds straight to its GUI on a very small board, I'd have a hard time doing that with a full Linux distro, no matter how optimized it is, since it still is a full UNIX-like OS with all the bells and whistles that would make it runnable on a supercomputer. I think that those small OSes could potentially fill a gap between smaller things such as no OS at all or smaller ones such as FreeRTOS and complete Linux systems, but to really appreciate them they should also run on hardware such as ARM, RISC-V, etc.
- arduinomancer 5y agoHaven't heard of this project till seeing this post. Checked out his youtube channel and the video on porting Diablo to SerenityOS in an hour is pretty interesting to watch if you've ever wondered what its like to port software. https://www.youtube.com/watch?v=ZOzZ8R4gphE https://www.youtube.com/watch?v=ZOzZ8R4gphE
- gigel82 5y agoI'd like to give it a spin but not sure I want to build this from source. Would be nice to include a downloadable boot image (let me know if there is one I couldn't find).
- e12e 5y agoNot official, I gather from: https://github.com/SerenityOS/serenity/blob/master/Documentation/INSTALL.md#disclaimer https://github.com/SerenityOS/serenity/blob/master/Documenta... > Whilst it is possible to run Serenity on physical x86-compatible hardware, it is not yet ready to be used by non-technical users who aren't prepared to report bugs or assist with its development. For this reason, there are currently no pre-built install images so a bare-metal installation requires that you build an installation image from source. Ed: there's also the FAQ: https://github.com/SerenityOS/serenity/blob/master/Documentation/FAQ.md#where-are-the-iso-images https://github.com/SerenityOS/serenity/blob/master/Documenta... > Where are the ISO images? > There are no ISO images. This project does not cater to non-technical users. And I also found the reason for it being 32 bit, which feels rather quaint.. > Why is the system 32-bit? > That's what Andreas was most familiar with when starting out. There's some interest in supporting 64-bit systems and that will eventually happen, but it's just another feature.
- gigel82 5y agoSure, I'm not a non-technical user but I feel like setting up a build environment and building from scratch is more than the time investment I'm willing to make to evaluate this project. Just want a disk image to plop in Qemu or VirtualBox or Hyper-V to see what this feels like before I delve in the code.
- miles 5y agoHere's more on the theme from Andreas[1]: > SerenityOS does not have nightly builds or ISO images. > This is a simple proof-of-work system designed to prevent low-quality bug reports and tire-kicking. > The build is completely scripted and can be performed by anyone familiar with the command line. [Smiling Face with Smiling Eyes emoji][Lady Beetle emoji] [1] https://twitter.com/awesomekling/status/1241306104572923904 https://twitter.com/awesomekling/status/1241306104572923904
- hansor 5y agoDoes it run on 386SX with 2MB of RAM? Apart from lack of coo-processor (which I understand), I do not understand why nearly ALL modern operating systems(Including Linux since 2.4 I believe) are hard-coding the kernel to not boot under 4/8 MB of RAM, even if it could in theory. Why there is hard-limit of 4, 8, 64 MB of RAM in many kernels of various operating systems? Is it fail safe "just to be safe" or because there some internal routines, vector tables that REALLY requires 4MB ram to work?[memory partitions/blocks ?!] I asked the same question here: - https://news.ycombinator.com/item?id=26979499 https://news.ycombinator.com/item?id=26979499 [Why Linux requires 4MB of RAM no matter of kernel size?]
- hansor 5y agoWhy downvote? Honest question.
- ibraheemdev 5y agoI didn't downvote, but the issue tracker is probably a better place to questions like this.
- jart 5y agoPossibly because the ISA memory hole starts at the 15mb mark? So if you want your kernel to be contiguously loaded to real memory, then as soon as it becomes possible for it to be more bloated than 14mb, loading it at the 1mb address becomes less appealing? I'm not sure why it matters though since a kernel can be loaded directly to virtual memory, in which case it doesn't matter how much ram there is, so long as there's enough ram.
- BlueTemplar 5y ago64KB of memory should be enough for anyone : http://collapseos.org/hardware.html http://collapseos.org/hardware.html
- 29athrowaway 5y agoWhat is the use-case for SerenityOS?
- ilrwbwrkhv 5y agoFun! Remember when you didn't need to make a buck with everything?
- madpata 5y agoIt's educational, too. Andreas has a lot of video content, which explains different OS concepts, available.
- bpanon 5y agoIt's highly educational, for one thing.
- deleted 5y ago[deleted]
- trtechhn 5y agoHey Andreas, I just watched a couple of your video on participating in Open Source - like https://youtu.be/GU_ISkNml-A https://youtu.be/GU_ISkNml-A - and just read a ton of really nice things about you below and read your story. And honestly I really have no idea how SerenityOS would relate to me or my company – but I do know that everything under the hood of our hosting and our clouds is Open Source. So for sure I can say for just being an Open Source champion and an all around nice guy, for the next year at least, count on me personally at $100 a month (just did it in Github) and my company InMotion Hosting for another $100 month (just did it on Patreon). Open Source constantly struggles with needing super talented professional but also struggles on how to make sure they make a good living. I know $200/mo isn't a lot when it comes to life, but hopefully it helps you know others out here believe in this kind of work and taking this kind of chance!
- oraphalous 5y agoWhat an inspiring post and response... One of the few times lately I've woken up, looked at the internet and felt good about being a human being.
- spicyramen 5y agoAmazing project, not sure what are the commercial or real world applications?
- vkoskiv 5y agoNot everything in the world exists to make a buck.
- spicyramen 5y agoI understand that, but wondering why would I use it?
- young_unixer 5y agoBecause you like it?
- marcodiego 5y agoHope this doesn't turn into another SkyOS: https://en.wikipedia.org/wiki/SkyOS https://en.wikipedia.org/wiki/SkyOS
- RMPR 5y agoUnlikely because for one it's free software, and I feel like the serenity aoS community is more active by far.
- marcodiego 5y agoSkyOS was once an open source project.
- senbarryobama 5y agoWould be fun if he chose RISC-V
- soheil 5y ago> I will pay $5 USD for exploitable bugs > Remote code execution. > Local privilege escalation. > ... How is it possible that someone who has the skill to find remote code execution exploits is in need of $5?
- mythz 5y agoIt’s clearly not about the money and more about the accomplishment. Serenity isn’t centered around commercial objectives, the entire project is about promoting the community hacker spirit for fun and exploration. Because SerenityOS’s single, young modern C++ code base is so hackable it’s a lot easier to understand how everything works. Here’s an interesting analysis by Live Overflow who discovered a kernel exploit with ptrace explaining that SerenityOS’s code base is ideal for learning about OS’s because it’s much more readable than Linux’s code base. The whole analysis is very interesting and provides great insight into how kernel exploits are discovered: https://youtu.be/oIAP1_NrSbY https://youtu.be/oIAP1_NrSbY
- soheil 5y agoSo why pay anything at all and not just keep it merely about recognition, etc.?
- mythz 5y agoIt’s just a token amount that qualifies as a bounty. No one is doing it for the monetary value, it’s a token prize offered when succeeding in discovering a vulnerability. Did you watch the video? LiveOverflow is a YouTube channel dedicated in discovering security vulnerabilities who explain why SerenityOS’s code base is a great code base to study for this.
- soheil 5y agoThanks for explaining. Now the obvious question is why not just $1 then? With $5 increments you could never reach 1337 level!
- ilrwbwrkhv 5y agoTHIS IS SOOOOO INSPIRING. With all the FAANG and the Leetcodes and promotions and L6 - L7 TC and all of this nonsense, true hacker spirit and the fun of just building cool stuff with technology has gone from the hacker space. In fact, the hacker space is actually shrinking. Projects like these and people like Andreas Kling, are a beacon of hope and light during these troubled times. May more people be inspired with this and commit to the path of a true hacker.
- draw_down 5y agoAs far as I can tell he’s doing this with money from Apple, so, swing and a miss there.
- yhoneycomb 5y agoTbh I'm not super involved in CS, but I like learning about it and am working on a side project. Just curious - what have been the negative effects you've found of the hacker space shrinking? And what reasons do you think account for it shrinking?
- ilrwbwrkhv 5y agoDiversity and interesting things for one. It was just so much easier to find interesting things in the past, because everyone was trying to do something naughty in a good way. Now you can't take a step without hearing people talk about how they are joining Slack or whatever with great comp as a Team Lead and building slow as hell software.
- 29athrowaway 5y agoHe has a tribute to Terry Davis featuring Serenity OS https://www.youtube.com/watch?v=DmV49ogMDEI https://www.youtube.com/watch?v=DmV49ogMDEI
- koreanguy 5y agowhat a stupid thing to do, instead of coding useless obsolete another Linux based distro, go and find a proper job since with your programming skills you could provide much better support and get paid good for it. SerenityOS is not something new it has been done 100s of times in the past 20 years. stop wasting your time on this nonsense and go find better jobs.
- leowoo91 5y agoIs this anyhow similar to opensolaris?
- scaramanga 5y agoCongrats. It's really heart-warming to see the community supporting someone like this who is working on interesting projects and who is generous with sharing their knowledge and their code right back. Watching even half of one of the videos, it's clear that Andreas is thoughtful individual with a talent for explaining things, who has managed to gather a vibrant community around him. This is such an inspiration that I headed right on over to patreon and signed up, too :)
- xiaodai 5y agoIt's always a brave and selfless decision!
- atlgator 5y agoI would love to buy a 20oz mug if you can add one to the merch store at some point. 11oz is too small.