<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: woodruffw</title><link>https://news.ycombinator.com/user?id=woodruffw</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 01 Jun 2026 20:09:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=woodruffw" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by woodruffw in "Green card seekers must leave U.S. to apply, Trump administration says"]]></title><description><![CDATA[
<p>I don’t think I agree that it’s hostile by every other measure. The US’s immigration system is cruel and capricious, but <i>assimilating</i> into the US seems to be a lot easier than, for example, France or Germany. The US is unusual among its peer countries in <i>not</i> requiring immigrants to speak the “official” language fluently, in accepting public displays of ethnic or religious background that aren’t ambiently European Christian, etc.<p>(Again, I must emphasize that this does not make the US <i>good</i>. Only that the bar is perhaps lower than people who are assimilated into any particular country may realize.)</p>
]]></description><pubDate>Sun, 24 May 2026 00:29:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48253054</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48253054</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48253054</guid></item><item><title><![CDATA[New comment by woodruffw in "Green card seekers must leave U.S. to apply, Trump administration says"]]></title><description><![CDATA[
<p>> By every other measure it’s been more hostile than average.<p>I'm not sure there's a "just" here: compared to peer countries, the US is either middle-of-the-pack[1] or significantly more accepting of immigrants[2] depending on which number you pick.<p>(This isn't to somehow imply that the US isn't hostile to its immigrants, because it is. But the question is whether it's <i>more</i> hostile.)<p>[1]: <a href="https://www.visualcapitalist.com/charted-the-share-of-foreign-born-population-in-oecd-countries/" rel="nofollow">https://www.visualcapitalist.com/charted-the-share-of-foreig...</a><p>[2]: <a href="https://www.oecd.org/en/data/indicators/stocks-of-foreign-born-population-in-oecd-countries.html" rel="nofollow">https://www.oecd.org/en/data/indicators/stocks-of-foreign-bo...</a></p>
]]></description><pubDate>Sat, 23 May 2026 19:42:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48250718</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48250718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48250718</guid></item><item><title><![CDATA[We hardened zizmor's GitHub Actions static analyzer]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.trailofbits.com/2026/05/22/we-hardened-zizmors-github-actions-static-analyzer/">https://blog.trailofbits.com/2026/05/22/we-hardened-zizmors-github-actions-static-analyzer/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48235729">https://news.ycombinator.com/item?id=48235729</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 22 May 2026 13:40:44 +0000</pubDate><link>https://blog.trailofbits.com/2026/05/22/we-hardened-zizmors-github-actions-static-analyzer/</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48235729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48235729</guid></item><item><title><![CDATA[New comment by woodruffw in "Uv is fantastic, but its package management UX is a mess"]]></title><description><![CDATA[
<p>I think you want `uv tool install` and `uv tool upgrade` for that. But also: please file an issue, because it sounds like the kind of papercut we could address somewhat easily!</p>
]]></description><pubDate>Fri, 22 May 2026 01:10:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48230756</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48230756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48230756</guid></item><item><title><![CDATA[New comment by woodruffw in "Uv is fantastic, but its package management UX is a mess"]]></title><description><![CDATA[
<p>(Note: I work on uv.)<p>Much of this is useful feedback, even if phrased in a clickbait style. Some thoughts:<p>- Re: `pnpm outdated`: this is something that hasn't come up very much, even though it seems reasonable to me. I suspect this comes down to cultural differences between Python and JavaScript -- I can't think of a time when I've <i>cared</i> about whether my Python dependencies were outdated, so long as they weren't vulnerable or broken. By contrast, it appears to be somewhat common in the JavaScript ecosystem to upgrade opportunistically. I don't think this is bad per se, but seems to me like a good demonstration of discontinuous intuitions around what's valuable to surface in a CLI between very large programming communities.<p>- As Armin notes[1], uv's upper bound behavior is intentional (and is a functional necessity of how Python resolution works at large). This is a tradeoff Python makes versus other languages, but I frankly think it's a good one: I like having one copy of each dependency in my tree, and knowing that _all_ of my interdependent requirements resolve to it.<p>- `uv lock --upgrade` is written like that because it upgrades the lockfile, not the user's own requirements. By contrast, `pnpm update` appears to update the user's own requirements (in package.json). I can see why this is confusing, but I think it's strictly more precise to place under `uv lock`; otherwise, we'd have users with competing intuitions confused about why `uv upgrade` doesn't do <i>their</i> idea of what an upgrade is. Still, it's certainly something we could surface more cleanly, and there's been clear user demand for a uv subcommand that <i>also</i> upgrades the requirements directly.<p>[1]: <a href="https://news.ycombinator.com/item?id=48230048">https://news.ycombinator.com/item?id=48230048</a></p>
]]></description><pubDate>Fri, 22 May 2026 00:07:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48230317</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48230317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48230317</guid></item><item><title><![CDATA[New comment by woodruffw in "Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised"]]></title><description><![CDATA[
<p>The analogy in npm is dependency proliferation, along with what appears to be weaker community norms around security. To the extent that either or both of these are true, I think the “no way to prevent this” quip is essentially accurate.</p>
]]></description><pubDate>Tue, 19 May 2026 14:37:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48193893</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48193893</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48193893</guid></item><item><title><![CDATA[New comment by woodruffw in "Postmortem: TanStack NPM supply-chain compromise"]]></title><description><![CDATA[
<p>Exfiltrating an admin token is a big "if"; you shouldn't issue admin tokens at all, and GitHub does (at least for me) pop a proper MFA challenge when attempting to issue one.<p>(I wrote that Astral post.)<p>Edit: separately, I'll note that the risk of long-lived, highly privileged credentials is <i>the</i> primary motivating reason for Trusted Publishing: a developer's machine has (by necessity) a much higher degree of access than an ephemeral runner does, making it a much juicier target for an attacker. It also runs all kinds of stuff in a mostly unsandboxed manner, making it easier (in principle) to exploit. That's not to say there shouldn't be additional guards on publishing, but that I'm not remotely convinced that local publishing is any better by default.</p>
]]></description><pubDate>Tue, 12 May 2026 12:51:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48107530</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48107530</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48107530</guid></item><item><title><![CDATA[New comment by woodruffw in "Postmortem: TanStack NPM supply-chain compromise"]]></title><description><![CDATA[
<p>Yes, it catches both.</p>
]]></description><pubDate>Tue, 12 May 2026 12:47:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48107490</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48107490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48107490</guid></item><item><title><![CDATA[New comment by woodruffw in "Over 97% of the 'Linux' Foundation's Budget Goes Not to Linux"]]></title><description><![CDATA[
<p>Very few, I think. I had to search for their “donate” page, and it says explicitly that donations are not tax deductible.<p>(FWICT, the overwhelming majority of LF’s money comes from conference fees, and the biggest chunk of the rest comes from corporate dues. Private donations don’t appear to be a significant portion of their income.)</p>
]]></description><pubDate>Sat, 09 May 2026 13:40:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48074898</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48074898</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48074898</guid></item><item><title><![CDATA[New comment by woodruffw in "Over 97% of the 'Linux' Foundation's Budget Goes Not to Linux"]]></title><description><![CDATA[
<p>That’s explicitly their mission, though! They’re a trade organization that advances member interests, not a public interest nonprofit.<p>(In effect, they’re a coordinating body for fat companies. They do indeed fund things in those companies’ interests, but they do it <i>with</i> corporate money.)</p>
]]></description><pubDate>Sat, 09 May 2026 13:19:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48074759</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48074759</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48074759</guid></item><item><title><![CDATA[New comment by woodruffw in "Over 97% of the 'Linux' Foundation's Budget Goes Not to Linux"]]></title><description><![CDATA[
<p>Not to belabor the point, but LF is a 501(c)(6), not a 501(c)(3). They don't behave like your intuition for a public-interest nonprofit because they <i>aren't</i> one. You shouldn't give them your money!</p>
]]></description><pubDate>Sat, 09 May 2026 04:31:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48071843</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48071843</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48071843</guid></item><item><title><![CDATA[New comment by woodruffw in "Over 97% of the 'Linux' Foundation's Budget Goes Not to Linux"]]></title><description><![CDATA[
<p>Is it? Percentage-wise, executive compensation appears to be lower than well-regarded technology nonprofits[1][2]. In some sense that's extremely weird, since LF is a trade organization rather than a public-interest nonprofit. Their financiers are huge corporations, not individual donors!<p>(This is the core of the bigger problem with LF, IMO -- they simply don't represent non-corporate OSS interests at all, beyond some lip service.)<p>[1]: <a href="https://projects.propublica.org/nonprofits/organizations/43091431" rel="nofollow">https://projects.propublica.org/nonprofits/organizations/430...</a><p>[2]: <a href="https://projects.propublica.org/nonprofits/organizations/460967274" rel="nofollow">https://projects.propublica.org/nonprofits/organizations/460...</a></p>
]]></description><pubDate>Sat, 09 May 2026 04:21:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48071804</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48071804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48071804</guid></item><item><title><![CDATA[New comment by woodruffw in "Over 97% of the 'Linux' Foundation's Budget Goes Not to Linux"]]></title><description><![CDATA[
<p>Without bending over backwards to defend the Linux Foundation, I'll point out that the 97% number means very little -- the percentage that actually matters is the percentage that doesn't go towards funding open source <i>at all</i>. The Linux Foundation hasn't been solely about Linux for decades; they are (facially) responsible for hosting a very large number of open source projects.</p>
]]></description><pubDate>Sat, 09 May 2026 04:15:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48071779</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48071779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48071779</guid></item><item><title><![CDATA[New comment by woodruffw in "Bun is being ported from Zig to Rust"]]></title><description><![CDATA[
<p>> I guess Linux and FreeBSD kernels are also not accepting LLM based contributions yet.<p>Both appear to be[1][2]. FreeBSD doesn't have a formal policy yet, but they appear to be leaning towards admitting some degree of LLM contribution.<p>[1]: <a href="https://docs.kernel.org/process/coding-assistants.html" rel="nofollow">https://docs.kernel.org/process/coding-assistants.html</a><p>[2]: <a href="https://forums.freebsd.org/threads/will-freebsd-adopt-a-no-ai-policy-or-such.100101/" rel="nofollow">https://forums.freebsd.org/threads/will-freebsd-adopt-a-no-a...</a></p>
]]></description><pubDate>Tue, 05 May 2026 06:04:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48018645</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=48018645</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48018645</guid></item><item><title><![CDATA[New comment by woodruffw in "Opus 4.7 knows the real Kelsey"]]></title><description><![CDATA[
<p>Sure; I just mean relative to the degree of plausibility LLMs typically provide with technical explanations. They're often wrong there too, but the <i>difference</i> in plausibility in these scenarios is something I found interesting.</p>
]]></description><pubDate>Fri, 01 May 2026 01:56:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47970549</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=47970549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47970549</guid></item><item><title><![CDATA[New comment by woodruffw in "Opus 4.7 knows the real Kelsey"]]></title><description><![CDATA[
<p>I did this last week with one of my posts (after the knowledge cutoff) as well as the blog posts of a few friends, and Opus 4.7 got all of them correct (in a similar test setup as TFA). It was pretty surreal.<p>(Like TFA, I found Opus’s explanations/rationales implausible.)</p>
]]></description><pubDate>Fri, 01 May 2026 00:56:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47970219</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=47970219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47970219</guid></item><item><title><![CDATA[New comment by woodruffw in "Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library"]]></title><description><![CDATA[
<p>> If I understand correctly, the source code for building Python is not fetched directly from python.org. Not so sure how secure is that.<p>python-build-standalone fetches CPython sources directly from python.org[1]. I don't even know where else we would get them from!<p>[1]: <a href="https://github.com/astral-sh/python-build-standalone/blob/a21e242a2521c3054867a1cc531b88ef555af366/pythonbuild/downloads.py" rel="nofollow">https://github.com/astral-sh/python-build-standalone/blob/a2...</a></p>
]]></description><pubDate>Thu, 30 Apr 2026 19:45:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47967321</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=47967321</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47967321</guid></item><item><title><![CDATA[New comment by woodruffw in "GitHub Actions is the weakest link"]]></title><description><![CDATA[
<p>You’d need to build zizmor for WASM. I’ve thought about doing that work, but I’d happily accept contributions from people towards that who understand WASM better than I do.</p>
]]></description><pubDate>Wed, 29 Apr 2026 02:09:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47943429</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=47943429</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47943429</guid></item><item><title><![CDATA[New comment by woodruffw in "GitHub Actions is the weakest link"]]></title><description><![CDATA[
<p>Oh, I guess I didn't document it explicitly. My bad!<p>You can see it in the source here[1].<p>[1]: <a href="https://github.com/zizmorcore/zizmor/blob/db5ed6b3bb445848a8e7b1920a12c9c664d08a33/crates/zizmor/src/audit/known_vulnerable_actions.rs#L84-L98" rel="nofollow">https://github.com/zizmorcore/zizmor/blob/db5ed6b3bb445848a8...</a></p>
]]></description><pubDate>Tue, 28 Apr 2026 20:22:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47940146</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=47940146</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47940146</guid></item><item><title><![CDATA[New comment by woodruffw in "GitHub Actions is the weakest link"]]></title><description><![CDATA[
<p>It's not[1]. That's a third-party action.<p>[1]: <a href="https://github.com/actions/deploy-pages" rel="nofollow">https://github.com/actions/deploy-pages</a></p>
]]></description><pubDate>Tue, 28 Apr 2026 20:10:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47939999</link><dc:creator>woodruffw</dc:creator><comments>https://news.ycombinator.com/item?id=47939999</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47939999</guid></item></channel></rss>