Readit News logoReadit News
dvratil commented on The Unix Pipe Card Game   punkx.org/unix-pipe-game/... · Posted by u/kykeonaut
giancarlostoro · 23 days ago
We need one for SELinux for adults, it'll lowkey force people who haven't taken the time to learn SELinux to learn it and be fully capable of using it without fear.
dvratil · 23 days ago
Well, there's a SELinux coloring book - you need to start with SELinux while they are still young! https://people.redhat.com/duffy/selinux/selinux-coloring-boo...
dvratil commented on The Dangers of SSL Certificates   surfingcomplexity.blog/20... · Posted by u/azhenley
dvratil · 2 months ago
Happened on the first day of my first on-call rotation - a cert for one of the key services expired. Autorenew failed, because one of the subdomains on the cert no longer resolved.

The main lesson we took from this was: you absolutely need monitoring for cert expiration, with alert when (valid_to - now) becomes less than typical refresh window.

It's easy to forget this, especially when it's not strictly part of your app, but essential nonetheless.

dvratil commented on How SQLite is tested   sqlite.org/testing.html... · Posted by u/whatisabcdefgh
antonymoose · 2 months ago
While I’ve worked in HFT and understand the sentiment, I can’t recall any open-source project I’ve used coming out with performance guarantees. Most use license language setting no guarantee or warranty. Are there notable projects that do include this consideration as their core mission?
dvratil · 2 months ago
I believe every sensible open-source developer strives to keep their software performant. To me, a performance regression is a bug like any other and I got and fix it. Sure, there's no warranty guaranteed in the license, yet no-one who takes their project even a little seriously takes it as "I can break this any way I want".
dvratil commented on 8M users' AI conversations sold for profit by "privacy" extensions   koi.ai/blog/urban-vpn-bro... · Posted by u/takira
GeekyBear · 2 months ago
I stick to extensions that Mozilla has manually vetted as part of the Firefox recommended extensions program.

> Firefox is committed to helping protect you against third-party software that may inadvertently compromise your data – or worse – breach your privacy with malicious intent. Before an extension receives Recommended status, it undergoes rigorous technical review by staff security experts.

https://support.mozilla.org/en-US/kb/recommended-extensions-...

I know that Google hates to pay human beings, but this is an area that needs human eyes on code, not just automated scans.

dvratil · 2 months ago
The question is, does Mozilla rigorously review every single update of every featured extension? Or did they just vet it once, and a malicious developer may now introduce data collection or similar "features" though a minor update of the extension and keep enjoying the "recommended" badge by Mozilla?
dvratil commented on Heavy metal is healing teens on the Blackfeet Nation   hcn.org/issues/57-11/heav... · Posted by u/cdrnsf
dvratil · 2 months ago
I always enjoyed being a metal head, the music is the main reason of course (I like it), but the community is a very big aspect of it too.

I always thought about metal shows and festivals as a "safe space", where people can really be themselves, because you don't have to suffer judgmental remarks about what you wear, what you look like or what you listen to. And most people there get this and feel this as well, which is why the community feels so welcoming and chill. Plus as someone else posted here, it's also all a bit silly and I think most people get that as well.

dvratil commented on Largest cargo sailboat completes first Atlantic crossing   marineinsight.com/shippin... · Posted by u/defrost
contrarian1234 · 3 months ago
that doesn't really make any sense. You'd just overestimate the time and if you arrived ahead of schedule you'd wait out at sea for the "correct" time
dvratil · 3 months ago
But that's extra time when the ship is sitting idle, while it could've already been on its way with new cargo, making more money.
dvratil commented on Do you know that there is an HTML tables API?   christianheilmann.com/202... · Posted by u/begoon
loloquwowndueo · 3 months ago
To be fair, we did that when there wasn’t much choice for laying out web pages other than using tables. I was there!
dvratil · 3 months ago
It's not that long ago that tables were the only reliable layout tool for HTML emails (mostly due to Outlook supporting only very limited subset of CSS).
dvratil commented on Futurelock: A subtle risk in async Rust   rfd.shared.oxide.computer... · Posted by u/bcantrill
mleonhard · 3 months ago
> // Start a background task that takes the lock and holds it for a few seconds.

Holding a lock while waiting for IO can destroy a system's performance. With async Rust, we can prevent this by making the MutexGuard !Send, so it cannot be held across an await. Specifically, because it is !Send, it cannot be stored in the Future [2], so it must be dropped immediately, freeing the lock. This also prevents Futurelock deadlock.

This is how I wrote safina::sync::Mutex [0]. I did try to make it Send, like Tokio's MutexGuard, but stopped when I realized that it would become very complicated or require unsafe.

> You could imagine an unfair Mutex that always woke up all waiters and let them race to grab the lock again. That would not suffer from risk of futurelock, but it would have the thundering herd problem plus all the liveness issues associated with unfair synchronization primitives.

Thundering herd is when clients overload servers. This simple Mutex has O(n^2) runtime: every task must acquire and release the mutex, which adds all waiting tasks to the scheduler queue. In practice, scheduling a task is very fast (~600ns). As long as polling the lock-mutex-future is fast and you have <500 waiting tasks, then the O(n^2) runtime is fine.

Performance is hard to predict. I wrote Safina using the simplest possible implementations and assumed they would be slow. Then I wrote some micro-benchmarks and found that some parts (like the async Mutex) actually outperform Tokio's complicated versions [1]. I spent days coding optimizations that did not improve performance (work stealing) or even reduced performance (thread affinity). Now I'm hesitant to believe assumptions and predictions about performance, even if they are based on profiling data.

[0] https://docs.rs/safina/latest/safina/sync/struct.MutexGuard....

[1] https://docs.rs/safina/latest/safina/index.html#benchmark

[2] Multi-threaded async executors require futures to be Send.

dvratil · 3 months ago
I would guess this is just to make the explanation of the bug easier.

In real world, the futurelock could occur even with very short locks, it just wouldn't be so deterministic. Having a minimal reproducer that you have to run a thousand times and it will maybe futurelock doesn't really make for a good example :)

dvratil commented on The QNX Operating System   abortretry.fail/p/the-qnx... · Posted by u/BirAdam
dvratil · 4 months ago
I was involved in porting some software to Qt back when Photon was deprecated, and I always found the system very interesting. This is the first time I'm actually learning more about its history. Thanks for the great read.

I was also a huge fan of BlackBerry phones (having used Q5 and Z10 as daily drivers). The system was solid and had some really cool ideas. Too bad it didn't work out...

dvratil commented on The AI coding trap   chrisloy.dev/post/2025/09... · Posted by u/chrisloy
surgical_fire · 5 months ago
> Most of my initial prompts to agents start with "DO NOT WRITE ANY CODE YET."

I really like that on IntelliJ I have to approve all changes, so this prompt is unnecessary.

There's a YOLO mode that just changes shit without approval, that I never use. I wonder if anyone does.

dvratil · 5 months ago
It's more about having the LLM give you a plan of what it wants to do and how it wants to do it, rather rhan code. Then you can mold the plan to fit what you really want. Then you ask it to actually start writing code.

Even Claude Code lets you approve each change, but it's already writing code according to a plan that you reviewed and approved.

u/dvratil

KarmaCake day370October 17, 2013
About
me@<username>.cz
View Original