<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: nulltrace</title><link>https://news.ycombinator.com/user?id=nulltrace</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 07 Oct 2026 00:59:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nulltrace" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by nulltrace in "Benchmark in Milliseconds"]]></title><description><![CDATA[
<p>Looping works,  though reusing the same small buffer mostly measures  hot-cache performance.</p>
]]></description><pubDate>Tue, 06 Oct 2026 21:43:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=49984549</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=49984549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49984549</guid></item><item><title><![CDATA[New comment by nulltrace in "Small programming tricks"]]></title><description><![CDATA[
<p>No. Node's built-in fetch uses Undici. The custom hook is dispatcher, with an Undici-compatible dispatcher: fetch(url, { dispatcher })</p>
]]></description><pubDate>Wed, 16 Sep 2026 23:25:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=49734413</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=49734413</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49734413</guid></item><item><title><![CDATA[New comment by nulltrace in "Proof of Capture: Apple Reference Image, but open source and using steganography"]]></title><description><![CDATA[
<p>Soon my phone can cryptographically prove the beauty filter lied at capture time.</p>
]]></description><pubDate>Thu, 10 Sep 2026 22:52:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=49651211</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=49651211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49651211</guid></item><item><title><![CDATA[New comment by nulltrace in "Trusting-Trust Attack against an Entire Linux Distribution"]]></title><description><![CDATA[
<p>Rebuilding strip from clean source doesn't clear it. The copy in the bootstrap seed modifies its replacement, and the replacement carries on from there. The provenance can still look normal.</p>
]]></description><pubDate>Mon, 07 Sep 2026 22:46:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=49603836</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=49603836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49603836</guid></item><item><title><![CDATA[New comment by nulltrace in "Sort branches by last commit date"]]></title><description><![CDATA[
<p>Rebase an old branch and it suddenly looks recent again. The rewritten tip gets a fresh committer date.</p>
]]></description><pubDate>Sun, 30 Aug 2026 22:55:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=49503650</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=49503650</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49503650</guid></item><item><title><![CDATA[New comment by nulltrace in "Mojo is now open source"]]></title><description><![CDATA[
<p>Anything in our stack is modern C++ if we can help it. If Mojo can replace those kernels without the Python runtime sitting underneath, even better.</p>
]]></description><pubDate>Thu, 20 Aug 2026 23:22:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=49381631</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=49381631</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49381631</guid></item><item><title><![CDATA[New comment by nulltrace in "Perfection is not over-engineering"]]></title><description><![CDATA[
<p>I think your concrete treehouse counts too though. Add a shower and suddenly you need plumbing, drainage, the structure has to hold more weight. The overcomplicated part drags the overengineered part along with it. They pretty much collapse into the same thing.</p>
]]></description><pubDate>Tue, 21 Jul 2026 00:02:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48986485</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=48986485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48986485</guid></item><item><title><![CDATA[New comment by nulltrace in "Almost Always Unsigned"]]></title><description><![CDATA[
<p>That loop reads like a bug to anyone who hasn't memorized the wrapping rules. while (i-- > 0) on a signed index does the same thing.</p>
]]></description><pubDate>Wed, 08 Jul 2026 23:18:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48838691</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=48838691</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48838691</guid></item><item><title><![CDATA[New comment by nulltrace in "Building durable workflows on Postgres"]]></title><description><![CDATA[
<p>The SKIP LOCKED pattern is fine until the worker count climbs. Then vacuum can't keep up. Dead tuples pile up, visibility map turns to swiss cheese. Queue table is tiny on disk but the planner thinks it's huge and stops using the index. It gets ugly fast.</p>
]]></description><pubDate>Thu, 28 May 2026 23:46:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48317131</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=48317131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48317131</guid></item><item><title><![CDATA[New comment by nulltrace in "C constructs that still don't work in C++"]]></title><description><![CDATA[
<p>Compiler mode won't catch the `extern "C"` thing though. Both sides compile happily, link blows up on mangled names. What I do is just keep a throwaway .cpp in tests that #includes the header and calls a few of the public functions. Dumb but it's basically the only thing that ever catches that case before some downstream user does.</p>
]]></description><pubDate>Mon, 25 May 2026 23:50:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48273229</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=48273229</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48273229</guid></item><item><title><![CDATA[New comment by nulltrace in "Nim-Presto – REST API Framework for Nim Language (2024)"]]></title><description><![CDATA[
<p>Being a generalist isn't easy.</p>
]]></description><pubDate>Tue, 19 May 2026 23:10:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48200897</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=48200897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48200897</guid></item><item><title><![CDATA[New comment by nulltrace in "AI didn't delete your database, you did"]]></title><description><![CDATA[
<p>Most IAM policies start as "whatever made the deploy pass." Need rds:CreateDBInstance? Fine, rds:* it is. Ship it. Months later that same role can wipe the cluster and nobody remembers why it ever had that permission.<p>Separate accounts help, but only if someone actually goes back and cleans it up, which… yeah, doesn't really happen.</p>
]]></description><pubDate>Tue, 05 May 2026 23:52:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48030372</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=48030372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48030372</guid></item><item><title><![CDATA[New comment by nulltrace in "I am worried about Bun"]]></title><description><![CDATA[
<p>There's a GitHub issue for the freeze thing. Their security scanner passes the full dep list as CLI arguments, large monorepo on Linux and you blow past ARG_MAX. Spawn silently hangs, no error, --ignore-scripts doesn't help because the scanner is separate from postinstall. Been broken since 1.3.5 at least.</p>
]]></description><pubDate>Mon, 04 May 2026 22:48:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48015971</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=48015971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48015971</guid></item><item><title><![CDATA[New comment by nulltrace in "I built my own hair electrolysis machine"]]></title><description><![CDATA[
<p>designed, but never tested</p>
]]></description><pubDate>Sun, 03 May 2026 23:42:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48002809</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=48002809</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48002809</guid></item><item><title><![CDATA[New comment by nulltrace in "Alert-driven monitoring"]]></title><description><![CDATA[
<p>We went through the same switch. Half our alerts had been firing for a while and nobody ever acted on them.</p>
]]></description><pubDate>Sun, 03 May 2026 23:15:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48002633</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=48002633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48002633</guid></item><item><title><![CDATA[New comment by nulltrace in "LinkedIn is scanning browser extensions"]]></title><description><![CDATA[
<p>Firefox at least randomizes extension IDs per install. Chrome hands all of that to extension devs, basically a "your problem now".</p>
]]></description><pubDate>Fri, 01 May 2026 00:43:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47970151</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=47970151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47970151</guid></item><item><title><![CDATA[New comment by nulltrace in "Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library"]]></title><description><![CDATA[
<p>Stale training data is part of it. But even a current model can't tell what setup.py is going to run on your box. Nothing actually inspects the package before it executes. You'd want something that pulls the metadata and checks what hooks are in there before anything runs.</p>
]]></description><pubDate>Thu, 30 Apr 2026 23:21:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47969591</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=47969591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47969591</guid></item><item><title><![CDATA[New comment by nulltrace in "GitHub Actions is the weakest link"]]></title><description><![CDATA[
<p>Common mistake is trusting the repo instead of the workflow. Then any workflow inherits the same cloud access.</p>
]]></description><pubDate>Tue, 28 Apr 2026 19:56:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47939773</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=47939773</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47939773</guid></item><item><title><![CDATA[New comment by nulltrace in "The woes of sanitizing SVGs"]]></title><description><![CDATA[
<p>Browsers already treat the same SVG differently depending on how you embed it. <img> strips scripts and external resource loads. <object> and inline don't. People test with img tags, looks fine, then someone switches the embed method and everything opens up.</p>
]]></description><pubDate>Mon, 27 Apr 2026 23:06:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47928498</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=47928498</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47928498</guid></item><item><title><![CDATA[New comment by nulltrace in "NPM website was down"]]></title><description><![CDATA[
<p>We added a preflight curl against registry.npmjs.org before the install step in CI. Not surprising they went down together.</p>
]]></description><pubDate>Mon, 27 Apr 2026 22:17:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47928143</link><dc:creator>nulltrace</dc:creator><comments>https://news.ycombinator.com/item?id=47928143</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47928143</guid></item></channel></rss>