<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: samwillis</title><link>https://news.ycombinator.com/user?id=samwillis</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 25 Apr 2026 21:11:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=samwillis" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[AI agents as CRDT peers – building collaborative AI with Yjs]]></title><description><![CDATA[
<p>Article URL: <a href="https://electric-sql.com/blog/2026/04/08/ai-agents-as-crdt-peers-with-yjs">https://electric-sql.com/blog/2026/04/08/ai-agents-as-crdt-peers-with-yjs</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47692540">https://news.ycombinator.com/item?id=47692540</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 08 Apr 2026 16:33:46 +0000</pubDate><link>https://electric-sql.com/blog/2026/04/08/ai-agents-as-crdt-peers-with-yjs</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=47692540</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47692540</guid></item><item><title><![CDATA[New comment by samwillis in "Lies I was told about collaborative editing, Part 2: Why we don't use Yjs"]]></title><description><![CDATA[
<p>It's disingenuous to suggest that "Yjs will completely destroy and re-create the entire document on every single keystroke" and that this is "by design" of Yjs. This is a design limitation of the official y-Prosemirror bindings that are integrating two distinct (and complex) projects. The post is implying that this is a flaw in the core Yjs library and an issue with CRDTs as a whole. This is not the case.<p>It is very true that there are nuances you have to deal with when using CRDT toolkits like Yjs and Automerge - the merged state is "correct" as a structure, but may not match your scheme. You have to deal with that into your application (Prosemirror does this for you, if you want it, and can live with the invalid nodes being removed)<p>You can't have your cake and eat it with CRDTs, just as you can't with OT. Both come with compromises and complexities. Your job as a developer is to weigh them for the use case you are designing for.<p>One area in particular that I feel CRDTs may really shine is in agentic systems. The ability to fork+merge at will is incredibly important for async long running tasks. You can validate the state after an agent has worked, and then decide to merge to main or not. Long running forks are more complex to achieve with OT.<p>There is some good content in this post, but it's leaning a little too far towards drama creation for my tast.</p>
]]></description><pubDate>Mon, 16 Mar 2026 06:51:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47395826</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=47395826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47395826</guid></item><item><title><![CDATA[New comment by samwillis in "Woxi: Wolfram Mathematica Reimplementation in Rust"]]></title><description><![CDATA[
<p>Have you considered doing property tests with Mathematica as an oracle?<p>An ai based development workflow with a concrete oracle works very well. You still need the research and planing to solve things in a scalable way, but it solves the "are the tests correct" issue.<p>What we've done is pull out failing property tests as a unit tests, makes regression testing during the agentic coding loop much more efficient.</p>
]]></description><pubDate>Sat, 28 Feb 2026 18:56:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47198896</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=47198896</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47198896</guid></item><item><title><![CDATA[From science fiction to reality – you can build difficult things with LLMs now]]></title><description><![CDATA[
<p>Article URL: <a href="https://electric-sql.com/blog/2026/01/20/from-science-fiction-to-reality-you-can-build-difficult-things-now">https://electric-sql.com/blog/2026/01/20/from-science-fiction-to-reality-you-can-build-difficult-things-now</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46709779">https://news.ycombinator.com/item?id=46709779</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 21 Jan 2026 18:48:58 +0000</pubDate><link>https://electric-sql.com/blog/2026/01/20/from-science-fiction-to-reality-you-can-build-difficult-things-now</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46709779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46709779</guid></item><item><title><![CDATA[Scaling long-running autonomous coding]]></title><description><![CDATA[
<p>Article URL: <a href="https://cursor.com/blog/scaling-agents">https://cursor.com/blog/scaling-agents</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46624541">https://news.ycombinator.com/item?id=46624541</a></p>
<p>Points: 290</p>
<p># Comments: 197</p>
]]></description><pubDate>Wed, 14 Jan 2026 22:18:04 +0000</pubDate><link>https://cursor.com/blog/scaling-agents</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46624541</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46624541</guid></item><item><title><![CDATA[New comment by samwillis in "Don't fall into the anti-AI hype"]]></title><description><![CDATA[
<p>I'm convinced that LLMs results in all software needing to be open source (or at the very least source available).<p>In future <i>everyone</i> will expect to be able to customise an application, if the source is not available they will not chose your application as a base. It's that simple.<p>The future is highly customisable software, and that is best built on open source. How this looks from a business perspective I think we will have to find out, but it's going to be fun!</p>
]]></description><pubDate>Sun, 11 Jan 2026 11:19:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46574607</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46574607</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46574607</guid></item><item><title><![CDATA[New comment by samwillis in "Cadova: Swift DSL for parametric 3D modeling"]]></title><description><![CDATA[
<p>Manifold works on solid triangle meshes, OpenCascade is a true BREP kernel that represents solids as edges (straight and curved) and surfaces (not meshed) computed from those edges. There is no triangulation in the root model in OpenCascade.</p>
]]></description><pubDate>Sat, 03 Jan 2026 16:11:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46478280</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46478280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46478280</guid></item><item><title><![CDATA[New comment by samwillis in "The Bayesian Geometry of Transformer Attention"]]></title><description><![CDATA[
<p>Higher level overview and links to the other related papers: <a href="https://medium.com/@vishalmisra/attention-is-bayesian-inference-578c25db4501" rel="nofollow">https://medium.com/@vishalmisra/attention-is-bayesian-infere...</a></p>
]]></description><pubDate>Thu, 01 Jan 2026 16:25:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46455306</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46455306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46455306</guid></item><item><title><![CDATA[The Bayesian Geometry of Transformer Attention]]></title><description><![CDATA[
<p>Article URL: <a href="https://arxiv.org/abs/2512.22471">https://arxiv.org/abs/2512.22471</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46455302">https://news.ycombinator.com/item?id=46455302</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 01 Jan 2026 16:24:49 +0000</pubDate><link>https://arxiv.org/abs/2512.22471</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46455302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46455302</guid></item><item><title><![CDATA[New comment by samwillis in "Show HN: OpenWorkers – Self-hosted Cloudflare workers in Rust"]]></title><description><![CDATA[
<p>Yes, exactly. The other reason Cloudflare workers runtime is secure is that they are incredibly active at keeping it patched and up to date with V8 main. It's often ahead of Chrome in adopting V8 releases.</p>
]]></description><pubDate>Thu, 01 Jan 2026 16:18:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46455251</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46455251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46455251</guid></item><item><title><![CDATA[Attention Is Bayesian Inference]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/@vishalmisra/attention-is-bayesian-inference-578c25db4501">https://medium.com/@vishalmisra/attention-is-bayesian-inference-578c25db4501</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46439064">https://news.ycombinator.com/item?id=46439064</a></p>
<p>Points: 152</p>
<p># Comments: 32</p>
]]></description><pubDate>Tue, 30 Dec 2025 22:51:18 +0000</pubDate><link>https://medium.com/@vishalmisra/attention-is-bayesian-inference-578c25db4501</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46439064</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46439064</guid></item><item><title><![CDATA[Concurrent JavaScript: It can work]]></title><description><![CDATA[
<p>Article URL: <a href="https://webkit.org/blog/7846/concurrent-javascript-it-can-work/">https://webkit.org/blog/7846/concurrent-javascript-it-can-work/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46344262">https://news.ycombinator.com/item?id=46344262</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 21 Dec 2025 12:14:36 +0000</pubDate><link>https://webkit.org/blog/7846/concurrent-javascript-it-can-work/</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46344262</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46344262</guid></item><item><title><![CDATA[New comment by samwillis in "SSE sucks for transporting LLM tokens"]]></title><description><![CDATA[
<p>This is one of the main use cases we are building "Durable Streams" for, it's an open source spec for a resumable and durable stream protocol. It's essentially an append only log with a http api.<p><a href="https://github.com/durable-streams/durable-streams" rel="nofollow">https://github.com/durable-streams/durable-streams</a><p><a href="https://electric-sql.com/blog/2025/12/09/announcing-durable-streams" rel="nofollow">https://electric-sql.com/blog/2025/12/09/announcing-durable-...</a><p>When we built ElectricSQL we needed a resumable and durable stream of messages for sync and developed a highly robust and scalable protocol for it. We have now taken that experience and are extracting the underlying transport as an open protocol. This is something the industry needs, and it's essential that it's a standard that portable between provider, libraries and SDKs.<p>The idea is that a stream is a url addressable entity that can be read and tailed, using very simple http protocol (long polling and a SSE-like mode). But it's fully resumable from a known offset.<p>We've been using the previous iteration of this as the transport part of the electric sync protocol for the last 18 months. It's very well tested, both on servers, in the browser, but importantly in combination with CDNs. It's possible to scale this to essential unlimited connections (we've tested to 1 million) by request collapsing in the CDN, and as it's so cacheable it lifts a lot of load of your origin when a client reconnect from the start.<p>For the LLM use case you will be able to append messages/tokens directly to a stream via a http post (we're working on specifying a websocket write path) and the client just tails it. If the user refreshes the page it will just read back from the start and continue tailing the live session. Avoids appending tokens to a database in order to provide durability.</p>
]]></description><pubDate>Sat, 13 Dec 2025 19:45:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46257331</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46257331</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46257331</guid></item><item><title><![CDATA[New comment by samwillis in "Transparent leadership beats servant leadership"]]></title><description><![CDATA[
<p>> But they need to FEEL the weather<p>You mean they need to smell it!</p>
]]></description><pubDate>Thu, 04 Dec 2025 19:17:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46151590</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46151590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46151590</guid></item><item><title><![CDATA[New comment by samwillis in "PGlite – Embeddable Postgres"]]></title><description><![CDATA[
<p>The key limitation (at the moment) is that it only supports a single connection. W're planning to lift that limitation though.</p>
]]></description><pubDate>Thu, 04 Dec 2025 12:33:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46146933</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46146933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46146933</guid></item><item><title><![CDATA[New comment by samwillis in "PGlite – Embeddable Postgres"]]></title><description><![CDATA[
<p>This is such awesome work! We *are* going to get this integrated with the ongoing work for "libpglite".</p>
]]></description><pubDate>Thu, 04 Dec 2025 12:26:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46146880</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46146880</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46146880</guid></item><item><title><![CDATA[New comment by samwillis in "PGlite – Embeddable Postgres"]]></title><description><![CDATA[
<p>You can use <a href="http://electric-sql.com" rel="nofollow">http://electric-sql.com</a> to sync into PGlite in the browser from postgres. There are docs here: <a href="https://pglite.dev/docs/sync" rel="nofollow">https://pglite.dev/docs/sync</a></p>
]]></description><pubDate>Thu, 04 Dec 2025 12:25:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46146873</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46146873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46146873</guid></item><item><title><![CDATA[New comment by samwillis in "PGlite – Embeddable Postgres"]]></title><description><![CDATA[
<p>I'm not aware of anything trying to compile timescale for it. Some extensions are easer than other, if there is limited (or ideally no) network IO and its written in C (Timescale is!) with minimal dependencies then its a little easer to get them working.</p>
]]></description><pubDate>Thu, 04 Dec 2025 12:20:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46146834</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46146834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46146834</guid></item><item><title><![CDATA[New comment by samwillis in "PGlite – Embeddable Postgres"]]></title><description><![CDATA[
<p>There are a few people using it in prod for customer facing web apps.<p>Extensions are also available - we have a list here: <a href="https://pglite.dev/extensions/" rel="nofollow">https://pglite.dev/extensions/</a>. We would love to extend the availability of more, some are more complex than others though. We are getting close to getting PostGIS to work, there is an open PR that anyone is welcome to pick up and hack on.</p>
]]></description><pubDate>Thu, 04 Dec 2025 12:18:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46146819</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46146819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46146819</guid></item><item><title><![CDATA[New comment by samwillis in "PGlite – Embeddable Postgres"]]></title><description><![CDATA[
<p>We have a long on running research project with the intention of carting a "libpglite" with a C FFI and compiled as a dynamic library for native embedding. We're making steady progress towards it.</p>
]]></description><pubDate>Thu, 04 Dec 2025 12:11:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46146761</link><dc:creator>samwillis</dc:creator><comments>https://news.ycombinator.com/item?id=46146761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46146761</guid></item></channel></rss>