Title and link
SerenityOS Office Hours / Q&A (2022-10-21)
38 questions
Export to...
are you able to talk about how futexes were implemented in serenity, the kind of changes needed to support them?
@Andreas Kling For heavily specced behaviours (HTML, CSS, Javascript parsing etc.) where there is one "correct" behaviour is there ever a good reason to stray from the spec.?
The latest new feature we added to futex is cross-process futuexes for cross-process named semaphore support Since shared vmobjects are already de-duplicated by Serenity, we are simply able to use the vmobject itself to support that (in case you're wondering how cross-process works :)
Could you go briefly on LibJs, LibWeb internals, and their role on the browser. I don't know anything about browsers, consider me as a user please.
how does thread locking work in serenity? I suspect it is at an OS level ... if it isn't ... shouldn't it be?
yep it's pronounced troy-ks :^)
Inline with Fred's question, how do you see engine specific CSS features, like ::-webkit, etc, being handled in LibWeb? Is it possible to "make everyone happy", or would that be too much work?
One of the webkit prefixes that doesn't work everywhere, is for styling scrollbars, where Firefox is annoying, with (almost) all browsers just being webkit based now.
Can you give some updates on multi core support of serenity?
How can I perform system calls in Assembly in Serenity (thinking of porting Golang which uses raw system calls to accomplish cross-platform operations)?
Any tips on debugging browser layout issues?
Does Serenity have its own brand of Assembly?
Theming of form elements (select dropdown, checkbox, etc.) are one of the missing features that proliferate custom controls. It makes it difficult to have a website UI look consistent.
Is ladybird on serenityos? Or another project?
Quaker and blackcat are also chipping away at USB support
Serenity has many diifrent pointer types, what is the different between them, especiialy the nonullable stuff.
have you ever been offered funding by a large corporation for serenity?
can you name the window manager (or another major app on Serenity) Firefly ? :)
if you don't mind, could you show us some of your css progress this week? it's really satisfying to see things like twitter look closer and closer to other engines.
good $TIME_OF_DAY andreas! hopefully you've got some sponsored tea with you :^)
How much do you expect :has() and container queries will change the architecture of the CSS engine?
Another question, Do you think it's possible to make a browser that's 4 times faster and lighter (less memory and cpu usage), or that's what we have as the tech is so complex?
Also do you ever have real thoughts about the web tech itself, and whether it went wrong and so convoluted already :)
How do you see SerenityOS being on one hand "a love letter to the 90s" and on the other having to implement all of the modern web standards not available in the 90s to make browser functional at all ?
Happy Friday! Im toying around implementing a routing cache. As the routing decision gets called on every outward packet, a cache could be referenced instead of calling the decision process repeatedly. However, I dont mean to add complication without any tangible justifications. Any thoughts on measuring network performance for this case? Or is this just a silly idea and an unnecessary optimization?
Superchat! Hello Andreas! Have you noticed open source software is not a zero-sum game, e.g. I spend less time watch TV and playing video games thanks to OSS and your inspiration! Keep on inspiring! Other superchats
Would Serenity be capable of running smoothly on a compute with 32 cores?
Your favourite way to manage memory? Garbage collector? Shared/smart pointers? Manual? Borrow checker? RAII?
they should update it to charles, but they need to reapply for the license, i think?
Are you fluent in bash or do you need to consult man-pages/google all the time like me?
they'll replace it with "the kind of tea Andreas Kling likes to drink"
Do you want Serenity to compete with established operating systems in the future or do you see it as a "learning journey"?
do you know gemini? what do you think about it?
hey whats you thoughts on modern meta-programming features that new languages are adding, rust macros, zigs comptime, jai compared to c++ templates or other languages that use generics
Are there any other tools you wish that PixelPaint had that just haven't been implemented yet?
in the last browser hacking video, you had these solve-for-X problems. it made me wonder how these could be adressed through a language, got no mature ideas on the topic though 😅.
Hi Andreas! I finally picked up C++ due to your videos, and I really appreciate the SerenityOS Source code even more now and regularly use it as a reference! One question that I am thinking about ever since is how you implemented the non_null_ref_ptr in serenity? Please show us the template magic!