<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: cv5005</title><link>https://news.ycombinator.com/user?id=cv5005</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 24 May 2026 20:09:36 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=cv5005" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by cv5005 in "sp.h: Fixing C by giving it a high quality, ultra portable standard library"]]></title><description><![CDATA[
<p>>There's no namespacing feature provided so you're left with the convention of picking a few letters as a prefix and hoping it doesn't overlap and yet is succinct enough to not be annoying.<p>I've been using C on a daily basis for 30+ years and name collisions has just never been a problem.<p>Granted, it might be due to lack of a package manager so micro dependencies ala import is_even is not a thing here, but still, in practice, no name collions occurs.</p>
]]></description><pubDate>Sun, 24 May 2026 00:47:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48253159</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=48253159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48253159</guid></item><item><title><![CDATA[New comment by cv5005 in "Project Hail Mary – Stellar Navigation Chart"]]></title><description><![CDATA[
<p>Chinese film having 100% chinese cast = good.<p>American film having a single white male lead = not good.</p>
]]></description><pubDate>Thu, 21 May 2026 18:18:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48226894</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=48226894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48226894</guid></item><item><title><![CDATA[New comment by cv5005 in "Cost of enum-to-string: C++26 reflection vs. the old ways"]]></title><description><![CDATA[
<p>Never quite understood why people are so obsessed with meta programming capabilities <i>in</i> a language, be it templates, comptime, macros, whatever.<p>I program mostly in C, if I need 'meta' programming I just write another C program that processes C source code (I've written a simple C parser), then in my build script I build in two stages, build meta program, run it, build rest of program.<p>Simple, effective, debuggable (the meta program is just normal C), infinite capabilities - can nest this to arbitritary depths, need meta-meta programming? Make a program that generates a meta program.</p>
]]></description><pubDate>Wed, 13 May 2026 18:41:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48125742</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=48125742</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48125742</guid></item><item><title><![CDATA[New comment by cv5005 in "Making your own programming language is easier than you think (but also harder)"]]></title><description><![CDATA[
<p>>One need to write it manually each time in each function where some cleanup is needed.<p>You can structure your code to not need cleanup in every function.<p>The biggest problem with destructors is, how do you handle errors? close() can fail you know?</p>
]]></description><pubDate>Sun, 10 May 2026 12:55:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48083610</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=48083610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48083610</guid></item><item><title><![CDATA[New comment by cv5005 in "How do I deal with memory leaks? (2022)"]]></title><description><![CDATA[
<p>One reason is that c++ still hasn't gotten 'trivial relocatability' right - i.e being able to memcpy/memmove and not have to call constructors/destructors when growing your vector class.</p>
]]></description><pubDate>Fri, 08 May 2026 18:27:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48066924</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=48066924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48066924</guid></item><item><title><![CDATA[New comment by cv5005 in "Richard Dawkins and The Claude Delusion: The great skeptic gets taken in"]]></title><description><![CDATA[
<p>Yeah I dont think a single current LLM would fool me in a turing test - I would obiously use all kinds of prompt injection techniques, ask about 'dangerous' or controversial topics, ask about random niche facts in varied fields, etc.</p>
]]></description><pubDate>Sun, 03 May 2026 07:42:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47994444</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47994444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47994444</guid></item><item><title><![CDATA[New comment by cv5005 in "Lib0xc: A set of C standard library-adjacent APIs for safer systems programming"]]></title><description><![CDATA[
<p>std span is not bounds checked.</p>
]]></description><pubDate>Sat, 02 May 2026 13:53:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986435</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47986435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986435</guid></item><item><title><![CDATA[New comment by cv5005 in "Big-Endian Testing with QEMU"]]></title><description><![CDATA[
<p>Having different types seems wrong to me because endianess issues disappears after serialization, so it would make more sense to slap an annotation on the data field so just the serializer knows how to load/store it.</p>
]]></description><pubDate>Sat, 04 Apr 2026 07:41:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47636818</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47636818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47636818</guid></item><item><title><![CDATA[New comment by cv5005 in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>This was an MFC project, so your old standard win32 common controls that looks the same since 98 or so.</p>
]]></description><pubDate>Sun, 22 Mar 2026 13:18:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47477218</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47477218</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47477218</guid></item><item><title><![CDATA[New comment by cv5005 in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>Well it's still a 32 bit program so I guess that helps.
Would probably require some porting to make it 64 bit native, but as long as you use the WPARAM, INT_PTR typed and what not correctly it 'should just work'.</p>
]]></description><pubDate>Sun, 22 Mar 2026 13:16:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47477201</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47477201</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47477201</guid></item><item><title><![CDATA[New comment by cv5005 in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>I'm an embedded programmer who occassionally needs to write various windows programs to interface with embedded devices (usually via serial port or usb), and I find it a breeze to write native gui programs in pure win32 and c++.<p>Recently had to add a new feature to and old program that was last updated in the XP era and two things to note:<p>1. The program did not need to be updated to run on Vista, 7, 10 and 11, shit just kept working throughout the years.<p>2. I loaded the project into Visual Studio 2022, it converted from VC6 and compiled without problems, added the feature, shipped a new .exe to the customer, and it just worked.<p>What other platform has that backwards and forwards compatibility success story?</p>
]]></description><pubDate>Sun, 22 Mar 2026 13:05:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47477098</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47477098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47477098</guid></item><item><title><![CDATA[New comment by cv5005 in "Methods in Languages for Systems Programming (2023)"]]></title><description><![CDATA[
<p>Not a fan of methods.<p>Why should the first argument be so special? And how do you decide which struct should get method if you have a function that operates on two different types?</p>
]]></description><pubDate>Mon, 16 Mar 2026 20:09:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47404199</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47404199</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47404199</guid></item><item><title><![CDATA[New comment by cv5005 in "The Lobster Programming Language"]]></title><description><![CDATA[
<p>Eventually it wont need to write any code at all. The end goal for AI is "The Final Software" - no more software needs to be written, you just tell the AI what you actually want done and it does it, no need for it to generate a program.</p>
]]></description><pubDate>Sun, 08 Mar 2026 13:32:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47297189</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47297189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47297189</guid></item><item><title><![CDATA[New comment by cv5005 in "Best performance of a C++ singleton"]]></title><description><![CDATA[
<p>>Then there's the static initialization order fiasco<p>One of the reasons I hate constructors and destructors.<p>Explicit init()/deinit() functions are much better.</p>
]]></description><pubDate>Sun, 08 Mar 2026 13:21:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47297119</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47297119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47297119</guid></item><item><title><![CDATA[New comment by cv5005 in "Zig – io_uring and Grand Central Dispatch std.Io implementations landed"]]></title><description><![CDATA[
<p>Is it?
rust has to ditch llvm to be able to replace c++ - or rewrite llvm in rust.</p>
]]></description><pubDate>Sat, 14 Feb 2026 22:22:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47018999</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47018999</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47018999</guid></item><item><title><![CDATA[New comment by cv5005 in "How many registers does an x86-64 CPU have? (2020)"]]></title><description><![CDATA[
<p>A good compiler will only do that if the register spilling is more efficient than using more stack varibles, so I don't really see the problem.</p>
]]></description><pubDate>Sat, 14 Feb 2026 16:48:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47015992</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=47015992</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47015992</guid></item><item><title><![CDATA[New comment by cv5005 in "LLMs could be, but shouldn't be compilers"]]></title><description><![CDATA[
<p>Bitwise identical output from a compiler is important for verification to protect against tampering, supply chain attacks, etc.</p>
]]></description><pubDate>Fri, 06 Feb 2026 15:37:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46914125</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=46914125</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46914125</guid></item><item><title><![CDATA[New comment by cv5005 in "We tasked Opus 4.6 using agent teams to build a C Compiler"]]></title><description><![CDATA[
<p>That's because you need to implement a bunch of gcc-specific behavior that linux relies on.
A 100% standards compliant c23 compiler can't compile linux.</p>
]]></description><pubDate>Thu, 05 Feb 2026 20:18:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46904608</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=46904608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46904608</guid></item><item><title><![CDATA[New comment by cv5005 in "Advancing AI Benchmarking with Game Arena"]]></title><description><![CDATA[
<p>My personal threshold for AGI is when an AI can 'sit down' - it doesn't need to have robotic hands, but it needs to only use visual and audio inputs to make its moves - and complete a modern RPG or FPS single player game that it hasn't pre-trained on (it can train on older games).</p>
]]></description><pubDate>Mon, 02 Feb 2026 18:27:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46859389</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=46859389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46859389</guid></item><item><title><![CDATA[New comment by cv5005 in "Aliasing"]]></title><description><![CDATA[
<p>For systems programming the correct way is to have explicit annotations so you can tell the compiler things like:<p><pre><code>    void foo(void *a, void *b, int n) {
        assume_aligned(a, 16);
        assume_stride(a, 16);
        assume_distinct(a, b);
        ... go and vectorize!
    }</code></pre></p>
]]></description><pubDate>Mon, 22 Dec 2025 19:01:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=46357485</link><dc:creator>cv5005</dc:creator><comments>https://news.ycombinator.com/item?id=46357485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46357485</guid></item></channel></rss>