Live data from Hacker News

SerenityOS Browser now passes the Acid3 test

twitter.com

131–140 of 178 posts

Re: SerenityOS Browser now passes the Acid3 test

#131

Andreas Kling is a legend. He and his team really bring back the hacker ethos. Grind on hard problems people, instead of grinding on leetcode.

This does not make sense in terms of expected utility.

It makes sense in terms of having fun.

Re: SerenityOS Browser now passes the Acid3 test

#132
post #87

Earlier quoted context omitted.

> I get this is his passion project, but part of me wonders what he could accomplish working on the rough edges of linux. I've watched/listened to more than a few of his videos. Something that he has expressed on more than one occasion is an appreciation for the kind of deep vertical integration that he saw at Apple because they control the entire stack. He's going for something in that direction in Serenity and it,…

He's also talked about this on the CoRecursive Podcast: Andreas: Well, I don’t know that I ever had a real direction with it. But in the beginning, I remember feeling kind of frustrated with finding myself using Linux again and thinking it’s nice to be back on Linux. Everything is snappy. And the developer experience is really great, but I sure do miss having the source code for everything. Adam: This is a fascinatin…

>Even if it’s a one line change, it could take years to get that upstreamed and spread into various Linux distributions. If you listen to episode 67 about Zig, that was one of Andrew’s motivations behind creating Zig.

No, I'm sorry. This is a very, very bad reason to start a new project from scratch. If you want to avoid bureaucracy then it's not hard to create yet another Linux or BSD distribution, countless people have done it. Once your project grows larger you will find bureaucracy creeping back in again because you have to make some of the same decisions. Do I accept breaking change A versus breaking change B? How do I force people to test a patch across thousands of machines at once before accepting it? How do we reach consensus on subjective things like fonts and icons? And so on.

These projects have plenty of other reasons to exist, it's not like they don't. This is just a poor explanation for why they exist. I hope nobody mentions this nonsense again in an interview.

Re: SerenityOS Browser now passes the Acid3 test

#133
post #98
post #92

Earlier quoted context omitted.

It seems like the problem is power distance and social credit. Random developer trying to get one line of code changed may run up into a gigantic wall. What about with Linus? The "problem" with Serenity OS is that yes, now Andreas will have all the power he wants and can get that one line change without the bureaucratic process. But what about when some random user comes along and wants to change the code? They bette…

If you look at the contributors graphs[1] on our GitHub repository, you'll find that folks other than myself have added tens of thousands of lines of code. I'm not quite the power-hungry gatekeeper you might imagine :^) Regardless, the issue I have with the mainstream FOSS desktop system isn't about any one project's development process, but rather the fact that there are hundreds of independent development processes…

>but rather the fact that there are hundreds of independent development processes, each controlling a small fraction of the whole system. Doing any kind of cross-subsystem work in that environment becomes a significant undertaking

Hi Andreas, hope you are doing well. This is very wrong. There are a lot of distributions of Linux and BSD that try very hard to ship as one cohesive system. Your issue doesn't make any sense. You would find it even more the case if you tried to do something like create a whole userspace from scratch and ship that, but you've already shown otherwise how that's possible. You need to get over this false reasoning or you will find yourself in the same narrow box that a lot of Linux distributions get trapped in. That's my experience anyway from seeing a lot of failures in Linux distributions with poorly defined goals. In any case thanks for making this project, I hope it's not the last OS you design.

Re: SerenityOS Browser now passes the Acid3 test

#134
post #98

Earlier quoted context omitted.

If you look at the contributors graphs[1] on our GitHub repository, you'll find that folks other than myself have added tens of thousands of lines of code. I'm not quite the power-hungry gatekeeper you might imagine :^) Regardless, the issue I have with the mainstream FOSS desktop system isn't about any one project's development process, but rather the fact that there are hundreds of independent development processes…

>but rather the fact that there are hundreds of independent development processes, each controlling a small fraction of the whole system. Doing any kind of cross-subsystem work in that environment becomes a significant undertaking Hi Andreas, hope you are doing well. This is very wrong. There are a lot of distributions of Linux and BSD that try very hard to ship as one cohesive system. Your issue doesn't make any sen…

