<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: williamcotton</title><link>https://news.ycombinator.com/user?id=williamcotton</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 19:56:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=williamcotton" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by williamcotton in "How a new DSL may survive in the era of LLMs"]]></title><description><![CDATA[
<p>><i>So really, if you want to do something you'd normally use a DSL for, you should be talking to your AI, and telling the AI to encode it into computer-speak. Binary files, libraries, programs, composeable piped applications. The AI can take what you think and turn it into a regular old computer program, just as easy as you would write a DSL. But you don't need a DSL to do this; the AI can already program.</i><p>I use LLMs to write DSLs that I write all the time! What else is an LLM doing when it is stringing together a bash pipeline than coordinating a number of DSLs? jq is what, 15 years old? I see LLMs using it all the time. Who knows, maybe there are a few more tools that have yet to be made that will further bridge the expressivity gap between human language and computers.</p>
]]></description><pubDate>Fri, 12 Jun 2026 03:21:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48499530</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=48499530</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48499530</guid></item><item><title><![CDATA[How a new DSL may survive in the era of LLMs]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.williamcotton.com/articles/how-a-new-dsl-survives-in-the-era-of-llms">https://www.williamcotton.com/articles/how-a-new-dsl-survives-in-the-era-of-llms</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48490939">https://news.ycombinator.com/item?id=48490939</a></p>
<p>Points: 52</p>
<p># Comments: 19</p>
]]></description><pubDate>Thu, 11 Jun 2026 14:35:41 +0000</pubDate><link>https://www.williamcotton.com/articles/how-a-new-dsl-survives-in-the-era-of-llms</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=48490939</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48490939</guid></item><item><title><![CDATA[Show HN: Algraf, block-scoped, algebraic grammar-of-graphics DSL]]></title><description><![CDATA[

