<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: bvrmn</title><link>https://news.ycombinator.com/user?id=bvrmn</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 18 Aug 2026 19:23:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=bvrmn" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by bvrmn in "How Compaction Works in Pi"]]></title><description><![CDATA[
<p>Shameless plug (link to the repo) of your extension :)</p>
]]></description><pubDate>Fri, 14 Aug 2026 21:35:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=49304871</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=49304871</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49304871</guid></item><item><title><![CDATA[New comment by bvrmn in "How Compaction Works in Pi"]]></title><description><![CDATA[
<p>People nowdays have no shame and completely forget the art of plug.</p>
]]></description><pubDate>Fri, 14 Aug 2026 10:26:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49296828</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=49296828</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49296828</guid></item><item><title><![CDATA[New comment by bvrmn in "Humanising LLM Outputs Is Dumb"]]></title><description><![CDATA[
<p>It's by LLMs definition, duh. You are dummy charmed by "reasoning".</p>
]]></description><pubDate>Tue, 11 Aug 2026 07:28:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49254554</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=49254554</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49254554</guid></item><item><title><![CDATA[New comment by bvrmn in "Are AI labs pelicanmaxxing?"]]></title><description><![CDATA[
<p>it's quite interesting scoring and conclusions. For me Gemini renders are definitely top outliers for all combinations.</p>
]]></description><pubDate>Thu, 23 Jul 2026 06:09:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=49017507</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=49017507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49017507</guid></item><item><title><![CDATA[New comment by bvrmn in "Ternlight – 7 MB embedding model that runs in browser (WASM)"]]></title><description><![CDATA[
<p>Demo works quite strangely. For example "how to use typescript with createContext" show only typescript entries on top. Similarity search failed.</p>
]]></description><pubDate>Tue, 07 Jul 2026 13:21:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48817414</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=48817414</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48817414</guid></item><item><title><![CDATA[New comment by bvrmn in "Excessive nil pointer checks in Go"]]></title><description><![CDATA[
<p>Nice one. gcc/clang are smart enough to get .ok condition statically. I'm very curios how complex an expression could be.</p>
]]></description><pubDate>Tue, 23 Jun 2026 17:35:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48648430</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=48648430</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48648430</guid></item><item><title><![CDATA[New comment by bvrmn in "Excessive nil pointer checks in Go"]]></title><description><![CDATA[
<p>That's the reason language/compiler should directly support optionality.<p>You can't fool yourself and have to handle all cases: <a href="https://godbolt.org/z/4GqMdPej3" rel="nofollow">https://godbolt.org/z/4GqMdPej3</a></p>
]]></description><pubDate>Mon, 22 Jun 2026 11:04:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48628558</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=48628558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48628558</guid></item><item><title><![CDATA[New comment by bvrmn in "Excessive nil pointer checks in Go"]]></title><description><![CDATA[
<p>I like maybe_value dereferences NULL with SIGILL and you have at least a backtrace with exact invalid access position.</p>
]]></description><pubDate>Mon, 22 Jun 2026 00:14:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48623961</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=48623961</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48623961</guid></item><item><title><![CDATA[New comment by bvrmn in "Excessive nil pointer checks in Go"]]></title><description><![CDATA[
<p>Yes it is.<p>1) Most of pointers in real apps are non-nullable and it's nice to have enforcement from a compiler.<p>2) Good compilers verify you actually check nullable (optional) values have a corresponding check. In particular Zig literally forces you to unwrap value, so no unexpected state.<p>It's a really amazing QoL.<p>And no, optionality doesn't make type system any harder. Also C lacks alignment enforcement on type level and it's a real footgun which Zig also fixed. Zig has many warts but this part (optionality, alignment and slices) makes a big difference comparing to C without Rust/C++ level of type acrobatics.<p>> I also once believe that complex type systems are the answer, but over time I realized this is not really true.<p>It's suboptimal decision, you load your brain with stuff compiler should resolve for you.<p>Edit: ahah, just noticed your nick. Really appreciate your work on C improvements. Please ignore my yapping :) I literally know nothing comparing to you.</p>
]]></description><pubDate>Sun, 21 Jun 2026 22:49:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48623396</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=48623396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48623396</guid></item><item><title><![CDATA[New comment by bvrmn in "Excessive nil pointer checks in Go"]]></title><description><![CDATA[
<p>It's quite a delusional take from Bill. Wow. Using non-nullable (a sane language default) pointers in Zig is liberating experience. And it's still as low level as in C but instead of ship-and-pray you could state your intention with a type system.</p>
]]></description><pubDate>Sun, 21 Jun 2026 11:55:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48618131</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=48618131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48618131</guid></item><item><title><![CDATA[New comment by bvrmn in "Linux eliminates the strncpy API after six years of work, 360 patches"]]></title><description><![CDATA[
<p>NULL as a concept is fine. Inability to declare something as non-null is not.<p>There is a huge gap between developer expectation "it's pointing at something known" and hard reality confirmed by zillions of CVE. That's the reason optionality is prevalent in modern languages and type checkers (python, typescript), nowdays even Java has sane non-nullable types.</p>
]]></description><pubDate>Sat, 20 Jun 2026 23:50:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48614241</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=48614241</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48614241</guid></item><item><title><![CDATA[New comment by bvrmn in "Every Frame Perfect"]]></title><description><![CDATA[
<p>I'm a happy user of android with animations turned off. It's the only mean to make it somewhat "snappy". IMHO lag is always worse than lack of fancy transient state in input -> UI change context.</p>
]]></description><pubDate>Sat, 13 Jun 2026 16:29:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48518804</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=48518804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48518804</guid></item><item><title><![CDATA[New comment by bvrmn in "Everything in C is undefined behavior"]]></title><description><![CDATA[
<p>I really like Zig's approach to UB. Especially alignment is a part of type. And all this wordy builtins for conversions. Starring to it makes you think what you doing wrong with data model it requires now 3 lines of casting expression.</p>
]]></description><pubDate>Wed, 20 May 2026 09:16:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48205080</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=48205080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48205080</guid></item><item><title><![CDATA[New comment by bvrmn in "Modern C++ Programming: Busato"]]></title><description><![CDATA[
<p>Another book tactically missing memory and ownership design for modern c++ apps.
I think there is no more important topic for teaching. There are some slides in advanced sections but it's quite ironic one needs to know about it from the start!! Who owns memory? How to pass it? Move? Borrow? How to communicate it for readers? It's like a tribal knowledge.<p>Every time I touch enterprise C++ codebase it's a freakshow heavily struggling with memory management.<p>As reference the material could be good, as study it's very questionable.</p>
]]></description><pubDate>Sat, 02 May 2026 22:49:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47991382</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=47991382</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47991382</guid></item><item><title><![CDATA[New comment by bvrmn in "The Zig project's rationale for their anti-AI contribution policy"]]></title><description><![CDATA[
<p>Just in case, I'm completely fine with the policy as-is. Even more, I'm ok with making no-sense project policies. I have no business to judge how to govern other's projects.</p>
]]></description><pubDate>Thu, 30 Apr 2026 17:03:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47965356</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=47965356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47965356</guid></item><item><title><![CDATA[New comment by bvrmn in "The Zig project's rationale for their anti-AI contribution policy"]]></title><description><![CDATA[
<p>I've assessed half a dozen before writing my own with following results:<p><pre><code>    - 2 are python resource hog
    - 2 from AUR don't compile with modern GCC.
    - 1 uses gtk battery icon, but uses dark version on dark taskbar, unreadable.
    - 1 shows just black square.
</code></pre>
Like I spent more time on assessment than I got a first working my tray. Amazing times.</p>
]]></description><pubDate>Thu, 30 Apr 2026 17:00:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47965317</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=47965317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47965317</guid></item><item><title><![CDATA[New comment by bvrmn in "The Zig project's rationale for their anti-AI contribution policy"]]></title><description><![CDATA[
<p>The funny thing LLM's are amazingly good with writing in Zig. They could inspect  stdlib source code to fix compatibility issues with newer compilers and quite prolific with idioms.<p>For example I got a working application with minimal prompt like "I need an X11 tray icon app showing battery charge level". BTW result: <a href="https://github.com/baverman/battray/" rel="nofollow">https://github.com/baverman/battray/</a><p>Now I'm trying to implement a full taskbar to replace bmpanel2. Results are very positive. I've got feature parity app in 1h with solid zig code.</p>
]]></description><pubDate>Thu, 30 Apr 2026 11:17:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47960841</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=47960841</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47960841</guid></item><item><title><![CDATA[New comment by bvrmn in "CadQuery is an open-source Python library for building 3D CAD models"]]></title><description><![CDATA[
<p>Oh boy. The major difference is coordinate transformations, global/local/face. OpenScad basically leaves you alone with math you should figure out on your own. Also it's math heavy for all other stuff, for example tangents, smooth connections, intersection coordinates, etc.</p>
]]></description><pubDate>Fri, 17 Apr 2026 12:46:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47805345</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=47805345</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47805345</guid></item><item><title><![CDATA[New comment by bvrmn in "5NF and Database Design"]]></title><description><![CDATA[
<p>For me NF>3 seems like an implicit encoding of underlying data logic. They impose additional restrictions (usually contrived and artificial, break really fast in real life) on data not directly expressed as data tuples. Because of that they are hard to explain, natural reaction: "why you just don't store data?".</p>
]]></description><pubDate>Wed, 15 Apr 2026 11:43:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47777752</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=47777752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47777752</guid></item><item><title><![CDATA[New comment by bvrmn in "Build123d: A Python CAD programming library"]]></title><description><![CDATA[
<p>Shameless plug: <a href="https://github.com/baverman/build123d_draft" rel="nofollow">https://github.com/baverman/build123d_draft</a><p>Experimental extension to make code-cadding as terse as possible.</p>
]]></description><pubDate>Tue, 31 Mar 2026 11:16:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47585692</link><dc:creator>bvrmn</dc:creator><comments>https://news.ycombinator.com/item?id=47585692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47585692</guid></item></channel></rss>