<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: antihero</title><link>https://news.ycombinator.com/user?id=antihero</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 08 Jun 2026 00:09:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=antihero" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by antihero in "The perils of UUID primary keys in SQLite"]]></title><description><![CDATA[
<p>Doesn't Postgres' UUID type just do this for you anyway?<p>Why would you store it as as str column and not the inbuilt type for this?<p><a href="https://www.postgresql.org/docs/current/datatype-uuid.html" rel="nofollow">https://www.postgresql.org/docs/current/datatype-uuid.html</a><p>If you are using SQLite well I guess that doesn't work.</p>
]]></description><pubDate>Sat, 06 Jun 2026 16:34:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48426558</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=48426558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48426558</guid></item><item><title><![CDATA[New comment by antihero in "Supply chain attack alert: .github/setup.js"]]></title><description><![CDATA[
<p>Nope, the public repos are what the on-machine payload creates. Sorry, I worded that wrong, I meant it exfiltrates <i>to</i>.<p>The main attack is using compromised repo keys to:<p>* Create malicious actions to JSON dump and exfiltrate all GitHub org secrets.<p>* Commit the payload delivering hooks/scripts to any repo/PR it has access to.<p>* Mimics previous commits/timestamps, however you can see the key that did it by seeing the push in activity/audit logs.</p>
]]></description><pubDate>Fri, 05 Jun 2026 17:25:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48415609</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=48415609</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48415609</guid></item><item><title><![CDATA[New comment by antihero in "Supply chain attack alert: .github/setup.js"]]></title><description><![CDATA[
<p>We're trying to figure this out, we've nailed it to the developer machine but not sure how that machine got infected. Possibly through GHA.</p>
]]></description><pubDate>Fri, 05 Jun 2026 12:17:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48411395</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=48411395</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48411395</guid></item><item><title><![CDATA[New comment by antihero in "Supply chain attack alert: .github/setup.js"]]></title><description><![CDATA[
<p>Attack is called "Hades - The End for the Damned", it exfiltrates secrets including ALL ORG GITHUB ACTIONS SECRETS  via creating compromised actions, through GitHub public repos with encrypted payloads.</p>
]]></description><pubDate>Fri, 05 Jun 2026 12:16:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48411379</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=48411379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48411379</guid></item><item><title><![CDATA[Supply chain attack alert: .github/setup.js]]></title><description><![CDATA[
<p>Our org GitHub just got compromised massively by a supply-chain attack. Vectors are<p>* Claude hooks<p>* Gemini hooks<p>* Cursor setup<p>* VScode tasks<p>It adds all of the above to execute node .github/setup.js, an obfuscated file.<p>Check infected: `rg --hidden --no-ignore 'node .github/setup.js`<p>It spreads by adding mimic'd skip-ci commits to open PRs which then get merged.<p>Payload is obfuscated, available on request.<p>If this is already a known one in the world, apologies, it hit us at around 10PM BST last night, the damage would have been incredible.<p>Still trying to identify the original source.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48409869">https://news.ycombinator.com/item?id=48409869</a></p>
<p>Points: 25</p>
<p># Comments: 13</p>
]]></description><pubDate>Fri, 05 Jun 2026 08:59:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48409869</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=48409869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48409869</guid></item><item><title><![CDATA[New comment by antihero in "Uber president says AI spending is getting 'harder to justify'"]]></title><description><![CDATA[
<p>Nah in competitive industries you need to build features and out compete people and getting AI to do that whilst architecting things well due to experience and having time to think more about the important stuff but have a lot of the more boilerplate and simple things ABs plumbing etc handled by agents is great.<p>When you try to replace your entire brain with AI things are going to go wrong.</p>
]]></description><pubDate>Tue, 26 May 2026 17:41:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48283056</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=48283056</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48283056</guid></item><item><title><![CDATA[New comment by antihero in "Claude for Small Business"]]></title><description><![CDATA[
<p>Our company started monitoring our Claude usage so I've started coding personal stuff manually again and it's...really fun!</p>
]]></description><pubDate>Thu, 14 May 2026 17:06:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48138126</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=48138126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48138126</guid></item><item><title><![CDATA[New comment by antihero in "Postmortem: TanStack NPM supply-chain compromise"]]></title><description><![CDATA[
<p>Yeah, this is pretty good devex from the hackers.</p>
]]></description><pubDate>Tue, 12 May 2026 14:35:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48108924</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=48108924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48108924</guid></item><item><title><![CDATA[New comment by antihero in "Postmortem: TanStack NPM supply-chain compromise"]]></title><description><![CDATA[
<p>I would prefer my builds to break than the ecosystem to be compromised.<p>That said, once unpublished the version should be permanently unavailable to prevent publishing over known good versions.</p>
]]></description><pubDate>Tue, 12 May 2026 12:15:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48107163</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=48107163</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48107163</guid></item><item><title><![CDATA[New comment by antihero in "Claude Opus 4.7"]]></title><description><![CDATA[
<p>Am I going to have to make it rewrite all the stuff 4.6 did?</p>
]]></description><pubDate>Thu, 16 Apr 2026 19:46:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47798531</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47798531</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47798531</guid></item><item><title><![CDATA[New comment by antihero in "State of Homelab 2026"]]></title><description><![CDATA[
<p>It's free and simple and handles HTTPS termination and can be set up easily using terraform/pulumi.<p>Interestingly, in the early hours of this morning I switched from Cloudflare Tunnels to a rathole/traefik based solution (well, currently it's port forwarding and a low grade home-baked dyndns solution until I get paid and can afford a cheap hetzner box because I spent all of my money again).<p>I switched back because I didn't like the added complexity of having to manage the routes, what I'm using it for is <i>technically</i> against ToS, and I like the self-contained nature of my microk8s cluster.</p>
]]></description><pubDate>Mon, 13 Apr 2026 06:38:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47748448</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47748448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47748448</guid></item><item><title><![CDATA[New comment by antihero in "State of Homelab 2026"]]></title><description><![CDATA[
<p>I actually really like not having to worry if some licensing deal means my access to music I love gets shut off.</p>
]]></description><pubDate>Mon, 13 Apr 2026 06:37:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47748441</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47748441</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47748441</guid></item><item><title><![CDATA[New comment by antihero in "State of Homelab 2026"]]></title><description><![CDATA[
<p>Can tailscale funnel do custom domains yet?<p>Personally I'm switching to rathole+traefik, weirdly something I was researching and experimenting with in the early hours of this morning (I have now not slept and have to go to work).</p>
]]></description><pubDate>Mon, 13 Apr 2026 06:36:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47748431</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47748431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47748431</guid></item><item><title><![CDATA[New comment by antihero in "State of Homelab 2026"]]></title><description><![CDATA[
<p>It is nice to download an app and then just point it at a public URL as opposed to having to rely on the device being in the same tailnet.</p>
]]></description><pubDate>Mon, 13 Apr 2026 06:36:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47748424</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47748424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47748424</guid></item><item><title><![CDATA[New comment by antihero in "Apple has removed most of the towns and villages in Lebanon from Apple maps?"]]></title><description><![CDATA[
<p>What purpose would this serve in any way?<p>Could it be that their data source is tied to satellite data that is now being blacked out?</p>
]]></description><pubDate>Sun, 12 Apr 2026 18:34:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47742832</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47742832</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47742832</guid></item><item><title><![CDATA[New comment by antihero in "Project Glasswing: Securing critical software for the AI era"]]></title><description><![CDATA[
<p>Business idea for Anthropic: What if they provided (likely costly) audits, without providing access to the model?</p>
]]></description><pubDate>Wed, 08 Apr 2026 07:58:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47686865</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47686865</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47686865</guid></item><item><title><![CDATA[New comment by antihero in "Show HN: Optio – Orchestrate AI coding agents in K8s to go from ticket to PR"]]></title><description><![CDATA[
<p>Yep, I was gastowning some draft PRs to get a prototype built quickly. The polecat FE PR managed to request a review from @claude (normal ok), and then given that in isolation the PR was fine due to having hardcoded draft schemas (though it was deliberately only ever going to work against a PR deployed version of the API that was also draft), decided to enable auto-merge, such that the PR actually merged and luckily I caught the CI/CD run and locked deployments, however, it would have taken down the site and pointed it to staging.</p>
]]></description><pubDate>Tue, 31 Mar 2026 10:28:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47585235</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47585235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47585235</guid></item><item><title><![CDATA[New comment by antihero in "Axios compromised on NPM – Malicious versions drop remote access trojan"]]></title><description><![CDATA[
<p>npm is claiming this doesn’t exist</p>
]]></description><pubDate>Tue, 31 Mar 2026 09:47:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47584895</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47584895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47584895</guid></item><item><title><![CDATA[New comment by antihero in "Show HN: Optio – Orchestrate AI coding agents in K8s to go from ticket to PR"]]></title><description><![CDATA[
<p>And what stops it making total garbage that wrecks your codebase?</p>
]]></description><pubDate>Wed, 25 Mar 2026 23:19:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47524594</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47524594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47524594</guid></item><item><title><![CDATA[New comment by antihero in "Thoughts on slowing the fuck down"]]></title><description><![CDATA[
<p>Well that's the thing, AI can mean anyone with an idea can build it, but only the people that <i>own stuff</i> will be able to leverage that to <i>own more stuff</i>.</p>
]]></description><pubDate>Wed, 25 Mar 2026 23:17:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47524571</link><dc:creator>antihero</dc:creator><comments>https://news.ycombinator.com/item?id=47524571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47524571</guid></item></channel></rss>