<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: whytevuhuni</title><link>https://news.ycombinator.com/user?id=whytevuhuni</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 28 Aug 2026 21:27:21 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=whytevuhuni" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by whytevuhuni in "Google fixed more Chrome bugs in June than over the past two years, thanks to AI"]]></title><description><![CDATA[
<p>> Tell me why you think you're right.<p>The more verification you do, the more likely it is for a program to be correct. Lean towards Assembly, and you get less correctness, but lean towards Ada/SPARK, and you get more.<p>Rust is a notoriously difficult language specifically because it adds some limited verification features, going further along that correctness continuum than C. I didn't think that could even be disputed.<p>The "if it compiles it probably works" feeling most Rust programmers experience is proof that those verification features work, too.<p>> In time you will learn about all of the faults and flaws in Rust<p>I've programmed enough safe Rust and unsafe Rust that I'm now very familiar with most of its flaws, and yes, it has many. I'm also familiar with C and C++'s flaws, and they're so, so much worse.<p>> after you've suffered the pain of trying to rewrite the entire universe in it<p>My goal has never been to rewrite the universe in Rust. Battle-tested software is fine to stay as-is, <i>unless</i> it needs constant updates and new features, where most memory bugs appear.<p>With that said, a couple years ago, at work, our team finished migrating a couple of performance-sensitive services from C++ to Rust, and not only were they both successful, but they became 5x and 10x faster respectively, because it's so much easier to do direct memory reference stunts that would've been possible, but <i>crazy</i> via C++'s std::span and lambdas.<p>> I know exactly what the successor to C/C++ looks like, and it's not Rust.<p>What does it look like?<p>> Blah blah blah. Most of that is just added runtime complexity that I could add to C if I wanted<p>Everything I listed is compile-time complexity. I'm not sure how you can add <i>any</i> of it at runtime without extra runtime costs. Or are you talking about modifying the C language?<p>We might argue over whether that complexity is worth it, for sure, but once again: "if it compiles it probably works" is a very common sentiment with Rust.<p>But also, what you're saying sounds very much like the Blub Paradox [1]:<p>"As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub."<p>[1] <a href="https://wiki.c2.com/?BlubParadox" rel="nofollow">https://wiki.c2.com/?BlubParadox</a><p>> Most of it is wankery, the sort of stuff that 20-somethings salivate over<p>I'm not sure how that is relevant to what I said? I have 30 years of experience with C, and have read the C specification cover to cover, plus more recently some 15 years of C++ experience in parallel at work. I still use all 3 languages today.<p>> Again, the actual successor to C/C++ looks nothing like Rust.<p>What does it look like?</p>
]]></description><pubDate>Sun, 02 Aug 2026 06:40:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=49141749</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49141749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49141749</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Google fixed more Chrome bugs in June than over the past two years, thanks to AI"]]></title><description><![CDATA[
<p>> * laugh track deafening *<p>No shallow dismissals please, tell me why you think I'm wrong.<p>> Rust is not a major advance over C/C++<p>Rust adds the borrow checker (and especially with non-linear lifetimes it's an implementation like the world has never seen before, not even in Cyclone). That alone raises it leaps above both C and C++.<p>But even without it, it still has a Hindley Milner type system (which most people considered superior to multiple inheritance), it has Sync/Send traits, the concept of UnwindSafe, proper destructive moves and affineish types, proper sum types and matching, sane iterators, lack of UB on uninit/overflow/etc, a sane module system, hygienic macros, and that's just the things I was able to pull of the top of my head right now.<p>Not to mention, the design of its stdlib is absolutely lovely compared to what C++'s stdlib has become, and it focuses on correctness much more than most other popular languages.</p>
]]></description><pubDate>Sat, 01 Aug 2026 21:22:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49138627</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49138627</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49138627</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Google fixed more Chrome bugs in June than over the past two years, thanks to AI"]]></title><description><![CDATA[
<p>The Blub Paradox [1].<p>Granted I doubt how true that is, I always understood the benefits of languages like Haskell and Ada/SPARK, it's just that pragmatically speaking I want beginners in my team to be able to code too.<p>[1] <a href="https://wiki.c2.com/?BlubParadox" rel="nofollow">https://wiki.c2.com/?BlubParadox</a></p>
]]></description><pubDate>Sat, 01 Aug 2026 17:05:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=49136210</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49136210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49136210</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Google fixed more Chrome bugs in June than over the past two years, thanks to AI"]]></title><description><![CDATA[
<p>Many Rust proponents <i>are</i> experienced C programmers (me as an example).<p>We speak of the horrors of C/C++ precisely because we've seen both sides (3 sides more specifically), and can compare.</p>
]]></description><pubDate>Sat, 01 Aug 2026 16:53:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=49136071</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49136071</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49136071</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Google fixed more Chrome bugs in June than over the past two years, thanks to AI"]]></title><description><![CDATA[
<p>Yes, except imagine the distance in correctness between Assembly and C, and triple it. Less so compared to C++ of course.<p>The sentiment of "if it compiles it probably works" for languages like Rust and Haskell is there for a good reason.</p>
]]></description><pubDate>Sat, 01 Aug 2026 16:51:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=49136047</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49136047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49136047</guid></item><item><title><![CDATA[New comment by whytevuhuni in "JEP 401: Value Objects (Preview) merged to OpenJDK master"]]></title><description><![CDATA[
<p>How much of Valhalla is this? 50% of it? 90% of it?</p>
]]></description><pubDate>Fri, 31 Jul 2026 06:07:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=49119553</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49119553</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49119553</guid></item><item><title><![CDATA[New comment by whytevuhuni in "If AI Writes All the Code, What Do the Programmers Do?"]]></title><description><![CDATA[
<p>Probably dance.</p>
]]></description><pubDate>Tue, 28 Jul 2026 14:08:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=49084129</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49084129</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49084129</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Thoughts on Integers (2023)"]]></title><description><![CDATA[
<p>Yeah, this has come up a few times when I was coding Rust. From just reading your code I know for sure that i is a usize (indexing is very common), but don't know what j is (I usually expect Rust to throw some kind of "could not infer integer type" compiler error, and it doesn't do that here). I'm guessing maybe i32. Code at the end of the function changing the meaning of code at the beginning of a function has also surprised me a couple times.<p>In my particular case I'm using Zed with type hints enabled, so the editor displays that expression as `let i: usize = 1;` automatically (which is really useful in a language with type inference, especially with expression as weird/complex as Rust iterator method chains). You're right that I wouldn't know if I were to open the file in a simple text editor.</p>
]]></description><pubDate>Mon, 27 Jul 2026 06:45:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=49065907</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49065907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49065907</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Thoughts on Integers (2023)"]]></title><description><![CDATA[
<p>In production you generally want your code to not be 1.5x-2x slower than C/C++, otherwise people will ditch your whole language with all its other benefits in pursuit of performance.<p>There's a lot of safe but slow languages, Rust is trying incredibly hard to be a safe language that is still seen to be in that general C/C++ ballpark of performance.</p>
]]></description><pubDate>Mon, 27 Jul 2026 06:12:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49065716</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49065716</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49065716</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Memory safety absolutists"]]></title><description><![CDATA[
<p>Rust helps prevent some race conditions, but an unqualified "prevents race conditions" sounds like it eliminates them, hence why GP says it does not.</p>
]]></description><pubDate>Sun, 26 Jul 2026 11:22:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=49056959</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=49056959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49056959</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Claude Code uses Bun written in Rust now"]]></title><description><![CDATA[
<p>> So you haven't understood the distinction or you're letting your feelings for software get the best of you.<p>Maybe? I'm not sure.<p>> The proof that there are no (for rust's definition of "no") memory bugs becomes worthless<p>I still don't think so, the proof that there are no memory bugs is definitely not worthless, since while the whole proof itself is binary (it is either fully correct or not), its effects act more like coverage, and the more of it that happens to be partially correct, the better.<p>I think cve-rs is the perfect example of this. Its very existence proves that the borrow checker is <i>already</i> unsound, and with that, the very foundations of Rust's safety guarantees are currently flawed.<p>TypeScript is another good example, its type system has been repeatedly proven to be unsound, so it's also flawed.<p>But so what if it's flawed? Many smaller properties of these proofs still happen to hold, and they might prevent 90%+ of CVEs even as flawed as they are.</p>
]]></description><pubDate>Mon, 20 Jul 2026 21:32:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48985155</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48985155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48985155</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Claude Code uses Bun written in Rust now"]]></title><description><![CDATA[
<p>I’ve understood the distinction. I just don’t like you equating “actually not safe” with “worthless”.</p>
]]></description><pubDate>Mon, 20 Jul 2026 14:05:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48979055</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48979055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48979055</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Claude Code uses Bun written in Rust now"]]></title><description><![CDATA[
<p>Of course, but even the presence of CVEs does not make software worthless, it just makes it worth less.</p>
]]></description><pubDate>Mon, 20 Jul 2026 12:56:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48978243</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48978243</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48978243</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Claude Code uses Bun written in Rust now"]]></title><description><![CDATA[
<p>But code is not mathematics, so incorrect code is not worthless, it’s just worth less.<p>It’ll most likely still do 99% of the things people need it to do, there’ll be a an issue created for that broken 1%, and eventually it’ll be iterated upon and fixed.<p>Unless you’re working on a security boundary of course, there you should treat it like maths.</p>
]]></description><pubDate>Mon, 20 Jul 2026 12:26:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48977864</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48977864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48977864</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Claude Code uses Bun written in Rust now"]]></title><description><![CDATA[
<p>Only ~4% of code is inside an unsafe block, so the idea is that for new code/contributions, the chance of introducing a new memory-safety bug is an order of magnitude lower.<p>Maybe in the future the unsafe code will go down to 1%, bringing that to two orders of magnitude.<p>Of course, only time will tell if that is true or not, but from experience I’d be willing to bet it is.</p>
]]></description><pubDate>Mon, 20 Jul 2026 12:15:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48977720</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48977720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48977720</guid></item><item><title><![CDATA[New comment by whytevuhuni in "How Our Rust-to-Zig Rewrite Is Going"]]></title><description><![CDATA[
<p>If cve-rs exists, we still say that safe Rust is safe, in the same way that we say Python is safe despite potential bugs in its interpreter or native libraries, and that Java is safe despite potential bugs in the JVM or JNI libraries, and so on.</p>
]]></description><pubDate>Fri, 17 Jul 2026 19:04:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48951076</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48951076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48951076</guid></item><item><title><![CDATA[New comment by whytevuhuni in "How Our Rust-to-Zig Rewrite Is Going"]]></title><description><![CDATA[
<p>> "unsafe" is in practice often needed for performance in Rust<p>That's the power of Rust, not a limitation of it. Rust thrives on its ability to provide safe interfaces over unsafe code.<p>You'll see this practice in other languages too; if you're coding safe Java, you're using a lot of unsafe code from the JVM and via JNI.<p>If you're using Python, the stdlib and all the performance-sensitive libraries (numpy, pandas, etc) are written in unsafe code, but even when you import those we still say your Python code is safe, and that Python overall is a memory safe language.</p>
]]></description><pubDate>Fri, 17 Jul 2026 05:55:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48943764</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48943764</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48943764</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Understanding the Odin programming language"]]></title><description><![CDATA[
<p>> honestly thats the biggest problem with rust, they come up with a lot of useful changes but then take ages to stabilize because the core team is overworked<p>On the contrary, that has been one of Rust's biggest strengths. My impression when reading through stdlib was that they got <i>so many things</i> right, and for that to happen, things need to be thought out properly.<p>Case in point, it'd be such a shame if they stabilized the allocator API, only for us to forever regret never getting the storage API [1] instead, or vice-versa, depending on which one turns out to be more pragmatic.<p>> they also have a kind of perfectionist culture as a reaction to all the half baked features shipping in C++.<p>And that's a good thing! Some people really dislike the constant influx of new features due to the overwhelming complexity it leads to. So if we do have new features, they better be worth it.<p>[1] <a href="https://github.com/rust-lang/rfcs/pull/3446" rel="nofollow">https://github.com/rust-lang/rfcs/pull/3446</a></p>
]]></description><pubDate>Sun, 12 Jul 2026 20:47:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48884633</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48884633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48884633</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Cpp2Rust: Translates C++ to safe Rust automatically"]]></title><description><![CDATA[
<p>GP is referring to the article's title, as in "safe Rust", as in "Rust with no unsafe keyword", as in whether it has undefined behavior or not.<p>Granted the premise is rather brittle, since all Cpp2Rust does is to convert UB to runtime crashes, which can be undecidable, and cannot be used to prove anything about the original C++ code.</p>
]]></description><pubDate>Sun, 12 Jul 2026 06:45:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48878931</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48878931</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48878931</guid></item><item><title><![CDATA[New comment by whytevuhuni in "Interview with Mitchell Hashimoto about Ghostty and Zig"]]></title><description><![CDATA[
<p>And also one I'd like to see in more languages! Especially a simpler one, closer to C.</p>
]]></description><pubDate>Fri, 10 Jul 2026 19:49:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48864376</link><dc:creator>whytevuhuni</dc:creator><comments>https://news.ycombinator.com/item?id=48864376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48864376</guid></item></channel></rss>