Please point me to one of these Linux systems where the kernel, drivers, windowing system, GUI framework, networking libraries, image format decoders, font rasterizers and all CLI and GUI applications plus the libraries that support them are developed cohesively within a single project and not assembled from 3rd party sources.

Re: SerenityOS Browser now passes the Acid3 test

#135

Earlier quoted context omitted.

Feels like this might be an example of "worse is better". Or alternately, that the community that SerenityOS has built and the joy they find in tinkering matters more than their technical foundations, in terms of getting something built that works and is maintained/maintainable. Servo looks like it could have been a technically better browser engine, but it seems the window for it becoming relevant is closing, while…

I agree with you about the project being a joy for the developers. But as a user, in no way I would rely on a browser started in 2020 written in c++ (or in zig, given other comments about its security characteristics). Keep in mind that gecko/webkit were written initially in c++ because c++ was the best language available at the time for these projects. This is not true anymore.

The beauty is when you build your own OS with it's own desktop environment, and browser and tools from scratch you can use the language you feel is appropriate. Would you write a brand new project in a language you don't feel comfortable with just because it is perceived as "safer"? Especially when the project was just for fun, and really to help the creator get through some tough times in their life. Like he didn't start the project to compete with mainstream OSes or browsers. This is just a terrible take especially considering you probably use an OS written in C and a browser written in C++.

Re: SerenityOS Browser now passes the Acid3 test

#136
post #9

Hmm. The LibWeb source is here: https://github.com/SerenityOS/serenity/tree/master/Userland/... I wonder if it could be pulled out as a portable library. Having another competitive browser engine would be a good thing.

This, absolutely. Especially if it comes with a GUI in the same aesthetics as SerenityOS itself. The world needs less Chrome-clones and Google-backed browsers (which to a certain extent includes Firefox), and more independent ones. As someone who has also been attempting to write a browser (engine) in my spare time --- but these guys are far ahead of me --- this is great to see.

The problem is: who's gonna use it?

Sure, it's good to have more options but, the deploy base of browsers like Chrome are massive and IE6 only lost its position by being careless and stop evolving (and lets not forget it took years), which is something that is not happening with Chrome.

Just to make clear, this is not specifically directed to you or your project, which is a great thing to do independently of the outcome. I'm saying this more as in a general perspective as we are pretty much sitted on the state-of-the-art of browser engines and its hard to see something else taking over except for a "game reset" scenario (outside of the web).

Re: SerenityOS Browser now passes the Acid3 test

#137
post #99

I've watched a few of this guy's videos, and it's deeply impressive. He reminds me of the grizzled old guys from the 1980's that actually know the deep internals of an OS. They didn't just take it in school, they lived and breathed it. He's the guy that made the 'myth' of a 10x coder a reality for me. I get this is his passion project, but part of me wonders what he could accomplish working on the rough edges of linu…

By his own admission he basically did nothing but coding all day long for most of his life, to the point where if he took a long vacation he'd be worried about getting rusty. For SerenityOS he basically holed up in a cabin for 6 months coding. At dayjob it was "60-80 hours a week", not forced but because he wanted to do it. That kind of sustained and focused work compounds over time and you just get better and better…

> Reading stories like his makes me think I'm probably in the wrong industry because I don't enjoy coding that much and definitely have a ton of other things I'd rather do.

You're fine. Comparing yourself to Andreas Kling vis-a-vis coding is like saying you're going to stop playing the guitar because you're not Jimi Hendrix. Andreas Kling, while impressive and inspiring, is not normal.

Most people, myself included, don't want to do any one thing for 80+ hours a week. That's okay. If you enjoy working as programmer, just keep on trukin' and don't worry about what others are doing.

Re: SerenityOS Browser now passes the Acid3 test

#138

Earlier quoted context omitted.

>but rather the fact that there are hundreds of independent development processes, each controlling a small fraction of the whole system. Doing any kind of cross-subsystem work in that environment becomes a significant undertaking Hi Andreas, hope you are doing well. This is very wrong. There are a lot of distributions of Linux and BSD that try very hard to ship as one cohesive system. Your issue doesn't make any sen…

