<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: knuckleheads</title><link>https://news.ycombinator.com/user?id=knuckleheads</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 22 Oct 2026 13:08:40 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=knuckleheads" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: Professionally maintained Tree-sitter compatible WASM grammars]]></title><description><![CDATA[
<p>I got tired of patching Tree-sitter grammars while I was building linting tools, so much so that I ended up writing a custom parsing framework and a bunch of custom grammars for popular languages. I figured I wasn't alone and that others would be hitting the same problem, especially with all the slop code being produced out there these days. So, I'm happy to now offer commercial support for an ever-expanding library of Tree-sitter compatible Wasm grammars that are continuously updated and well-tested.<p>Shoot me an email at info@powderworks.dev and we can get you set up. If there are specific languages that you want to use, let me know and I'll get them supported ASAP.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=50187882">https://news.ycombinator.com/item?id=50187882</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 21 Oct 2026 21:26:25 +0000</pubDate><link>https://powderworks.dev/</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=50187882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50187882</guid></item><item><title><![CDATA[New comment by knuckleheads in "'500-hour' Order of the Sinking Star is as complex and exhausting as it sounds"]]></title><description><![CDATA[
<p>If others find beauty in something, should I not want to also try and see it?<p>Some things take time to learn to enjoy. I've bounced off things in the past several times before I started to really enjoy them later on. I'd like to think my experience with media is not just a random walk through whatever is in front of me and that I can direct that experience, at least a bit.</p>
]]></description><pubDate>Fri, 16 Oct 2026 17:42:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=50121694</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=50121694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50121694</guid></item><item><title><![CDATA[New comment by knuckleheads in "'500-hour' Order of the Sinking Star is as complex and exhausting as it sounds"]]></title><description><![CDATA[
<p>I’ve tried both! Both fun in their own ways but they never caught me long term. Sausage rolls was fun but it just got too hard.</p>
]]></description><pubDate>Fri, 16 Oct 2026 11:06:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=50116918</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=50116918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50116918</guid></item><item><title><![CDATA[Endgame: Singularity]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.emhsoft.com/singularity/">https://www.emhsoft.com/singularity/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=50115306">https://news.ycombinator.com/item?id=50115306</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 16 Oct 2026 07:32:17 +0000</pubDate><link>https://www.emhsoft.com/singularity/</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=50115306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50115306</guid></item><item><title><![CDATA[New comment by knuckleheads in "'500-hour' Order of the Sinking Star is as complex and exhausting as it sounds"]]></title><description><![CDATA[
<p>I am generally not a fan of Sokoban puzzles, but I told myself that Order was the best chance to fix that so I’ve been forcing myself to play it. I don’t find myself actively wanting to sit down and play it, the puzzles don’t attract me that way, but once I do, I’ll play for about five hours at once. Great game.</p>
]]></description><pubDate>Fri, 16 Oct 2026 06:12:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=50114730</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=50114730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50114730</guid></item><item><title><![CDATA[New comment by knuckleheads in "Emitting metadata early makes building/checking Rust up to twice as fast"]]></title><description><![CDATA[
<p>Good question! They get marked as such and then typechecked as part of the early work before metadata is written/sent out. If they error out, crate fails, nothing happens, same as today. In practice, on the crates I was testing, there was more "regular" functions than these, so we could still get some good perf gains. 
<a href="https://github.com/PowderworksCode/headstart/blob/1c9d5cd691b92f95b79f50834c5288face094def/patches/rustc/0004-Add-Zearly-metadata-write-metadata-once-item-interfa.patch#L702-L704" rel="nofollow">https://github.com/PowderworksCode/headstart/blob/1c9d5cd691...</a>
<a href="https://github.com/PowderworksCode/headstart/blob/1c9d5cd691b92f95b79f50834c5288face094def/patches/rustc/0004-Add-Zearly-metadata-write-metadata-once-item-interfa.patch#L751" rel="nofollow">https://github.com/PowderworksCode/headstart/blob/1c9d5cd691...</a></p>
]]></description><pubDate>Mon, 05 Oct 2026 09:40:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49962642</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49962642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49962642</guid></item><item><title><![CDATA[New comment by knuckleheads in "Emitting metadata early makes building/checking Rust up to twice as fast"]]></title><description><![CDATA[
<p>It’s a neat idea. My impression is that it would go against the grain of the compiler currently. The rmeta file and lots of the other rust outputs aren’t meant to be that stable that it could be portable like that. I’ll certainly mess around with this some and see if anything comes of it though!</p>
]]></description><pubDate>Sun, 04 Oct 2026 21:04:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49957851</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49957851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49957851</guid></item><item><title><![CDATA[New comment by knuckleheads in "Emitting metadata early makes building/checking Rust up to twice as fast"]]></title><description><![CDATA[
<p>I would be very curious to know how that test went please!</p>
]]></description><pubDate>Sun, 04 Oct 2026 19:28:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=49957009</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49957009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49957009</guid></item><item><title><![CDATA[New comment by knuckleheads in "Emitting metadata early makes building/checking Rust up to twice as fast"]]></title><description><![CDATA[
<p>Yes, if you mostly have no extra cores already or if you have very wide unrelated deps, this mostly does nothing. Typically, this is not the case though so there is some good perf gains.</p>
]]></description><pubDate>Sun, 04 Oct 2026 18:30:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49956517</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49956517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49956517</guid></item><item><title><![CDATA[New comment by knuckleheads in "Emitting metadata early makes building/checking Rust up to twice as fast"]]></title><description><![CDATA[
<p>I wanted everything in one repo and this worked well enough. For presenting to rust compiler team I forked the repos in question and made branches for review with the patches.</p>
]]></description><pubDate>Sun, 04 Oct 2026 17:41:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=49956029</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49956029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49956029</guid></item><item><title><![CDATA[New comment by knuckleheads in "Emitting metadata early makes building/checking Rust up to twice as fast"]]></title><description><![CDATA[
<p>Yes it's a pretty well thought out policy. It feels bad for someone to put in a month of work and have their code ultimately rejected, but if an llm does something sloppy with some light guidance in a few days, then great, experiment with some weird stuff and see what happens, then once you know it probably should work, go in for that month of work and make it happen.</p>
]]></description><pubDate>Sun, 04 Oct 2026 15:27:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=49954725</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49954725</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49954725</guid></item><item><title><![CDATA[New comment by knuckleheads in "Emitting metadata early makes building/checking Rust up to twice as fast"]]></title><description><![CDATA[
<p>(Copying and pasting from what I posted in rust zulip)<p>There is an .early-rmeta file that is generated that contains the result of type checking the outer part of the functions (arguments, returns) that is then passed down to all the other dependencies that can use it and get a "headstart" on their work. -Zearly-metadata is the flag for Rustc here to turn that on. It also needed to learn how to swap the real metadata in for the early stuff that it was previously using, once the real stuff showed up.<p>Rustc needs to be able to pause and resume at certain points and Cargo needs to be know how to look for and react to that, which is what -Zheadstart does for Cargo. So there's some changes job_queue that happen to there. I haven't checked this directly yet, but my understanding is that it doesn't kill the process, it just has it sit and wait, which normally would occupy a slot, but doesn't any longer. 
---<p>So not a cache, just being able to pause and start work and better utilize the available slots.</p>
]]></description><pubDate>Sun, 04 Oct 2026 14:51:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=49954408</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49954408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49954408</guid></item><item><title><![CDATA[New comment by knuckleheads in "Emitting metadata early makes building/checking Rust up to twice as fast"]]></title><description><![CDATA[
<p>Talking with them presently! This specific set of changes won't get in (LLM written, little to no thinking through of the broader design), but I am hoping something like it shows up sometime.</p>
]]></description><pubDate>Sun, 04 Oct 2026 14:49:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=49954399</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49954399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49954399</guid></item><item><title><![CDATA[Emitting metadata early makes building/checking Rust up to twice as fast]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/PowderworksCode/headstart">https://github.com/PowderworksCode/headstart</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49951218">https://news.ycombinator.com/item?id=49951218</a></p>
<p>Points: 157</p>
<p># Comments: 43</p>
]]></description><pubDate>Sun, 04 Oct 2026 06:26:57 +0000</pubDate><link>https://github.com/PowderworksCode/headstart</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49951218</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49951218</guid></item><item><title><![CDATA[New comment by knuckleheads in "How to speed up the Rust compiler in September 2026"]]></title><description><![CDATA[
<p><a href="https://github.com/PowderworksCode/headstart" rel="nofollow">https://github.com/PowderworksCode/headstart</a><p>^ run setup and give it a whirl. Will send to Rust compiler team when I have some pr's up etc.</p>
]]></description><pubDate>Sat, 03 Oct 2026 20:29:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=49947486</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49947486</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49947486</guid></item><item><title><![CDATA[New comment by knuckleheads in "How to speed up the Rust compiler in September 2026"]]></title><description><![CDATA[
<p>Depends on what you are editing I would say, if it's something deeper in the stack then it should help. The last numbers I have is that this is a 6-8% improvement for incremental editing of the code for cargo itself, but I'm having the benchmark be rerun now, as I've landed a fair amount of changes since then.</p>
]]></description><pubDate>Fri, 02 Oct 2026 17:20:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=49936059</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49936059</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49936059</guid></item><item><title><![CDATA[New comment by knuckleheads in "How to speed up the Rust compiler in September 2026"]]></title><description><![CDATA[
<p>Result:<p>Headstart on codex-rs (16 cores, clean builds, median of 3 alternating off/on pairs):<p><pre><code>                          off       on     saved
  cargo check           383.8s   277.1s    28%
  cargo build           530.7s   330.8s    38%
  check, -Zthreads=8    220.0s   190.5s    13%
  build, -Zthreads=8    317.3s   249.2s    21%
</code></pre>
Not helpful for compilation yet, but it's something :)</p>
]]></description><pubDate>Fri, 02 Oct 2026 02:28:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49929290</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49929290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49929290</guid></item><item><title><![CDATA[New comment by knuckleheads in "How to speed up the Rust compiler in September 2026"]]></title><description><![CDATA[
<p>I will email you when I have something up for sure! First cargo check has it at about 28% reduced on codex rs, from 383 seconds down to 277 seconds on a 16 core machine. No -Zthreads yet though, and that typically has a similar effect and reduces the speed up the early meta data gives.</p>
]]></description><pubDate>Thu, 01 Oct 2026 19:39:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=49926149</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49926149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49926149</guid></item><item><title><![CDATA[New comment by knuckleheads in "How to speed up the Rust compiler in September 2026"]]></title><description><![CDATA[
<p>Yes I think I read a post of his from like 2019 were something was tried like this before. My guess is that this will be an interesting and hopefully informative PR for you all to see, but will likely not be merged as is. I had to add the ability for rustc to pause after early meta data emission and that was hacked together I feel, not well designed per se.<p>I view this as speculative execution/compilation and just throw out any errors from a crate that depended on another crate that ultimately errors out. It has the same outcome (same errors are printed in both cases) you just have a chance of having totally wasted some cpu time (that was otherwise just sitting around though).</p>
]]></description><pubDate>Thu, 01 Oct 2026 18:48:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=49925538</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49925538</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49925538</guid></item><item><title><![CDATA[New comment by knuckleheads in "How to speed up the Rust compiler in September 2026"]]></title><description><![CDATA[
<p>This thing is a monster, blows out the disk space on a Claude code web session. Will run it on my test server later and let you know.</p>
]]></description><pubDate>Thu, 01 Oct 2026 18:41:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=49925450</link><dc:creator>knuckleheads</dc:creator><comments>https://news.ycombinator.com/item?id=49925450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49925450</guid></item></channel></rss>