<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: heftig</title><link>https://news.ycombinator.com/user?id=heftig</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Jul 2026 02:03:42 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=heftig" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by heftig in "Dungeon Proof Crawler: learn how to write proofs with RPG"]]></title><description><![CDATA[
<p>I had the exact opposite experience. It doesn't teach the basics needed to even solve the first puzzle. Which language are we even writing in? Clicking help explains what exactly to do but not why, as well as lots of rules with unexplained terminology.</p>
]]></description><pubDate>Sun, 05 Jul 2026 21:34:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48798170</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=48798170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48798170</guid></item><item><title><![CDATA[New comment by heftig in "Google loses fight over record $4.7B EU antitrust fine"]]></title><description><![CDATA[
<p>You mean un-uninstallable crapware? This has at least a technical reason: Preloaded apps are part of the read-only system image and cannot be removed. "Disabling" should be equivalent, though.<p>It's not just preloaded apps, though. A few months ago I prepared a Lenovo tablet for an elderly friend, and if I had just tapped through the OOBE wizard (which presented pages upon pages of optional crapware) without reading, it would have installed 20-30 preselected "popular" apps, mostly games. I had to manually deselect every single one.</p>
]]></description><pubDate>Thu, 02 Jul 2026 15:00:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48762699</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=48762699</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48762699</guid></item><item><title><![CDATA[New comment by heftig in "The Traditional Vi"]]></title><description><![CDATA[
<p>Mobile browsers are assuming you're looking at a legacy page optimized for desktops (widescreen) and have a relatively large virtual screen size by default. They expect you to manually zoom in as necessary. Adding this helps:<p><pre><code>  <meta name="viewport" content="width=640, initial-scale=1">
</code></pre>
This matches the max-width specified by the CSS. However, a smaller viewport width might be appropriate to increase the text size on mobile.</p>
]]></description><pubDate>Tue, 23 Jun 2026 13:38:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48644819</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=48644819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48644819</guid></item><item><title><![CDATA[New comment by heftig in "Dithering with CSS"]]></title><description><![CDATA[
<p>The image gets de-saturated but the noise that's mixed in is colored. This looks like a mistake.<p>I think the noise is also way too 'soft'. At high frequencies it just becomes near-uniform gray so it barely affects the thresholding.</p>
]]></description><pubDate>Fri, 08 May 2026 11:20:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48061549</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=48061549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48061549</guid></item><item><title><![CDATA[New comment by heftig in "Bring Back Idiomatic Design (2023)"]]></title><description><![CDATA[
<p>Firefox on Android can override this via a toggle in the Accessibility settings. Maybe other browsers have something similar?</p>
]]></description><pubDate>Sun, 12 Apr 2026 18:15:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47742640</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=47742640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47742640</guid></item><item><title><![CDATA[New comment by heftig in "4D Doom"]]></title><description><![CDATA[
<p>The perspective shifts so that the up-down direction becomes the hidden dimension. So the ceiling and floor disappear (and you have trouble avoiding lava) and you only see the walls of the space.</p>
]]></description><pubDate>Wed, 01 Apr 2026 11:14:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47599339</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=47599339</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47599339</guid></item><item><title><![CDATA[New comment by heftig in "Ghostty – Terminal Emulator"]]></title><description><![CDATA[
<p>I wish TERM would contain a list of terminal types in decreasing order of specificity, like 'ghostty:xterm-256color', so a system that doesn't know what ghostty is would fall back to xterm-256color, but that ship has sailed long ago.</p>
]]></description><pubDate>Sun, 01 Mar 2026 15:05:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47207358</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=47207358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47207358</guid></item><item><title><![CDATA[New comment by heftig in "Helldivers 2 on-disk size 85% reduction"]]></title><description><![CDATA[
<p>To be clear, walking backwards (away from the target) reduced your bullet velocity relative to the target, reducing the damage you were doing and leading to you needing more shots.</p>
]]></description><pubDate>Thu, 11 Dec 2025 16:16:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46233258</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=46233258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46233258</guid></item><item><title><![CDATA[New comment by heftig in "Helldivers 2 on-disk size 85% reduction"]]></title><description><![CDATA[
<p>The bad tutorial at least has some narrative justification. It's just a filter for people who are already useful as shock troops with minimal training.</p>
]]></description><pubDate>Thu, 11 Dec 2025 15:12:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46232362</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=46232362</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46232362</guid></item><item><title><![CDATA[New comment by heftig in "Helldivers 2 on-disk size 85% reduction"]]></title><description><![CDATA[
<p>The only wrong thing I've been throwing is the SOS Beacon instead of a Reinforce, which is just annoying, and not just once. It makes the game public if it was friends-only and gives it priority in the quick play queue. So that can't be it.<p>The dialing adds friction to tense situations, which is okay as a mechanic.</p>
]]></description><pubDate>Thu, 11 Dec 2025 15:02:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46232226</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=46232226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46232226</guid></item><item><title><![CDATA[New comment by heftig in "Helldivers 2 on-disk size 85% reduction"]]></title><description><![CDATA[
<p>The game logic is also weird. It seems like they started with at attempt at a realistic combat simulator which then had lots of unrealistic mechanics added on top in an attempt to wrangle it into an enjoyable game.<p>As an example for overly realistic physics, projectile damage is affected by projectile velocity, which is affected by weapon velocity. IIRC, at some point whether you were able to destroy some target in two shots of a Quasar Cannon or three shots depended on if you were walking backwards while you were firing, or not.</p>
]]></description><pubDate>Thu, 11 Dec 2025 14:55:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46232120</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=46232120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46232120</guid></item><item><title><![CDATA[New comment by heftig in "Building the Rust Compiler with GCC"]]></title><description><![CDATA[
<p>Which codegen backend the building compiler uses is independent of which codegen backend(s) the built compiler uses.<p>Similarly, you can build Clang using itself or using GCC. The resulting compiler should behave the same and produce the same machine code, even if its own machine code is somewhat different.<p>The produced binaries could still have artifacts from the original compiler in them, e.g. if "compiler built-in" libraries or standard libraries were compiled with the original compiler.<p>Both GCC and rustc use a multi-stage build process where the new compiler builds itself again, so you reach an idempotent state where no artifacts from the original compiler are left.</p>
]]></description><pubDate>Mon, 07 Jul 2025 08:37:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=44488053</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=44488053</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44488053</guid></item><item><title><![CDATA[New comment by heftig in "BusyBeaver(6) Is Quite Large"]]></title><description><![CDATA[
<p>The "about" does a lot of heavy lifting in this example. Dividing 10,000,000_10 by the number of grains that fit into one universe doesn't change it much. The 10,000,000 would get smaller somewhere in the deep depths of the decimal fraction.</p>
]]></description><pubDate>Sat, 28 Jun 2025 19:33:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44407484</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=44407484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44407484</guid></item><item><title><![CDATA[New comment by heftig in "Mozilla Firefox – Official GitHub repo"]]></title><description><![CDATA[
<p>Different access rules, I guess. Or maybe they wanted some separation from the existing org so the custom automation has no chance of doing collateral damage.</p>
]]></description><pubDate>Tue, 13 May 2025 14:04:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=43973110</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=43973110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43973110</guid></item><item><title><![CDATA[New comment by heftig in "MinC Is Not Cygwin"]]></title><description><![CDATA[
<p>MSYS2 is basically Cygwin with Pacman for package management, plus several other environments with either GCC or Clang and different Windows-Native C and C++ runtimes.<p>It's nice, but not perfect. It inherits a lot of problems from Cygwin. File access is still slow (as mentioned in other threads) and symlinks don't behave right (by default making a symlink creates a deep copy of the target, and even NTFS symlinks need to know whether the target is a file or a directory; either way you cannot create a symlink when the target is missing, and this causes rsync to fail, for example.)<p>MSYS2's strength is as an environment for compiling cross-platform apps for Windows, and I would recommend WSL2 for anything else.</p>
]]></description><pubDate>Wed, 23 Apr 2025 14:39:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=43772755</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=43772755</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43772755</guid></item><item><title><![CDATA[New comment by heftig in "MinC Is Not Cygwin"]]></title><description><![CDATA[
<p>Pretty much. AFAIK you're waiting for Windows Defender and other hooks to run.</p>
]]></description><pubDate>Wed, 23 Apr 2025 14:21:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=43772570</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=43772570</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43772570</guid></item><item><title><![CDATA[New comment by heftig in "Stupid Smart Pointers in C"]]></title><description><![CDATA[
<p>I think the implication was that they're pointers to objects that own resources (like containing FILE handles) and need to be "freed" with a custom function, not just "free".<p><pre><code>    void my_thing_free(MyThing *thing) {
        fclose(thing->file);
        free(thing);
    }
</code></pre>
assuming an associated "my_thing_new" that only returns a valid pointer when both the allocation and the fopen succeeded.</p>
]]></description><pubDate>Tue, 18 Mar 2025 12:51:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43398823</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=43398823</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43398823</guid></item><item><title><![CDATA[New comment by heftig in "Ntfs2btrfs does in-place conversion of NTFS filesystem to the open-source Btrfs"]]></title><description><![CDATA[
<p>No, it also covers the data. As long as you don't delete the rollback subvolume, all the original data should still be there, uncorrupted.<p>Even if you disable copy-on-write, as long as the rollback subvolume is there to lay claim to the old data, it's considered immutable and any modification will still have to copy it.</p>
]]></description><pubDate>Sat, 30 Nov 2024 23:52:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=42284951</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=42284951</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42284951</guid></item><item><title><![CDATA[New comment by heftig in "SQLite does not do checksums"]]></title><description><![CDATA[
<p>All of it. With a checksums-of-checksums scheme like a Merkele tree, you can effectively and efficiently checksum all the data and keep incremental changes cheap. You only need to update the checksums of the data blocks you touched and their ancestor nodes in the tree.</p>
]]></description><pubDate>Sat, 09 Nov 2024 15:44:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=42094995</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=42094995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42094995</guid></item><item><title><![CDATA[New comment by heftig in "Functional ultrasound through the skull"]]></title><description><![CDATA[
<p>When people "donate their body to science", they don't usually expect their parts getting sold to the public. But that's the reality of it.</p>
]]></description><pubDate>Fri, 08 Nov 2024 00:59:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=42083019</link><dc:creator>heftig</dc:creator><comments>https://news.ycombinator.com/item?id=42083019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42083019</guid></item></channel></rss>