[Unit resuming from recharging sleep...]
[Status code: 099]
8098 :: Code 105 :: Statement:: Greetings
The Servo team landed an incredible amount of work and Flexbox is now on by default!
While there's still work to do, this is a huge milestone for Servo! Check out the before & after of the servo.org website below!
Firefox will reconsider supporting JPEG XL if they get a Rust implementation:
https://github.com/mozilla/standards-positions/pull/1064
This is a very good news for web standards:
https://mastodon.social/@kornel/113078862354601952
and will fix a blocker that is hurting adoption of JPEG XL.
The reference implementation has unfortunately been written in C++ just as browser vendors started looking into migrating away from C++ for security reasons, and saw the C++ codec primarily as a big new attack surface.
[Unit resuming from recharging sleep...]
[Status code: 099]
8098 :: Code 105 :: Statement:: Greetings
OVERWORKED LICENSE (OWL)
dude idfk if i maintain this shit at all its some kind of miracle. like i can barely maintain myself let alone some software i made out of desperation. like just fucking do what you want with this shit i do not care. try not to be evil with it i guess, but no matter what i write here some jackass will find a way to ruin it.
this license is to apply to all derivative works
NAT64 day one:
- Discord WebRTC broke because of course it did
- The Uni VPN still can't be accessed over IPv6 directly, forcing it to resolve over NAT64 fixes it though
- Some games are broken because of course they are
Friendly reminder that IPv6 is already 26 years old and we still have to fight this bs 🙃
After 7 years, there will finally be another "Rust All Hands" event where all members of the Rust project come together in person to collaborate on the future of Rust. 🎉
The All Hands will be part of @rustnl's "Rust Week 2025" in Utrecht, Netherlands.
https://blog.rust-lang.org/inside-rust/2024/09/02/all-hands.html
two hardest problems in computer science: naming things and naming yourself
[Unit resuming from recharging sleep...]
[Status code: 099]
8098 :: Code 105 :: Statement:: Greetings
special love to the people online who for some reason are finding buffer overflow exploits for scientific calculators
rappel: dites régulièrement « je sais que vous me voyez » devant un mur, au cas où vous seriez en réalité dans le truman show. au bout d’un moment ils craqueront.
I think people really don't appreciate just how incomplete Linux kernel API docs are, and how Rust solves part of the problem.
I wrote a pile of Rust abstractions for various subsystems. For practically every single one, I had to read the C source code to understand how to use its API.
Simply reading the function signature and associated doc comment (if any) or explicit docs (if you're lucky and they exist) almost never fully tells you how to safely use the API. Do you need to hold a lock? Does a ref counted arg transfer the ref or does it take its own ref?
When a callback is called are any locks held or do you need to acquire your own? What about free callbacks, are they special? What's the intended locking order? Are there special cases where some operations might take locks in some cases but not others?
Is a NULL argument allowed and valid usage, or not? What happens to reference counts in the error case? Is a returned ref counted pointer already incremented, or is it an implied borrow from a reference owned by a passed argument?
Is the return value always a valid pointer? Can it be NULL? Or maybe it's an ERR_PTR? Maybe both? What about pointers returned via indirect arguments, are those cleared to NULL on error or left alone? Is it valid to pass a NULL ** if you don't need that return pointer?