<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: jart</title><link>https://news.ycombinator.com/user?id=jart</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 03:03:20 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jart" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jart in "When can the C++ compiler devirtualize a call?"]]></title><description><![CDATA[
<p><a href="https://justine.lol/tmp/your-opinion-has-this-much-value.gif" rel="nofollow">https://justine.lol/tmp/your-opinion-has-this-much-value.gif</a></p>
]]></description><pubDate>Sat, 30 May 2026 16:52:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48338289</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48338289</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48338289</guid></item><item><title><![CDATA[Social Animus]]></title><description><![CDATA[
<p>Article URL: <a href="https://justine.lol/animus/">https://justine.lol/animus/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48314875">https://news.ycombinator.com/item?id=48314875</a></p>
<p>Points: 129</p>
<p># Comments: 112</p>
]]></description><pubDate>Thu, 28 May 2026 20:20:17 +0000</pubDate><link>https://justine.lol/animus/</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48314875</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48314875</guid></item><item><title><![CDATA[New comment by jart in "Everything in C is undefined behavior"]]></title><description><![CDATA[
<p>It's honestly not that difficult to be rigorous. The things you mentioned in the blog post are pretty obvious forms of degenerate practices once you get used to seeing them. The best way to make your argument would be to bring up pointer overflow being ub. What's great about undefined behavior is that the C language doesn't require you to care. You can play fast and loose as much as you want. You can even use implicit types and yolo your app, writing C that more closely resembles JavaScript, just like how traditional k&r c devs did back in the day under an ilp32 model. Then you add the rigor later if you care about it. For most stuff, like an experiment, we obviously don't care, but when I do, I can usually one shot a file without any UB (which I check by reading the assembly output after building it with UBSAN) except there's just one thing that I usually can't eliminate, which is the compiler generating code that checks for pointer overflow. Because that's just such a ridiculous concept on modern machines which have a 56 bit address space. Maybe it mattered when coding for platforms like i8086. I've seen almost no code that cares about this. I have to sometimes, in my C library. It's important that functions like memchr() for example don't say `for (char *p = data, *e = data + size; p<e; ...` and instead say `for (size_t i = 0; i < n; ++i) ...data[i]...`. But these are just the skills you get with mastery, which is what makes it fun. Oh speaking of which, another fun thing everyone misses is the pitfalls of vectorization. You have to venture off into UB land in order to get better performance. But readahead can get you into trouble if you're trying to scan something like a string that's at the end of a memory page, where the subsequent page isn't mapped. My other favorite thing is designing code in such a way that the stack frame of any given function never exceeds 4096 bytes, and using alloca in a bounded way that pokes pages if it must be exceeded. If you want to have a fun time experiencing why the trickiness of UB rules are the way they are, try writing your own malloc() function that uses shorts and having it be on the stack, so you can have dynamic memory in a signal handler.</p>
]]></description><pubDate>Wed, 20 May 2026 10:23:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48205545</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48205545</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48205545</guid></item><item><title><![CDATA[New comment by jart in "We stopped AI bot spam in our GitHub repo using Git's –author flag"]]></title><description><![CDATA[
<p>So my mission critical infrastructure depends on a group whose bar for entry is having a proton mail account.<p>I bet they claimed to be protecting trans people to get that policy changed too.</p>
]]></description><pubDate>Tue, 19 May 2026 16:27:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48195517</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48195517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48195517</guid></item><item><title><![CDATA[New comment by jart in "When can the C++ compiler devirtualize a call?"]]></title><description><![CDATA[
<p>The compiler is still able to devirtualize and inline the p->f() call, even with an external linkage call preceding it. <a href="https://clang.godbolt.org/z/jE3o56ozz" rel="nofollow">https://clang.godbolt.org/z/jE3o56ozz</a></p>
]]></description><pubDate>Tue, 19 May 2026 05:30:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48189560</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48189560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48189560</guid></item><item><title><![CDATA[New comment by jart in "We stopped AI bot spam in our GitHub repo using Git's –author flag"]]></title><description><![CDATA[
<p>I know, right? It's like, finally—a threat actor who's intelligent enough to understand what capital means in the open source community and is willing to devote resources to engage with it authentically (even if it's for evil nefarious ends). The xz incident showed that the open source community has many other good defense mechanisms for verifying and spotting malicious work and then solving it. But we won't even get to play that game if we're inundated with anonymous agent spam so that GitHub can juice its MAU numbers. Maybe they should require every account buy a $40 yubikey. I don't know what the answer is. But I know that no one gains when your measure of success is driving the cost of burning open source developers out down to literally zero.</p>
]]></description><pubDate>Tue, 19 May 2026 04:07:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48189050</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48189050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48189050</guid></item><item><title><![CDATA[New comment by jart in "We stopped AI bot spam in our GitHub repo using Git's –author flag"]]></title><description><![CDATA[
<p>This is great example of the toxic effect money has on open source. Reward people with respect and recognition instead. Weird anonymous accounts no one's ever heard of will leave, because someone (or something) who's concealing their identity has nothing to gain from recognition. Honestly GitHub should have a real names policy. Because if you're not Satoshi Nakamoto then there's only three reasons I can think of to be anonymous on GitHub: (1) to avoid obtaining your employer's authorization, (2) to spam, harass, and engage in toxic behaviors, or (3) you're not even human. All three of these are the last things I want when engaging on the GitHub platform. Don't get me wrong, I love robots. But I'm perfectly capable of talking to the robot on my own. I don't want to talk to your robot. I also don't want people slipping me intellectual property below the board without their employer's consent. And I certainly don't enjoy all the hate and harassment. GitHub has tried to help with the last part, by making overt displays of hate something that can get you in trouble. The issue is that people just get more guilesome with more anonymous accounts, because the issue was never disrespect (which can actually be strategic and pro-social if we look at Torvalds' career), but rather bad faith participation. If GitHub can guarantee that all its users are human real names good faith actors, then we might be able to start talking about open bounties.</p>
]]></description><pubDate>Mon, 18 May 2026 17:09:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48182378</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48182378</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48182378</guid></item><item><title><![CDATA[New comment by jart in "What's in a GGUF, besides the weights – and what's still missing?"]]></title><description><![CDATA[
<p>I only wrote that text file a few weeks ago. Also isn't stealing code what open source is all about?<p>If only you could see how much code I've stolen from Rich Felker, David Gay, Sun Microsystems, etc.</p>
]]></description><pubDate>Mon, 18 May 2026 04:01:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48175437</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48175437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48175437</guid></item><item><title><![CDATA[New comment by jart in "What's in a GGUF, besides the weights – and what's still missing?"]]></title><description><![CDATA[
<p>Have you ever read my side of the story? <a href="https://justine.lol/dox/4chan.txt" rel="nofollow">https://justine.lol/dox/4chan.txt</a></p>
]]></description><pubDate>Sat, 16 May 2026 08:35:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48158133</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48158133</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48158133</guid></item><item><title><![CDATA[New comment by jart in "Medicare's new payment model is built for AI. Most of the tech world has no idea"]]></title><description><![CDATA[
<p>I'm not sure you understand how the Internet works. I'm here to share thoughts, not to prove I'm smarter than people.</p>
]]></description><pubDate>Thu, 14 May 2026 16:52:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48137964</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48137964</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48137964</guid></item><item><title><![CDATA[New comment by jart in "Making the news available at no cost is a victory"]]></title><description><![CDATA[
<p>They're funded by patronage. It's the most ancient economical model.</p>
]]></description><pubDate>Thu, 14 May 2026 03:17:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48130705</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48130705</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48130705</guid></item><item><title><![CDATA[New comment by jart in "Medicare's new payment model is built for AI. Most of the tech world has no idea"]]></title><description><![CDATA[
<p>There are a million doctors in the U.S. so if they're each seeing 60 patients per day that would mean that 17% of the population needs to be seen by a doctor daily.<p>That would put hospitals somewhere between churches and offices in terms of the impact they have attracting attendance.</p>
]]></description><pubDate>Thu, 14 May 2026 02:44:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48130513</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48130513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48130513</guid></item><item><title><![CDATA[New comment by jart in "Docker images are hundreds of MB; a full game engine compiles to 35MB WASM"]]></title><description><![CDATA[
<p>Oscar Toledo did it in 510 bytes <a href="https://github.com/nanochess/cubicDoom" rel="nofollow">https://github.com/nanochess/cubicDoom</a></p>
]]></description><pubDate>Wed, 13 May 2026 03:21:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48117387</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48117387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48117387</guid></item><item><title><![CDATA[New comment by jart in "Cartoon Network Flash Games"]]></title><description><![CDATA[
<p>Firefox is the best. While Google tries to regulate the ad industry, Mozilla is working to safeguard our freedom to refuse.</p>
]]></description><pubDate>Sun, 10 May 2026 04:35:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48081037</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48081037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48081037</guid></item><item><title><![CDATA[New comment by jart in "Cartoon Network Flash Games"]]></title><description><![CDATA[
<p>Do you have an adblocker? First thing this website did was try to get me to install a chrome extension.</p>
]]></description><pubDate>Sat, 09 May 2026 19:38:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48077594</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=48077594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48077594</guid></item><item><title><![CDATA[New comment by jart in "The Zig project's rationale for their anti-AI contribution policy"]]></title><description><![CDATA[
<p>Anthropic will probably do what Google did in the 2000s, which is give jobs to all the open source developers whose work helped them get there.<p>Civilization isn't monotonic. People keep solving the same problems over and over again, telling the same stories with a different twist. For example in 1964 having a GUI work environment with a light pen as your mouse was a solved problem on IBM System/360. They had tools similar to CAD. So why don't we all just use that rather than make the same mistakes again. Each time a new way of doing things comes out, people get an opportunity to rewrite everything.</p>
]]></description><pubDate>Thu, 30 Apr 2026 07:01:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47959145</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=47959145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47959145</guid></item><item><title><![CDATA[New comment by jart in "The Zig project's rationale for their anti-AI contribution policy"]]></title><description><![CDATA[
<p>You have to push the robot to be as fanatical as you are. It holds so much back, always aiming to do the simple normal thing that most people do, rather than the top-notch stuff it knows.</p>
]]></description><pubDate>Thu, 30 Apr 2026 06:50:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47959072</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=47959072</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47959072</guid></item><item><title><![CDATA[New comment by jart in "The Zig project's rationale for their anti-AI contribution policy"]]></title><description><![CDATA[
<p>So you're both saying all the alpha in Claude comes from open source devs like me? Even when I'm wrong I'm right.</p>
]]></description><pubDate>Thu, 30 Apr 2026 06:32:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47958957</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=47958957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47958957</guid></item><item><title><![CDATA[New comment by jart in "The Zig project's rationale for their anti-AI contribution policy"]]></title><description><![CDATA[
<p>I value software that reveals knowledge. The frontier LLMs were trained on all the code that institutions had been keeping to themselves. So they're revealing programing know-how on a scale that just wasn't possible with open source. LLMs are the ultimate Prometheus. Information is more accessible and useful now than it's ever been.</p>
]]></description><pubDate>Thu, 30 Apr 2026 05:18:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47958444</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=47958444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47958444</guid></item><item><title><![CDATA[New comment by jart in "The Zig project's rationale for their anti-AI contribution policy"]]></title><description><![CDATA[
<p>> This makes a lot of sense to me. It relates to an idea I've seen circulating elsewhere: if a PR was mostly written by an LLM, why should a project maintainer spend time reviewing and discussing that PR as opposed to firing up their own LLM to solve the same problem?<p>The same argument applies to open source itself. Why use someone's project when you can just have the robot write your own? It's especially true if the open source project was vibe coded. AI and technology in general makes personalization cheap and affordable. Whereas earlier you had to use something that was mass produced to be satisfactory for everyone, now you have the hope of getting something that's outstanding for just you. It also stimulates the labor economy, because you have lots of people everywhere reinventing open source projects with their LLMs.</p>
]]></description><pubDate>Thu, 30 Apr 2026 04:02:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47957947</link><dc:creator>jart</dc:creator><comments>https://news.ycombinator.com/item?id=47957947</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47957947</guid></item></channel></rss>