<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: bakkoting</title><link>https://news.ycombinator.com/user?id=bakkoting</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 08 Apr 2026 01:39:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=bakkoting" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by bakkoting in "You can't cancel a JavaScript promise (except sometimes you can)"]]></title><description><![CDATA[
<p>Browsers have said that they are unwilling to ship any new cancelation mechanisms given that AbortSignal already exists, so we can't ship a different CancelToken. But I think there's a path to standardizing a subset of the existing AbortSignal machinery [1].<p>(I am on TC39 and while this isn't my highest priority I did bring the topic for discussion at the last meeting [2], and there was support from the rest of committee.)<p>[1] <a href="https://github.com/tc39/proposal-concurrency-control/issues/14#issuecomment-2964580089" rel="nofollow">https://github.com/tc39/proposal-concurrency-control/issues/...</a><p>[2] <a href="https://github.com/bakkot/structured-concurrency-for-js" rel="nofollow">https://github.com/bakkot/structured-concurrency-for-js</a></p>
]]></description><pubDate>Tue, 07 Apr 2026 19:01:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47679819</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=47679819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47679819</guid></item><item><title><![CDATA[New comment by bakkoting in "Node.js worker threads are problematic, but they work great for us"]]></title><description><![CDATA[
<p>We haven't refused, it just takes time! There was an update at the meeting two weeks ago [1]. There's a lot of other machinery which needs to be specified and implemented before module declarations will work but it's coming along.<p>[1] <a href="https://docs.google.com/presentation/d/1inTcnb4hugyAvKrjFX_XHTnxYaPW0rodWwn0VFmlq24/edit" rel="nofollow">https://docs.google.com/presentation/d/1inTcnb4hugyAvKrjFX_X...</a></p>
]]></description><pubDate>Sun, 22 Mar 2026 17:45:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47480072</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=47480072</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47480072</guid></item><item><title><![CDATA[New comment by bakkoting in "The three pillars of JavaScript bloat"]]></title><description><![CDATA[
<p>Python and Rust have such a thing, but not e.g. Java, Go, C#. And I can't find any libraries on npm which do this. That seems like a very niche need, not actually the sort of thing whose absence causes people to have lots of npm dependencies.</p>
]]></description><pubDate>Sun, 22 Mar 2026 14:14:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47477749</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=47477749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47477749</guid></item><item><title><![CDATA[New comment by bakkoting in "A better streams API is possible for JavaScript"]]></title><description><![CDATA[
<p>Observables has moved to WHATWG [1] and been implemented in Chrome, although I don't know if the other browsers have expressed any interest (and there's still some issues [2] to be worked through).<p>But Observables really do not solve the problems being talked about in this post.<p>[1] <a href="https://github.com/WICG/observable" rel="nofollow">https://github.com/WICG/observable</a>
[2] <a href="https://github.com/WICG/observable/issues/216" rel="nofollow">https://github.com/WICG/observable/issues/216</a></p>
]]></description><pubDate>Fri, 27 Feb 2026 17:28:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47183050</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=47183050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47183050</guid></item><item><title><![CDATA[New comment by bakkoting in "Flux 2 Klein pure C inference"]]></title><description><![CDATA[
<p>Neat! I wonder how slow this would be running in wasm. In my dream world it would also use WebGPU but that's a much bigger lift.</p>
]]></description><pubDate>Mon, 19 Jan 2026 00:02:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46673503</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=46673503</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46673503</guid></item><item><title><![CDATA[New comment by bakkoting in "Claude is good at assembling blocks, but still falls apart at creating them"]]></title><description><![CDATA[
<p>You're thinking of a previous report from a month ago, #897 or #481, or the one from two weeks ago, #728. There's a new one from a week ago, #205, which is genuinely novel, although it is still a relatively "shallow" result.<p>Terence Tao maintains a list [1] of AI attempts (successful and otherwise). #205 is currently the only success in section 1, the "full solution for which subsequent literature review did not find new relevant prior partial or full solutions" section - but it is in that section.<p>As to speed, as far as I know the recent results are all due to GPT 5.2, which is barely a month old, or Aristotle, which is a system built on top of some frontier LLMs and which has only been accessible to the public for a month or two. I have seen multiple mathematicians report that GPT-5.2 is a major improvement in proof-writing, e.g. [2]<p>[1] <a href="https://github.com/teorth/erdosproblems/wiki/AI-contributions-to-Erd%C5%91s-problems" rel="nofollow">https://github.com/teorth/erdosproblems/wiki/AI-contribution...</a><p>[2] <a href="https://x.com/AcerFur/status/1999314476320063546" rel="nofollow">https://x.com/AcerFur/status/1999314476320063546</a></p>
]]></description><pubDate>Fri, 16 Jan 2026 20:48:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46652008</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=46652008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46652008</guid></item><item><title><![CDATA[New comment by bakkoting in "Fabrice Bellard Releases MicroQuickJS"]]></title><description><![CDATA[
<p>Formally JavaScript is specified as having TCO as of ES6, although for unfortunate and painful reasons this is spec fiction - Safari implements it, but Firefox and Chrome do not. Neither did QuickJS last I checked and I don't think this does either.</p>
]]></description><pubDate>Tue, 23 Dec 2025 23:19:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46370658</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=46370658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46370658</guid></item><item><title><![CDATA[New comment by bakkoting in "FPGAs Need a New Future"]]></title><description><![CDATA[
<p>Have you seen the YoWASP toolchain for VSCode [1]? It sounds pretty similar.<p>[1] <a href="https://github.com/YoWASP/vscode" rel="nofollow">https://github.com/YoWASP/vscode</a></p>
]]></description><pubDate>Tue, 23 Dec 2025 18:57:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46368145</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=46368145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46368145</guid></item><item><title><![CDATA[New comment by bakkoting in "Arborium: Tree-sitter code highlighting with Native and WASM targets"]]></title><description><![CDATA[
<p>And there's an open issue for that already: <a href="https://github.com/bearcove/arborium/issues/62" rel="nofollow">https://github.com/bearcove/arborium/issues/62</a></p>
]]></description><pubDate>Mon, 15 Dec 2025 21:30:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46280979</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=46280979</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46280979</guid></item><item><title><![CDATA[New comment by bakkoting in "GitLab discovers widespread NPM supply chain attack"]]></title><description><![CDATA[
<p>Yes. I'm on TC39 as well, and I've talked to Jordan about this topic.<p>It's true that there are a few people who publish packages on npm including polyfills, Jordan among them. But these are a very small fraction of all packages on npm, and none of the compromised packages were polyfills. Also, he cares about backwards compatibility _with old versions of node_; the fact that JavaScript was originally a web language, as the grandparent comment says, is completely irrelevant to the inclusion of those specific polyfills.<p>Polyfills are just completely irrelevant to this discussion.</p>
]]></description><pubDate>Sat, 29 Nov 2025 17:32:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46089253</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=46089253</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46089253</guid></item><item><title><![CDATA[New comment by bakkoting in "GitLab discovers widespread NPM supply chain attack"]]></title><description><![CDATA[
<p>This hasn't been true since version 5.4.2, released in 2017.<p>`npm install` will always use the versions listed in package-lock.json unless your package.json has been edited to list newer versions than are present in package-lock.json.<p>The only difference with `npm ci` is that `npm ci` fails if the two are out of sync (and it deletes `node_modules` first).</p>
]]></description><pubDate>Fri, 28 Nov 2025 18:33:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46081384</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=46081384</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46081384</guid></item><item><title><![CDATA[New comment by bakkoting in "GitLab discovers widespread NPM supply chain attack"]]></title><description><![CDATA[
<p>Very few packages published on npm include polyfills, especially packages you'd use when doing local scripting.</p>
]]></description><pubDate>Fri, 28 Nov 2025 18:26:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46081320</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=46081320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46081320</guid></item><item><title><![CDATA[New comment by bakkoting in "GitLab discovers widespread NPM supply chain attack"]]></title><description><![CDATA[
<p>If you look at the list of compromised packages, very few of them could reasonably be included in a standard library. It's mostly project-specific stuff like `@asyncapi/specs` or `@zapier/zapier-sdk`. The most popular generic one I see is `get-them-args`, which is a CLI argument parser - which is something Node has in the form of `util.parseArgs` since v16.17.0.</p>
]]></description><pubDate>Fri, 28 Nov 2025 18:15:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46081183</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=46081183</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46081183</guid></item><item><title><![CDATA[New comment by bakkoting in "Boa: A standard-conforming embeddable JavaScript engine written in Rust"]]></title><description><![CDATA[
<p>I don't think there's literally any conforming implementations of modern ECMAScript by that definition.</p>
]]></description><pubDate>Sat, 15 Nov 2025 23:11:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=45941338</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=45941338</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45941338</guid></item><item><title><![CDATA[New comment by bakkoting in "Ladybird passes the Apple 90% threshold on web-platform-tests"]]></title><description><![CDATA[
<p>Google mostly does obey web standards that are set by an industry consortium (WHATWG, W3C, or in the case of JavaScript EMCA).<p>Chrome has the best compliance with standards of any of the big three (see wpt.fyi) - which is not surprising, because they also have the most engineering time dedicated to their browser, and the most people working on standards.<p>These bodies require buy in from multiple vendors, but generally not unanimity. That said, browsers can and do ship things which haven't been standardized (e.g. WebUSB, which is still only a draft because only Chrome wants to ship it). In a lot of cases this pretty much has to happen pre-standardization, because it is difficult to come up with a good standard from the ivory tower with no contact with actual use. Chrome is unusually good about working in public to develop specifications for such features even when other browsers aren't currently interested in shipping them.<p>I don't know what problem you think this proposal would solve.</p>
]]></description><pubDate>Mon, 06 Oct 2025 21:06:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45496332</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=45496332</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45496332</guid></item><item><title><![CDATA[New comment by bakkoting in "Shai-Hulud malware attack: Tinycolor and over 40 NPM packages compromised"]]></title><description><![CDATA[
<p>It doesn't require 2FA in general, but it does for people with publish rights for popular packages, which covers most or all of the recent security incidents.<p><a href="https://github.blog/changelog/2022-11-01-high-impact-package-maintainers-now-require-2fa/" rel="nofollow">https://github.blog/changelog/2022-11-01-high-impact-package...</a></p>
]]></description><pubDate>Tue, 16 Sep 2025 17:02:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45264888</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=45264888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45264888</guid></item><item><title><![CDATA[New comment by bakkoting in "Behind the scenes of Bun Install"]]></title><description><![CDATA[
<p>Only in the sense that any other software on the developers' machines adds a certain level of risk.</p>
]]></description><pubDate>Fri, 12 Sep 2025 17:16:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45224349</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=45224349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45224349</guid></item><item><title><![CDATA[New comment by bakkoting in "Behind the scenes of Bun Install"]]></title><description><![CDATA[
<p>> And how many dependencies does Hono have?<p>Zero.<p>I'm guessing you're looking at the `devDependencies` in its package.json, but those are only used by the people building the project, not by people merely consuming it.</p>
]]></description><pubDate>Thu, 11 Sep 2025 21:25:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45216265</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=45216265</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45216265</guid></item><item><title><![CDATA[New comment by bakkoting in "Stop writing CLI validation. Parse it right the first time"]]></title><description><![CDATA[
<p>This is the approach taken by node's built-in argument parser util.parseArgs.</p>
]]></description><pubDate>Tue, 09 Sep 2025 17:34:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=45185433</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=45185433</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45185433</guid></item><item><title><![CDATA[New comment by bakkoting in "Node.js is able to execute TypeScript files without additional configuration"]]></title><description><![CDATA[
<p>It also exposes a function which does type stripping (as `import { stripTypeScriptTypes } from 'node:module'`).<p>This lets you build simple web apps (i.e., those with no frontend dependencies) as pure TypeScript, including the frontend, by stripping the types out from your frontend scripts as you serve them: <a href="https://github.com/bakkot/buildless-ts-webapp" rel="nofollow">https://github.com/bakkot/buildless-ts-webapp</a></p>
]]></description><pubDate>Sun, 17 Aug 2025 19:55:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=44934410</link><dc:creator>bakkoting</dc:creator><comments>https://news.ycombinator.com/item?id=44934410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44934410</guid></item></channel></rss>