Please point me to one of these Linux systems where the kernel, drivers, windowing system, GUI framework, networking libraries, image format decoders, font rasterizers and all CLI and GUI applications plus the libraries that support them are developed cohesively within a single project and not assembled from 3rd party sources.

Andreas, that request makes no sense. You didn't write all that code in Serenity either. Other people (a.k.a. third parties) helped out. I assume a lot of the algorithms are standard too so you didn't come up with those either. I don't want to disparage your effort but please give credit where credit is due. Please also don't underestimate the amount of work an OS like Ubuntu does to get everything to function together, it may not be perfect but if you plan to grow to the size of Ubuntu then you sign up for about the same amount of work. It's not particularly relevant if the code came from in house or not.

I get what you're trying to say about vertical integration but even Apple ships a ton of common open source components because it's not practical to write every single thing again from scratch. I also get that it's fun to write your own drivers, GUI controls, TCP stack, image decoders, font rasterizers and such. It's hard for me to see how this is supposed to be "cohesive" when most of the tasks here are implementing standard things that every other OS has, even more so when this is another clone of Unix with a Windows 98 style GUI on top of it. I mean just thinking about something like a web browser, probably a good 95% of that is implementing the DOM/CSS/Javascript engines. It's a great achievement but has nothing to do with SerenityOS at all and gains nothing from any kind of perceived cohesion.

It's just apparent to me this is a really weak selling point, you can do much better than defining yourself as the OS that blatantly copies features but considers it unacceptable to copy code. That's the failing of a lot of bad NIH-syndrome Linux distributions, don't fall into that trap. You need to come up with a good selling point that isn't just "we are another Unix but we hate Linux and refuse to collaborate with them". So many other people have tried that and got nowhere. It's critical for the long term success of your project to move past this.

Re: SerenityOS Browser now passes the Acid3 test

#139

Earlier quoted context omitted.

>but rather the fact that there are hundreds of independent development processes, each controlling a small fraction of the whole system. Doing any kind of cross-subsystem work in that environment becomes a significant undertaking Hi Andreas, hope you are doing well. This is very wrong. There are a lot of distributions of Linux and BSD that try very hard to ship as one cohesive system. Your issue doesn't make any sen…

Please point me to one of these Linux systems where the kernel, drivers, windowing system, GUI framework, networking libraries, image format decoders, font rasterizers and all CLI and GUI applications plus the libraries that support them are developed cohesively within a single project and not assembled from 3rd party sources.

What frustrates you about Linux is exactly what drew me into FreeBSD. Have you looked into the BSDs and their development model? For example, the FreeBSD kernel and the base operating system are developed as a cohesive unit like you described.

I've been watching videos of your baby progress over the years. I love the look and guiding philosophy. You should be immensely proud of what you've accomplished. But without leveraging the existing drivers, GUI frameworks, decoders from BSD or Linux, I fail to see how it can ever be more than a toy OS. However your vision implemented on a BSD base, could be the next Solus.

Re: SerenityOS Browser now passes the Acid3 test

#140
post #139

Earlier quoted context omitted.

Please point me to one of these Linux systems where the kernel, drivers, windowing system, GUI framework, networking libraries, image format decoders, font rasterizers and all CLI and GUI applications plus the libraries that support them are developed cohesively within a single project and not assembled from 3rd party sources.

What frustrates you about Linux is exactly what drew me into FreeBSD. Have you looked into the BSDs and their development model? For example, the FreeBSD kernel and the base operating system are developed as a cohesive unit like you described. I've been watching videos of your baby progress over the years. I love the look and guiding philosophy. You should be immensely proud of what you've accomplished. But without l…

The BSDs are proof of what I'm saying. Sure the base OS is developed and released together. Meanwhile the stuff in the ports tree (the programs users actually want to run) is very similar to every common Linux distribution.

Also FreeBSD in particular has several Linux compatibility APIs and shares drivers with Linux whenever it's possible. As a founder it's tempting to fantasize about building your own universe but everyone comes back to reality eventually.

Post reply on HN