<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: uecker</title><link>https://news.ycombinator.com/user?id=uecker</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 19 Oct 2026 07:37:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=uecker" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by uecker in "Fun Extending the C Preprocessor"]]></title><description><![CDATA[
<p>Also the position in the original source code is tracked.<p>In fact, this enhancement should be doable. Please file a bug. But the answer why something is not done in a C compiler is usually: Nobody did substantial investments on it in the last two decades. So if you want to see improvements, usually one has to submit a patch.</p>
]]></description><pubDate>Mon, 19 Oct 2026 05:48:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=50148813</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50148813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50148813</guid></item><item><title><![CDATA[New comment by uecker in "Fun Extending the C Preprocessor"]]></title><description><![CDATA[
<p>Hey, I agree about your second sentence but I do not really see the first. Alone that I can directly inspect the result of the preprocessor makes macros easier to debug than templates in my experience.</p>
]]></description><pubDate>Sun, 18 Oct 2026 18:16:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=50143767</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50143767</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50143767</guid></item><item><title><![CDATA[New comment by uecker in "Fun Extending the C Preprocessor"]]></title><description><![CDATA[
<p>I am not sure. I agree one should minimize macros in C, but for some things a small macro layer still beats the complexity of C++ and is not inferior in my opinion.</p>
]]></description><pubDate>Sun, 18 Oct 2026 16:23:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=50142477</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50142477</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50142477</guid></item><item><title><![CDATA[New comment by uecker in "Fun Extending the C Preprocessor"]]></title><description><![CDATA[
<p>And for generic data structures one can also a very thin layer of macros around type-erased implementations.</p>
]]></description><pubDate>Sun, 18 Oct 2026 16:19:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=50142434</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50142434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50142434</guid></item><item><title><![CDATA[New comment by uecker in "Solar surpasses nuclear power globally for first time"]]></title><description><![CDATA[
<p>They will have to get recycled at some point.</p>
]]></description><pubDate>Sun, 18 Oct 2026 16:01:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=50142242</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50142242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50142242</guid></item><item><title><![CDATA[New comment by uecker in "Germany's 17M Immigrants: Where They Come From"]]></title><description><![CDATA[
<p>The history of the US would imply otherwise.  In any case, Germany definitely needs immigration for economic reasons as the population is aging.</p>
]]></description><pubDate>Sun, 18 Oct 2026 15:56:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=50142201</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50142201</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50142201</guid></item><item><title><![CDATA[New comment by uecker in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>Perhaps the LLM can infer enough context from one function.</p>
]]></description><pubDate>Sun, 18 Oct 2026 12:18:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=50140434</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50140434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50140434</guid></item><item><title><![CDATA[New comment by uecker in "Solar surpasses nuclear power globally for first time"]]></title><description><![CDATA[
<p>In the EU solar panels old have to be taken back by the vendor for recycling (as all electronic waste).</p>
]]></description><pubDate>Sun, 18 Oct 2026 08:22:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=50139082</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50139082</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50139082</guid></item><item><title><![CDATA[New comment by uecker in "Solar surpasses nuclear power globally for first time"]]></title><description><![CDATA[
<p>Yes, and this is true already without adding all societal costs up, which is why there is not much investement in nuclear.<p>Also one correction: It was Germany that get the wheels rolling regarding renewables, although China then took over.</p>
]]></description><pubDate>Sun, 18 Oct 2026 08:10:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=50139016</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50139016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50139016</guid></item><item><title><![CDATA[New comment by uecker in "C, Type Systems, GLib, and API Design"]]></title><description><![CDATA[
<p>BSD's generic macros are certainly older than C99 and I would not call this "a lot more effort". My macros are exploring a modern version of this, but people have been doing this for decades.</p>
]]></description><pubDate>Sat, 17 Oct 2026 13:07:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=50130834</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50130834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50130834</guid></item><item><title><![CDATA[New comment by uecker in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>Compilers would just ignore the annex and whoever wants to implement it, can already do this.  And I also think ACSL is too complex for what is needed and also not well integrated with the rest of the language.</p>
]]></description><pubDate>Sat, 17 Oct 2026 10:48:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=50129878</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50129878</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50129878</guid></item><item><title><![CDATA[New comment by uecker in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>You may think about this blog post from John Regehr about Fermat's Last Theorem: <a href="https://blog.regehr.org/archives/140" rel="nofollow">https://blog.regehr.org/archives/140</a></p>
]]></description><pubDate>Sat, 17 Oct 2026 08:23:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=50129053</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50129053</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50129053</guid></item><item><title><![CDATA[New comment by uecker in "Your C is not standard C"]]></title><description><![CDATA[
<p>Ah right, they had improved that. Btw: Everbody can submit proposals to WG14.</p>
]]></description><pubDate>Sat, 17 Oct 2026 08:08:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=50128989</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50128989</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50128989</guid></item><item><title><![CDATA[Uninitialized Variables: An Example of Silent Miscompilation]]></title><description><![CDATA[
<p>Article URL: <a href="https://uecker.codeberg.page/2026-10-17.html">https://uecker.codeberg.page/2026-10-17.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=50128709">https://news.ycombinator.com/item?id=50128709</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 17 Oct 2026 07:12:02 +0000</pubDate><link>https://uecker.codeberg.page/2026-10-17.html</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50128709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50128709</guid></item><item><title><![CDATA[New comment by uecker in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>The classification can not be done on the function level. There are two ways, either this is done using AI or using a SAT solver.</p>
]]></description><pubDate>Sat, 17 Oct 2026 04:51:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=50128052</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50128052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50128052</guid></item><item><title><![CDATA[New comment by uecker in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>They globally derive the borrowing information for all pointers in the whole program by classifying the role of each pointer.  If there is a way to do this in a way that makes the program safe, this is computed automatically using a SAT solver.</p>
]]></description><pubDate>Fri, 16 Oct 2026 18:39:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=50122522</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50122522</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50122522</guid></item><item><title><![CDATA[New comment by uecker in "Big Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSD"]]></title><description><![CDATA[
<p>No language is safe, but I assume you mean memory safety in particular. Alternatives are to formally verify the C code to be memory safe or to add some memory safety features to C. Both certainly simpler and cheaper than rewriting everything.<p>Whether memory safety is really that important is also not clear. Most people get hacked because they run old software or insecure configurations. So a language such as Rust which creates more supply chain risks seems problematic.</p>
]]></description><pubDate>Fri, 16 Oct 2026 18:19:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=50122226</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50122226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50122226</guid></item><item><title><![CDATA[New comment by uecker in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>It is interprocedural, but one obviously needs annotations for interfaces to libraries that are linked-in.<p>One example of a project wich goes in this direction is this work:
<a href="https://www.sei.cmu.edu/projects/ai-powered-memory-safety-for-c-applications/" rel="nofollow">https://www.sei.cmu.edu/projects/ai-powered-memory-safety-fo...</a><p>(I assume the AI is mostly marketing as it is not necessary)</p>
]]></description><pubDate>Fri, 16 Oct 2026 06:00:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=50114636</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50114636</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50114636</guid></item><item><title><![CDATA[New comment by uecker in "Your C is not standard C"]]></title><description><![CDATA[
<p>The problem is that this is different from C++, so probably we can not do the reasonable thing because it makes the "it must be exactly like C++" people upset.</p>
]]></description><pubDate>Fri, 16 Oct 2026 02:08:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=50112995</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50112995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50112995</guid></item><item><title><![CDATA[New comment by uecker in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>I don't know yet. My current expectation from what I have seen is that lifetime analysis can be done fully automatic for most C code as long as it can be done independently from other program state, i.e. the checker has to reason only about the state of pointers and not also simultaneously about all other variables. I have seen quite promising work on this.</p>
]]></description><pubDate>Fri, 16 Oct 2026 01:51:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=50112831</link><dc:creator>uecker</dc:creator><comments>https://news.ycombinator.com/item?id=50112831</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50112831</guid></item></channel></rss>