<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48484358">https://news.ycombinator.com/item?id=48484358</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 10 Jun 2026 23:41:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48484358</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=48484358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48484358</guid></item><item><title><![CDATA[Datafarm: Two Bespoke Languages, Two Runtimes]]></title><description><![CDATA[
<p>Article URL: <a href="https://williamcotton.github.io/datafarm-studio/">https://williamcotton.github.io/datafarm-studio/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48483427">https://news.ycombinator.com/item?id=48483427</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 10 Jun 2026 22:11:18 +0000</pubDate><link>https://williamcotton.github.io/datafarm-studio/</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=48483427</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48483427</guid></item><item><title><![CDATA[New comment by williamcotton in "Harness engineering: Leveraging Codex in an agent-first world"]]></title><description><![CDATA[
<p>Legibility has a time and place, for example, global health data around pandemics.</p>
]]></description><pubDate>Sun, 07 Jun 2026 12:04:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48433997</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=48433997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48433997</guid></item><item><title><![CDATA[New comment by williamcotton in "Do the Hardest Thing"]]></title><description><![CDATA[
<p>Well what if you take on an extremely ambitious project like writing a programming language complete with DAP step debugging, a full LSP, etc, etc?<p>That takes a lot of quality time to just figure out the right syntax and semantics, let alone having to figure out how all of these complex pieces fit together!</p>
]]></description><pubDate>Fri, 05 Jun 2026 18:57:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48416717</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=48416717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48416717</guid></item><item><title><![CDATA[New comment by williamcotton in "I Don't Vibe Code"]]></title><description><![CDATA[
<p>> <i>However, the process was far more important than the product (again!). Not every whimsy needs to become a reality.</i><p>I mean, I get it, there's different kinds of people out there with different motivations, goals, spare time, etc.<p>But there's also a <i>process</i> of product design that I think the author is overlooking.<p>Lately I've been working and iterating on a number of DSLs, projects that might be a total waste of my time because they end up being poorly conceived or not very useful compared to a general purpose language!<p>I'm also working on a video game that is basically Magic: The Gathering meets StarCraft with Civilization style hex-grid conflict. It could be a total bust and entirely no fun to play (it's hard to tell if it's fun by itself because I enjoy working on the game while testing out the play patterns). It would suck to spend a couple of years on this if it's no good.<p>I very much enjoy the <i>process</i> of trying to figure out the best syntax and semantics for a new DSL or the <i>process</i> of iterating on gameplay elements when working on a game. The destination is also less important. I don't really expect anyone to use my DSLs or play my video games. I'm ultimately doing it for my own enjoyment.<p>Saying this, I am interested in the overall architecture and I've definitely learned from my mistakes, especially with creating DSLs. Like, having a TypeScript language server with a Rust runtime has some issues. It's kind of better to build the language server into the runtime so you're not maintaining multiple parsers, and depending on the language features, an additional pseudo-runtime in the language server.</p>
]]></description><pubDate>Wed, 20 May 2026 18:27:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48211944</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=48211944</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48211944</guid></item><item><title><![CDATA[New comment by williamcotton in "Different language models learn similar number representations"]]></title><description><![CDATA[
<p>> <i>It all makes a strong case for universal grammar, IMO.</i><p>What about through the lens of the Norvig-Chomsky debate?</p>
]]></description><pubDate>Fri, 24 Apr 2026 18:31:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47894093</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47894093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47894093</guid></item><item><title><![CDATA[New comment by williamcotton in "GPT-5.5"]]></title><description><![CDATA[
<p>One-shot converted my game from a 2D board to a 3D board along with all entities and animations. Sold!<p><a href="https://github.com/williamcotton/space-trader/commit/0859c657dad6515c94f23506265c0f1f775f52c4" rel="nofollow">https://github.com/williamcotton/space-trader/commit/0859c65...</a></p>
]]></description><pubDate>Fri, 24 Apr 2026 12:47:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47889473</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47889473</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47889473</guid></item><item><title><![CDATA[Show HN: Grammar of Graphics CLI tool made in Rust]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/williamcotton/gramgraph">https://github.com/williamcotton/gramgraph</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47835010">https://news.ycombinator.com/item?id=47835010</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 20 Apr 2026 14:36:11 +0000</pubDate><link>https://github.com/williamcotton/gramgraph</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47835010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47835010</guid></item><item><title><![CDATA[New comment by williamcotton in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>Space Trader!<p>Imagine mixing Magic: The Gathering, StarCraft and Civilization’s hex grid combat.<p>There’s multiplayer but I haven’t put the server anywhere yet.<p>Check out the introduction here:<p><a href="https://github.com/williamcotton/space-trader/blob/main/docs/introduction.md" rel="nofollow">https://github.com/williamcotton/space-trader/blob/main/docs...</a><p>Clone the repo:<p><pre><code>  npm install
  npm run dev
</code></pre>
There’s maybe a couple of other games called Space Trader so if anyone has any suggestions for a new name, I’m all ears!</p>
]]></description><pubDate>Sun, 12 Apr 2026 19:43:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47743609</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47743609</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47743609</guid></item><item><title><![CDATA[New comment by williamcotton in "AI assistance when contributing to the Linux kernel"]]></title><description><![CDATA[
<p>So what's the legal issue here?<p><i>How does the chardet achieve this? Explain in detail, with shortened code excerpts from the library itself if helpful to the explanation.</i><p>The prompt is explicitly requesting the source!</p>
]]></description><pubDate>Sat, 11 Apr 2026 16:06:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47731720</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47731720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47731720</guid></item><item><title><![CDATA[New comment by williamcotton in "AI assistance when contributing to the Linux kernel"]]></title><description><![CDATA[
<p><i>"Just a few weeks ago a SOTA model was shown to reproduce non-trivial amounts of licensed code[0]."</i><p>That LLM response is describing a specific project with full attribution.</p>
]]></description><pubDate>Sat, 11 Apr 2026 12:01:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47729829</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47729829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47729829</guid></item><item><title><![CDATA[New comment by williamcotton in "Claude Code's source code has been leaked via a map file in their NPM registry"]]></title><description><![CDATA[
<p>What about trade secrets, breach of contract, etc, etc?</p>
]]></description><pubDate>Tue, 31 Mar 2026 14:22:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47587814</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47587814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47587814</guid></item><item><title><![CDATA[New comment by williamcotton in "Shell Tricks That Make Life Easier (and Save Your Sanity)"]]></title><description><![CDATA[
<p>Undo:<p><pre><code>  Ctrl + _ (Ctrl + underscore)</code></pre></p>
]]></description><pubDate>Thu, 26 Mar 2026 12:10:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47529501</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47529501</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47529501</guid></item><item><title><![CDATA[New comment by williamcotton in "So where are all the AI apps?"]]></title><description><![CDATA[
<p>I agree 100%. Boring old software skills are part of what it took to "write" this DSL, complete with a fully featured LSP:<p><a href="https://github.com/williamcotton/webpipe" rel="nofollow">https://github.com/williamcotton/webpipe</a><p><a href="https://github.com/williamcotton/webpipe-lsp" rel="nofollow">https://github.com/williamcotton/webpipe-lsp</a><p>(lots of animated GIFs to show off the LSP and debugger!)<p>While I barely typed any of this myself I sure as heck read most of the generated code. But not all of it!<p>Of course you have to consider my blog to be "in production":<p><a href="https://github.com/williamcotton/williamcotton.com/blob/main/app.wp" rel="nofollow">https://github.com/williamcotton/williamcotton.com/blob/main...</a><p>The reason I'm mentioning this project is because the article questions where all the AI apps are. Take a look at the git history of these projects and question if this would have been possible to accomplish in such a relatively short timeframe! Or maybe it's totally doable? I'm not sure. I knew nothing about quite a bit of the subsystems, eg, the Debug Adapter Protocol, before their implementation.</p>
]]></description><pubDate>Tue, 24 Mar 2026 18:47:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47507362</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47507362</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47507362</guid></item><item><title><![CDATA[New comment by williamcotton in "Claude Code Cheat Sheet"]]></title><description><![CDATA[
<p>Undo (typing):<p><pre><code>  Ctrl + _ (Ctrl + underscore)
</code></pre>
Applies to the line editor outside of CC as well.</p>
]]></description><pubDate>Tue, 24 Mar 2026 00:38:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47497229</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47497229</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47497229</guid></item><item><title><![CDATA[New comment by williamcotton in "How I'm Productive with Claude Code"]]></title><description><![CDATA[
<p>Lines of code are meaningful when taken in aggregate and useless as a metric for an individual’s contributions.<p>COCOMO, which considers lines of code, is generally accepted as being accurate (enough) at estimating the value of a software system, at least as far as how courts (in the US) are concerned.<p><a href="https://en.wikipedia.org/wiki/COCOMO" rel="nofollow">https://en.wikipedia.org/wiki/COCOMO</a></p>
]]></description><pubDate>Mon, 23 Mar 2026 22:43:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47496151</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47496151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47496151</guid></item><item><title><![CDATA[New comment by williamcotton in "The three pillars of JavaScript bloat"]]></title><description><![CDATA[
<p>That’s not how we started down this path. See snark-free sibling comment from padjo.</p>
]]></description><pubDate>Sun, 22 Mar 2026 09:06:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47475722</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47475722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47475722</guid></item><item><title><![CDATA[New comment by williamcotton in "An industrial piping contractor on Claude Code [video]"]]></title><description><![CDATA[
<p><i>”The current market share of custom-built homes is approximately 19% of total single-family starts”</i><p><a href="https://www.nahb.org/blog/2025/08/custom-home-building-grows-q2" rel="nofollow">https://www.nahb.org/blog/2025/08/custom-home-building-grows...</a></p>
]]></description><pubDate>Sat, 21 Mar 2026 16:42:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47468631</link><dc:creator>williamcotton</dc:creator><comments>https://news.ycombinator.com/item?id=47468631</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47468631</guid></item></channel></rss>