<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: googh</title><link>https://news.ycombinator.com/user?id=googh</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 14:36:47 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=googh" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by googh in "My negative views on Rust (2023)"]]></title><description><![CDATA[
<p>I just wrote that as an observation, and I did not mean to offend the parent.<p>Now, let me explain why I felt that way. First and foremost, the phrase "undefined behavior" only applies to C and C++ because the specifications of those languages define it. The statement that Rust has no UB does not make sense because Rust has no specification, and all behavior is defined by the default implementation.<p>For example, C/C++ specifications state that using a pointer after calling "free()" on it is UB. But an implementation can make it well-defined by adding a GC and making "free()" a no-op. Hence, memory safety is entirely orthogonal to UB.<p>Another example: signed overflow being UB is not a memory safety problem unless the value is used for array indexing. Also, it is possible to enable bounds checking in STL containers (like _GLIBCXX_ASSERTIONS).<p>It seems like that a lot of Rust fans read John Regehr's posts and use "undefined behavior" as a boogeyman to throw shade at C/C++. They repeat the same points ad nauseam. It also helps that the phrase "undefined behavior" evokes strong emotions (eg., "nasal demons"). I see the parent commenter doing this frequently and sometimes[1] even in the C++ subreddit (of all the places!). How is this not obnoxious?<p>Here[2] is another person doing the same, but in a spicier tone. Linked lists and graphs are safe if you have an isoheap allocator (look at Fil-C).<p>You can say that it is moral to endlessly reiterate the problems of unsafe languages, because it could lead to more secure software. But see the reply to my other comment by "hyperbrainer"[3] which says that Rust is "completely" memory safe, which is entirely wrong[4]. It is hard not to suspect the motives of those who claim to be concerned about memory safety.<p>[1] -<a href="https://old.reddit.com/r/cpp/comments/1fu0y6n/when_a_background_thread_races_against_the/lpw9m2l/?context=3" rel="nofollow">https://old.reddit.com/r/cpp/comments/1fu0y6n/when_a_backgro...</a>
[2] - <a href="https://news.ycombinator.com/item?id=32121622">https://news.ycombinator.com/item?id=32121622</a>
[3] - I am unable to reply because of the depth.
[4] - Rust requires unsafe to do a lot of things which can be done in safe code in a GC'd language. Thus, unsafe is pretty common in Rust than most GC'd languages. If a segfault can literally kill a person, it is absolutely immoral to choose Rust over Java (it does not matter that Rust "feels" safer than Java).</p>
]]></description><pubDate>Thu, 10 Oct 2024 12:12:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=41798049</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=41798049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41798049</guid></item><item><title><![CDATA[New comment by googh in "My negative views on Rust (2023)"]]></title><description><![CDATA[
<p>Most HN users already use languages with GC which are more memory safe than Rust. People still use C++ either because they are maintaining existing code, or they work in domains where memory safety is not really necessary (games, HFT, ML). Apart from these, C++ is rarely used in the real world.<p>> practitioners is "No, I don't like change, therefore you're crazy for explaining why I should change"<p>Who <i>exactly</i> are you referring to here? Your co-workers? LLVM maintainers? or the Linux kernel developers? Please be more precise.</p>
]]></description><pubDate>Thu, 10 Oct 2024 09:33:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=41797141</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=41797141</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41797141</guid></item><item><title><![CDATA[New comment by googh in "My negative views on Rust (2023)"]]></title><description><![CDATA[
<p>Most (if not all) of your posts here on HN boil down to "C/C++ bad, Rust good". I wonder what you are trying to achieve by this, but I assure you that this does not do Rust any favor other than giving the impression that the Rust community is obnoxious.</p>
]]></description><pubDate>Thu, 10 Oct 2024 07:43:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=41796542</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=41796542</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41796542</guid></item><item><title><![CDATA[New comment by googh in "The quest for a Wiki-less game"]]></title><description><![CDATA[
<p>Funny how the HN submission has more points than the original SE question.</p>
]]></description><pubDate>Thu, 12 Sep 2024 11:03:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=41519448</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=41519448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41519448</guid></item><item><title><![CDATA[New comment by googh in "User returns after 100k-hours ban to continue conversation that got them banned"]]></title><description><![CDATA[
<p>Just curious: Why didn't you email the moderators?</p>
]]></description><pubDate>Sun, 21 Jul 2024 14:21:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=41025296</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=41025296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41025296</guid></item><item><title><![CDATA[New comment by googh in "Rust for Filesystems"]]></title><description><![CDATA[
<p>Can someone shed some light on why the parent comment (by varjag) is downvoted?</p>
]]></description><pubDate>Tue, 16 Jul 2024 07:05:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=40974218</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=40974218</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40974218</guid></item><item><title><![CDATA[New comment by googh in "Fusion – A hobby OS implemented in Nim"]]></title><description><![CDATA[
<p>I think this problem can be solved using either a linter or formatter-like tool that makes naming consistent before the code gets committed.</p>
]]></description><pubDate>Mon, 15 Jul 2024 07:30:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=40965913</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=40965913</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40965913</guid></item><item><title><![CDATA[New comment by googh in "Leaving Rust gamedev after 3 years"]]></title><description><![CDATA[
<p>Not parent, but take a look at these:<p><a href="https://news.ycombinator.com/item?id=32117148">https://news.ycombinator.com/item?id=32117148</a><p><a href="https://news.ycombinator.com/item?id=39641552">https://news.ycombinator.com/item?id=39641552</a><p>These threads are absolutely painful to read. The Rust community/leadership would not do anything about it because Rust thrives on such "devotion".</p>
]]></description><pubDate>Sat, 27 Apr 2024 07:43:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=40178110</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=40178110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40178110</guid></item><item><title><![CDATA[New comment by googh in "Geoffrey Hinton: AI models have intuition and spot analogies unseen by humans"]]></title><description><![CDATA[
<p>AI is probably the only field in science where even scientists behind the thing talk like salesmen. Hinton in particular comes off as a dishonest person: he clearly knows what he says is wrong but does it anyway because he wants to hype the technology [1].<p>Also, the whole "neural networks work like human brains" nonsense is beneficial to large corporations behind AI because it could help them defy copyright laws while the same restrictions continue to apply to the common man.<p>[1] - some more Hinton's "wisdom": 
<a href="https://www.reddit.com/r/singularity/comments/1c2vauy/geoffrey_hinton_says_ai_chatbots_have_sentience/" rel="nofollow">https://www.reddit.com/r/singularity/comments/1c2vauy/geoffr...</a></p>
]]></description><pubDate>Tue, 16 Apr 2024 05:55:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=40048768</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=40048768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40048768</guid></item><item><title><![CDATA[New comment by googh in "Never redefine an inherited default parameter value (1997)"]]></title><description><![CDATA[
<p>The thing is, these problems rarely arise for programmers who daily code in C++. People who don't use C++ love to enumerate different C++ gotchas. In reality, most C++ projects define a coding style that dodges most of these problems. For instance, I don't use default arguments at all.<p>That said, I don't start new projects in C++ mainly because of the header/source split. After writing a lot of code in languages that don't require a header file, I believe that C/C++ not making headers files redundant in 90s itself has been a costly mistake. Think of the time wasted because of constantly having to sync header/source files. One can argue that it does not take much time but it is hard to estimate how many bugs might be introduced because of such busywork breaking mental flow.<p>Oddly, real problems like these are never brought in these "C++ sucks" discussions.</p>
]]></description><pubDate>Tue, 16 Apr 2024 05:15:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=40048589</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=40048589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40048589</guid></item><item><title><![CDATA[New comment by googh in "Open source versus Microsoft: The new rebellion begins"]]></title><description><![CDATA[
<p>Could you explain what Fedora does better than the Debian-family of distros? I find Fedora's overall performance to be worse than other distros (including Ubuntu).</p>
]]></description><pubDate>Mon, 15 Apr 2024 15:07:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=40041546</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=40041546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40041546</guid></item><item><title><![CDATA[New comment by googh in "Open source pioneer Perens says it's time to contemplate a post-open world"]]></title><description><![CDATA[
<p>> "but we don't know how often it happens!"-bollocks<p>I am not sure why you describe that as bollocks. The most surprising part of the xz backdoor is that it was discovered by sheer luck. Imagine what would've happened if the backdoor hadn't caused a noticeable slowdown. It is not a stretch to imagine that there might be other backdoors in OSS that are not (yet) found.</p>
]]></description><pubDate>Fri, 12 Apr 2024 04:48:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=40009483</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=40009483</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40009483</guid></item><item><title><![CDATA[New comment by googh in "Rust data structures with circular references (2021)"]]></title><description><![CDATA[
<p>> I would say that you want more than 32 bit pointers<p>Fil-C uses fat pointers to retain bounds and type information to make existing C code safe (typical C is filled with pointer arithmetic and casts).<p>Languages like C++/Zig/D have bounds checked slices and containers (or at least have facilities to create them). So fat pointers are not necessary. Slice types can also fit into 128-bit (start+end pointers), so they can be atomic.</p>
]]></description><pubDate>Wed, 27 Mar 2024 08:04:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=39836610</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=39836610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39836610</guid></item><item><title><![CDATA[New comment by googh in "Rust data structures with circular references (2021)"]]></title><description><![CDATA[
<p>There is hardly any difference between indices into vectors and isoheaps (ie. an allocator that reuses the same pool for the given type). Except that the latter is faster and much more ergonomic. Both prevent remote code execution.<p>I wonder what a modern language would look like if it had manual memory management exclusively through isoheaps. Fil-C[1] attempts to retrofit isoheaps to C.<p>Now one can argue that isoheaps still allow access to wrong value and that this can potentially cause security issues. But the same also happens with indices or object pools in GCd languages. And if we go by this logic then Rust is less safe than Java (even without unsafe) because Rust requires indices to express what can be expressed with just references in Java.<p>Increasingly, I find it hard to justify systems like the borrow checker that force the programmers to contort their programs in a certain way. Unfortunately, a lot of newer languages (eg., Hylo, Austral, Circle) are experimenting with something similar to the borrow checker. Take Hylo for instance. The language has no reference type at all. So one has to use indices everywhere. Why not just embrace isoheaps instead?<p>[1] - <a href="https://github.com/pizlonator/llvm-project-deluge/blob/deluge/Manifesto.md">https://github.com/pizlonator/llvm-project-deluge/blob/delug...</a></p>
]]></description><pubDate>Wed, 27 Mar 2024 04:34:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=39835739</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=39835739</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39835739</guid></item><item><title><![CDATA[New comment by googh in "Rust data structures with circular references (2021)"]]></title><description><![CDATA[
<p>If preventing remote code execution is the goal, then C/C++/Zig can also achieve this using isoheaps (see Fil-C[1] for example). Even without isoheaps, CFI mitigations are able to prevent jumps into code not known at compile time. Why bother with Rust or any other language with borrow checkers then? Just a honest question.<p>[1] - <a href="https://github.com/pizlonator/llvm-project-deluge/blob/deluge/Manifesto.md">https://github.com/pizlonator/llvm-project-deluge/blob/delug...</a></p>
]]></description><pubDate>Wed, 27 Mar 2024 03:12:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=39835325</link><dc:creator>googh</dc:creator><comments>https://news.ycombinator.com/item?id=39835325</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39835325</guid></item></channel></rss>