<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: stuartaxelowen</title><link>https://news.ycombinator.com/user?id=stuartaxelowen</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 03:58:47 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=stuartaxelowen" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by stuartaxelowen in "Building durable workflows on Postgres"]]></title><description><![CDATA[
<p>My dream is, instead of separating data storage, state machines, valid state constraints, and the logic that transitions between valid states, we can actually unify these into some kernel of app state. Honestly, Postgres already has a lot of these capabilities, but I don’t see an obvious story on the app or product level, providing provably correct sets of states that apps can transition between, and which they can automatically expose to clients in informative ways (this user can like this post, but not edit). It looks colored Petri net shaped to me, but I don’t yet see a simple app state paradigm in the same way that the database has obvious successful boundaries.</p>
]]></description><pubDate>Thu, 28 May 2026 20:01:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48314591</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=48314591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48314591</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Just Use Postgres for Durable Workflows"]]></title><description><![CDATA[
<p>Why’s that?</p>
]]></description><pubDate>Thu, 28 May 2026 19:55:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48314500</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=48314500</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48314500</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Is it a pint?"]]></title><description><![CDATA[
<p>In Taiwan the standard way to drink beer is to get it in large bottles, but shared with a small glass per person. Easy to not drink much that way, and promotes the social “let me fill your glass” behavior.  (making it harder to not drink much)</p>
]]></description><pubDate>Tue, 24 Mar 2026 00:24:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47497076</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=47497076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47497076</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Where things stand with the Department of War"]]></title><description><![CDATA[
<p>Given the atomization and layering of work, this has become much harder to truly judge. Ten years ago I was excited to join a customer feedback platform - what could be better than helping companies understand their customers and provide better services and products? You can probably see where this is going, but inevitably the tools were just used to better tweak product profitability and eliminate end customer surplus, to the customer company’s benefit. And they were used by the likes of draft kings et al along with the Starbucks and Nikes of the world. I hear people claim that, in capitalism, no one hands are clean, and I am inclined to agree.</p>
]]></description><pubDate>Fri, 06 Mar 2026 18:05:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47278677</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=47278677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47278677</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "The only moat left is money?"]]></title><description><![CDATA[
<p>It seems that we have forgotten how to distinguish between value and profit, and now celebrate the latter instead of the former. Currency enables ever broader and more niche markets, but the financialization of everything is the Faustian bargain; we gained niche hobbies but lost our souls?</p>
]]></description><pubDate>Wed, 18 Feb 2026 21:29:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47066690</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=47066690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47066690</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Colored Petri Nets, LLMs, and distributed applications"]]></title><description><![CDATA[
<p>I too am still investigating the space, but what's attractive to me about CPNs is that they can be both the specification and the implementation. How you describe the CPN in code matters, but I'm toying with a rust + SQL-macros version that makes describing invariants etc natural. My understanding is that for TLA+ you'd need to write the spec, and then write an implementation for it. This might be another path for "describe formally verifiable shape then agentic code it", but it smells to me a little like it wouldn't be doing as much work as it could. I think in this there's an opportunity to create a "state store" where the network topology and invariants ensure the consistency of the "marking" (e.g. state of the database here) and that its in a valid state based on the current network definition. You could say "well SQL databases already have check constraints", and we'd probably use those under the hood, but I am betting on the ergonomics of putting the constraints right next to the things/actions relevant to them.</p>
]]></description><pubDate>Sun, 15 Feb 2026 00:45:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47020012</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=47020012</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47020012</guid></item><item><title><![CDATA[Colored Petri Nets, LLMs, and distributed applications]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.sao.dev/cpns-llms-distributed-apps/">https://blog.sao.dev/cpns-llms-distributed-apps/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47018405">https://news.ycombinator.com/item?id=47018405</a></p>
<p>Points: 53</p>
<p># Comments: 6</p>
]]></description><pubDate>Sat, 14 Feb 2026 21:08:08 +0000</pubDate><link>https://blog.sao.dev/cpns-llms-distributed-apps/</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=47018405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47018405</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Coding agents have replaced every framework I used"]]></title><description><![CDATA[
<p>It is tempting to think that we can delegate describing the mental model to AI, but it seems like all of this boils down to humans making bets, and it also seems like the fundamental bets engineers are making are about the formalisms that encode the product and make it valuable.</p>
]]></description><pubDate>Sun, 08 Feb 2026 22:21:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46939162</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=46939162</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46939162</guid></item><item><title><![CDATA[Breaking the Spell of Vibe Coding]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.fast.ai/posts/2026-01-28-dark-flow/">https://www.fast.ai/posts/2026-01-28-dark-flow/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46846448">https://news.ycombinator.com/item?id=46846448</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 01 Feb 2026 14:28:31 +0000</pubDate><link>https://www.fast.ai/posts/2026-01-28-dark-flow/</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=46846448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46846448</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Ask HN: Do you also "hoard" notes/links but struggle to turn them into actions?"]]></title><description><![CDATA[
<p>Notes are options. Sometimes options for taking action later, sometimes as reference for related action. The bet when writing a note is that its risk adjusted return for those avenues is higher than the opportunity cost.<p>I also have similar thoughts on turning writing into action and re-entrance, would be interested to hear your thoughts:<p><a href="https://blog.sao.dev/2025-threads/" rel="nofollow">https://blog.sao.dev/2025-threads/</a><p>This has proven to work well for me, but I’m chafing with git and agentic coding abstractions and looking for a unifying concept. Agent of empires doesn’t feel quite right, but is in the right direction.</p>
]]></description><pubDate>Sat, 31 Jan 2026 00:44:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46832020</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=46832020</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46832020</guid></item><item><title><![CDATA[New comment by stuartaxelowen in ""Anyone else out there vibe circuit-building?""]]></title><description><![CDATA[
<p>I’m curious why you don’t target an HDL, which seems like it should match very well to llm capabilities, and rely on existing layout solvers for describing the last physical layout step?</p>
]]></description><pubDate>Mon, 19 Jan 2026 16:39:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46681023</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=46681023</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46681023</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Ask HN: Share your personal website"]]></title><description><![CDATA[
<p><a href="https://blog.sao.dev" rel="nofollow">https://blog.sao.dev</a></p>
]]></description><pubDate>Wed, 14 Jan 2026 21:17:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46623599</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=46623599</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46623599</guid></item><item><title><![CDATA[Threads – A context strategy for humans and LLMs]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.sao.dev/2025-threads/">https://blog.sao.dev/2025-threads/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46430585">https://news.ycombinator.com/item?id=46430585</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 30 Dec 2025 07:40:38 +0000</pubDate><link>https://blog.sao.dev/2025-threads/</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=46430585</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46430585</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "I tried Gleam for Advent of Code"]]></title><description><![CDATA[
<p>Does that mean pass every needed function as a parameter? Or just don’t write generic functionality?</p>
]]></description><pubDate>Sun, 14 Dec 2025 06:23:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46261185</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=46261185</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46261185</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "I tried Gleam for Advent of Code"]]></title><description><![CDATA[
<p>The answer I’ve seen is “just pass structs of functions around”, which is just one step more explicit than the implicit version we’re all use to, but honestly I kinda like it to free ourselves of all the ceremony around generics.</p>
]]></description><pubDate>Sat, 13 Dec 2025 19:18:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46257087</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=46257087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46257087</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Ask HN: What are you working on? (September 2025)"]]></title><description><![CDATA[
<p>I think this is where it gets interesting. With partition dependency propagation, backfills are just “hey this range of partitions should exist”. Or, your “wants” partitions are probably still active, and you can just taint the existing partitions. This invalidates the existing partitions, so the wants trigger builds again, and existing consumers don’t see the tainted partitions as live. I think things actually get a lot simpler when you stop trying to reason about those data relationships manually!</p>
]]></description><pubDate>Tue, 30 Sep 2025 05:38:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=45422266</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=45422266</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45422266</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Ask HN: What are you working on? (September 2025)"]]></title><description><![CDATA[
<p>Definitely open source!</p>
]]></description><pubDate>Tue, 30 Sep 2025 05:33:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45422245</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=45422245</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45422245</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Ask HN: What are you working on? (September 2025)"]]></title><description><![CDATA[
<p>I'm working on a partition-oriented declarative data build system. The inspiration comes from working with systems like Airflow and AWS step functions, where data orchestration is described explicitly, and the dependency relationships between input and produced data partitions is complex. Put simply, writing orchestration code for this case sucks - the goal of the project is to enable whole data platforms to be made up of jobs that declare their input and output partition deps, so that they can be automatically fulfilled, enabling kubernetes-like continuous reconciliation of desired partitions.<p>This means, instead of the answer to "how do we produce this output data" being "trigger and pray everything upstream is still working", we can answer with "the system was asked to produce this output data partition and its dependencies were automatically built for it". My hope is that this allows the interface with the system to instead be continuously telling it what partitions we want to exist, and letting it figure out the rest, instead of the byzantine DAGs that get built in airflow/etc.<p>This comes out of a big feeling that even more recent orchestrators like Prefect, Dagster, etc are still solving the wrong problem, and not internalizing the right complexity.</p>
]]></description><pubDate>Mon, 29 Sep 2025 22:03:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45419334</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=45419334</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45419334</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "Immich mobile app sync V2"]]></title><description><![CDATA[
<p>Live Photos work for me on iOS.</p>
]]></description><pubDate>Thu, 25 Sep 2025 23:33:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45380692</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=45380692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45380692</guid></item><item><title><![CDATA[New comment by stuartaxelowen in "How to Lead in a Room Full of Experts"]]></title><description><![CDATA[
<p>I love the distribution of answers to this.</p>
]]></description><pubDate>Wed, 24 Sep 2025 23:00:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45366932</link><dc:creator>stuartaxelowen</dc:creator><comments>https://news.ycombinator.com/item?id=45366932</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45366932</guid></item></channel></rss>