Top all-time · #2500
Predrag Gruevski
Personal blog · predr.ag · on HN as obi1kenobiprogramming
Predrag Gruevski's personal blog at predr.ag covers programming. Since 2022, 33 different Hacker News readers have linked it 87 times, most often “Speeding up Rust semver-checking by over 2000x”. It is still writing: the last post was on 2026-08-15, and you can follow it by feed.
Predrag Gruevski's blog and personal site.
Most-linked posts?
- Speeding up Rust semver-checking by over 2000x6 people · 14 mentions · first linked 2023-02-07
- The Wi-Fi only works when it's raining6 people · 8 mentions · first linked 2024-04-01
- Mediocrity can be a sign of excellence, and other stories4 people · 4 mentions · first linked 2023-04-01
- Toward Fearless Cargo Update3 people · 5 mentions · first linked 2022-08-29
- Falsehoods programmers believe about undefined behavior3 people · 3 mentions · first linked 2022-11-28
- Unsoundness and accidental features in the #[target_feature] attribute3 people · 3 mentions · first linked 2025-07-05
- The Self-Cancelling Subscription3 people · 3 mentions · first linked 2026-04-01
- Some Rust breaking changes do not require a major version2 people · 5 mentions · first linked 2023-01-26
- Compiler Adventures2 people · 4 mentions · first linked 2022-11-26
- Debugging Safari: If at first you succeed, don't try again2 people · 3 mentions · first linked 2022-09-19
What Hacker News says?
I collected a list of fun stories of this form a while ago! - Car allergic to vanilla ice cream: https://www.cs.cmu.edu/~wkw/humour/carproblems.txt - Can't log in when standing up: https://www.reddit.com/r/talesfromtechsupport/comments/3v52p... - OpenOffice won't print on Tuesdays: https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/255161... - The Wi-Fi only works when it's raining: https://predr.ag/blog/wifi-onl…
Comment linking /blog/wifi-only-works-when-its-raining/
on “Can an email go 500 miles in 2025?”Submitted The Wi-Fi only works when it's raining as a story · 1147 points
HN discussionThis isn't the only way a Rust stable update can break your compile. It can also happen simply because they add a symbol to the standard library, and that isn't even protected by language editions. https://predr.ag/blog/some-rust-breaking-changes-do-not-requ... "Never add anything" isn't a tenable position, and in practice the breakage hasn't been bad enough to need special treatment yet.
Comment linking /blog/some-rust-breaking-changes-do-not-require-major-version/
on “Stabilizing Rust's Never Type”Submitted How to Query Almost Everything (2022) as a story · 8 points
HN discussionIt's only fair to call out that #[non_exhaustive] only helps you for the very specific case of adding new enum variants or struct fields. It does nothing for the burden of keeping all existing variants and fields compatible with any way they could have been matched. However it's also only fair to note that the Rust ecosystem does not consider every [potential] breaking change a major one. https://predr.ag/blog/some-…
Comment linking /blog/some-rust-breaking-changes-do-not-require-major-version/
on “Go: Sentinel errors and errors.Is() slow your code down by 3000%”Submitted The Wi-Fi only works when it's raining as a story · 5 points
HN discussionThat's a gold mine! https://predr.ag/blog/wifi-only-works-when-its-raining/ https://www.linkedin.com/pulse/application-crashes-when-i-dr... https://gyrovague.com/2015/07/29/crashes-only-on-wednesdays/
Comment linking /blog/wifi-only-works-when-its-raining/
on “What kind of bug would make machine learning suddenly 40% worse at NetHack?”Submitted The Self-Cancelling Subscription as a story · 4 points
HN discussionThere is an older story out there about WiFi failing during a storm, even though all the cables and antennas are fine. I'll see if I can find it. Edit: it was the other way around. https://predr.ag/blog/wifi-only-works-when-its-raining/
Comment linking /blog/wifi-only-works-when-its-raining/
on “What kind of bug would make machine learning suddenly 40% worse at NetHack?”Submitted The Most Amusing Security Flaws I've Discovered as a story · 4 points
HN discussionCame across this list in the comments of this discussion, lots of great stories here! https://news.ycombinator.com/item?id=44466030 My personal list of stories of this kind includes: - Car allergic to vanilla ice cream: https://www.cs.cmu.edu/~wkw/humour/carproblems.txt - Can't log in when standing up: https://www.reddit.com/r/talesfromtechsupport/comments/3v52p... - OpenOffice won't print on Tuesdays: https://bugs.…
Comment linking /blog/wifi-only-works-when-its-raining/
on “Bug Stories”Submitted To ace exams, get better at the easy questions (2022) as a story · 3 points
HN discussion> Everything I wish I knew when learning C For me, by far my biggest regret is that the learning materials I was exposed to (web pages, textbooks, lectures, professors, etc.) did not emphasize how insidious undefined behavior is. Two of the worst C and C++ debugging experiences I had followed this template: Some coworker asked me why their function was crashing, I edit their function and it sometimes crashes or does…
Comment linking /blog/falsehoods-programmers-believe-about-undefined-behavior/
on “Everything I wish I knew when learning C”Submitted Debugging Safari: If at first you succeed, don't try again as a story · 3 points
HN discussionToo much humidity makes it rain, and rain can make the Wi-Fi work: https://predr.ag/blog/wifi-only-works-when-its-raining/
Comment linking /blog/wifi-only-works-when-its-raining/
on “Debugging Humidity: Lessons from deploying software in the physical world”Submitted Unsoundness and accidental features in the [target_feature] attribute as a story · 3 points
HN discussion> Zig does have invariants Not these in particular. You are again ignoring the context. > Undefined behavior does not mean a bug can be triggered. Undefined behavior are bugs by themselves. Let's check if you are holding any of the wrong assumptions: https://predr.ag/blog/falsehoods-programmers-believe-about-u... > `unsafe` is grep'able, hence all memory safety bugs are grep'able. Wrong implicit premise: "all memory…
Comment linking /blog/falsehoods-programmers-believe-about-undefined-behavior/
on “Rewriting Bun in Rust”Submitted Unsoundness and accidental features in the #[target_feature] attribute as a story · 3 points
HN discussionFolks interested in this might also enjoy my hands-on blog series about compiler optimizations: https://predr.ag/blog/compiler-adventures-part1-no-op-instru... It shows the process of building an optimizing compiler for the MONAD language from last year's Advent of Code. It covers topics like: - no-op elimination (episode 1) - constant propagation (episode 2) - value numbering (episode 3) - value range analysis (epi…
Comment linking /blog/compiler-adventures-part1-no-op-instructions/
on “A Compiler Writing Playground”Submitted Unsoundness and accidental features in the [target_feature] attribute as a story · 3 points
HN discussionInterestingly, even though it's a breaking change, breaking inference is explicitly defined to not be a semver-major change in Rust: https://predr.ag/blog/some-rust-breaking-changes-do-not-requ...
Comment linking /blog/some-rust-breaking-changes-do-not-require-major-version/
on “In Which I Claim Rich Hickey Is Wrong (2020)”Submitted "We never update unless forced to" – cargo-semver-checks 2024 Year in Review as a story · 3 points
HN discussionAs another learning resource, check out my Compiler Adventures blog series where we implement an optimizing compiler from scratch in Rust. Every episode in the series describes and implements a new optimization, like no-op elimination (ep. 1), constant propagation (ep. 2), value numbering (ep. 3), value range analysis (ep. 4, coming out in early January), etc. https://predr.ag/blog/compiler-adventures-part1-no-op-in…
Comment linking /blog/compiler-adventures-part1-no-op-instructions/
on “Implementing a Toy Optimizer”Submitted Is this Rust trait sealed or not? as a story · 3 points
HN discussionThis repo is great! Always nice to see an end-to-end compiler example for a real programming language. Unfortunately, real programming languages are very complex, so writing compilers often gets bogged down in complexity, edge cases, and "mop up" work. Often it can be better to learn on a simpler language where you can afford more focus and more depth before things get too complex. Most "write a compiler" tutorials…
Comment linking /blog/compiler-adventures-part1-no-op-instructions/
on “A Compiler Writing Journey”Submitted Protecting the Rust standard library from accidental breakage as a story · 2 points
HN discussionhttps://predr.ag/blog/ A few of my more popular posts: - Falsehoods programmers believe about undefined behavior: https://predr.ag/blog/falsehoods-programmers-believe-about-u... - To ace exams, get better at the easy questions: https://predr.ag/blog/to-ace-exams-get-better-at-the-easy-qu... - Speeding up Rust semver-checking by over 2000x: https://predr.ag/blog/speeding-up-rust-semver-checking-by-ov... - Mediocrity…
Comment linking /blog/debugging-safari-if-at-first-you-succeed/
on “Ask HN: Could you share your personal blog here?”Submitted The Self-Cancelling Subscription as a story · 2 points
HN discussionMight I direct you to a 10min talk I gave on the subject? https://www.hytradboi.com/2022/how-to-query-almost-everythin... The motivation is that queries that are trivial in a SQL database are painfully impractical over any other data source. Most query languages are tied way too closely to a data format or representation, and fail miserably at the boundaries to other systems or representations. Yes, we can e.g. plug…
Comment linking /blog/speeding-up-rust-semver-checking-by-over-2000x/
on “Trustfall: How to Query (Almost) Everything”Submitted Self Cancelling Subscription as a story · 2 points
HN discussion