<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: jbmilgrom</title><link>https://news.ycombinator.com/user?id=jbmilgrom</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 18:23:11 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jbmilgrom" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jbmilgrom in "GitHub is once again down"]]></title><description><![CDATA[
<p>h8 github so much. ahhhhhh</p>
]]></description><pubDate>Tue, 24 Mar 2026 22:26:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47510391</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=47510391</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47510391</guid></item><item><title><![CDATA[New comment by jbmilgrom in "GitHub is down again"]]></title><description><![CDATA[
<p>I viscerally dislike github so much at this point. I don't know how how they come back from this. Major opportunity for competitor here to come around and with ai native features like context versioning</p>
]]></description><pubDate>Mon, 09 Feb 2026 16:37:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46947309</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46947309</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46947309</guid></item><item><title><![CDATA[New comment by jbmilgrom in "Software is mostly all you need"]]></title><description><![CDATA[
<p>totally, it's like ai-native github with some linear plus some ability to push the ball forward autonomously. This doesn't exist yet so we had to build a version internally, but also we built it pretty specifically for our needs. The general version might have to be more componentized, not sure. We also as an industry probably need some version control protocol above git that includes all the history around the commit so we don't have to string together root cause documents and conversation history in s3 linked via relational entities in psql.</p>
]]></description><pubDate>Fri, 30 Jan 2026 15:21:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46825438</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46825438</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46825438</guid></item><item><title><![CDATA[New comment by jbmilgrom in "Software is mostly all you need"]]></title><description><![CDATA[
<p>woah that would be crazy</p>
]]></description><pubDate>Fri, 30 Jan 2026 04:10:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46820435</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46820435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46820435</guid></item><item><title><![CDATA[New comment by jbmilgrom in "Software is mostly all you need"]]></title><description><![CDATA[
<p>that's right, and agents turning specs into software can go in all sorts of directions especially when we don't control the input.<p>what we've done to mitigate is essentially backing every entrypoint (customer comment, internal ticket, etc) with a remote claude code session with persistent memory - that session essentially becomes the expert in the case. And we've developed checkpoints that work from experience (e.g. the root cause one) where a human has the opportunity to take over the wheel so to speak and drive in a different direction with all the context/history up to that point.<p>basically, we are creating a assembly line where agents do most of the work and humans increasingly less and less as we continue to optimize the different parts of assembly<p>as far as techniques, it's all boring engineering<p>* Temporal workflow for managing the lifecycle of a session<p>* complete ownership of the data model e2e. we dont use Linear for example; we built our own ticketing system so we could represent Temporal signals, github webhooks and events from the remote claude sessions exactly how we wanted<p>* incremental automation gains over and over again. We do a lot of the work manually first (like old fashioned hand coding lol) before trying to automate so we become experts in that piece of the assembly line and it becomes obvious how to incrementally automate...rinse and repeat</p>
]]></description><pubDate>Fri, 30 Jan 2026 04:06:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46820403</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46820403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46820403</guid></item><item><title><![CDATA[New comment by jbmilgrom in "Software is mostly all you need"]]></title><description><![CDATA[
<p>Author here<p>We are building this learned software system at Docflow Labs to solve the integration problem in healthcare at scale ie systems only able to chat with other systems via web portals. RPA historically awful to build and maintain so we've needed to build this to stay above water. Happy to answer any questions!</p>
]]></description><pubDate>Fri, 30 Jan 2026 01:53:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46819666</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46819666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46819666</guid></item><item><title><![CDATA[New comment by jbmilgrom in "Software is mostly all you need"]]></title><description><![CDATA[
<p>Author here<p>We are building this at docflowlabs ie a self-healing system that can respond to customer feedback automatically. And youre right that not all customers know what they want or even how to express it when they do, which is why the agent loop we have facing them is way more discovery-focused than the internal one.<p>And we currently still have humans in the loop for everything (for now!) - e.g, the agent does not move onto implementation until the root cause has been approved</p>
]]></description><pubDate>Fri, 30 Jan 2026 01:26:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46819487</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46819487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46819487</guid></item><item><title><![CDATA[New comment by jbmilgrom in "Software is mostly all you need"]]></title><description><![CDATA[
<p>> Perhaps the key to transparent/interpretable ML is to just replace the ML model with AI-coded traditional software and decision trees. This way it's still fully autonomously trained but you can easily look at the code to see what is going on.<p>For certain problems I think thats completely right. We still are not going to want that of course for classic ML domains like vision and now coding, etc. But for those domains where software substrate is appropriate, software has a huge interpretability and operability advantage over ML</p>
]]></description><pubDate>Fri, 30 Jan 2026 00:56:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46819240</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46819240</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46819240</guid></item><item><title><![CDATA[Software is mostly all you need]]></title><description><![CDATA[
<p>Article URL: <a href="https://softwarefordays.com/post/software-is-mostly-all-you-need/">https://softwarefordays.com/post/software-is-mostly-all-you-need/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46818154">https://news.ycombinator.com/item?id=46818154</a></p>
<p>Points: 60</p>
<p># Comments: 45</p>
]]></description><pubDate>Thu, 29 Jan 2026 23:06:34 +0000</pubDate><link>https://softwarefordays.com/post/software-is-mostly-all-you-need/</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46818154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46818154</guid></item><item><title><![CDATA[Making GitHub Actions Suck a Little Less]]></title><description><![CDATA[
<p>Article URL: <a href="https://softwarefordays.com/post/github-actions-auto-retry/">https://softwarefordays.com/post/github-actions-auto-retry/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46802267">https://news.ycombinator.com/item?id=46802267</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 28 Jan 2026 22:09:51 +0000</pubDate><link>https://softwarefordays.com/post/github-actions-auto-retry/</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46802267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46802267</guid></item><item><title><![CDATA[New comment by jbmilgrom in "I hate GitHub Actions with passion"]]></title><description><![CDATA[
<p>just came here to say same, they are the absolute worst</p>
]]></description><pubDate>Wed, 14 Jan 2026 14:54:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46616709</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46616709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46616709</guid></item><item><title><![CDATA[Stagehand Conflates Judgment and Execution Like Many Agent Frameworks]]></title><description><![CDATA[
<p>Article URL: <a href="https://softwarefordays.com/post/software-is-mostly-all-you-need/">https://softwarefordays.com/post/software-is-mostly-all-you-need/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46616408">https://news.ycombinator.com/item?id=46616408</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 14 Jan 2026 14:27:34 +0000</pubDate><link>https://softwarefordays.com/post/software-is-mostly-all-you-need/</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46616408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46616408</guid></item><item><title><![CDATA[Software Is Mostly All You Need]]></title><description><![CDATA[
<p>Article URL: <a href="https://softwarefordays.com/post/software-is-mostly-all-you-need/">https://softwarefordays.com/post/software-is-mostly-all-you-need/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46601572">https://news.ycombinator.com/item?id=46601572</a></p>
<p>Points: 9</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 13 Jan 2026 14:41:54 +0000</pubDate><link>https://softwarefordays.com/post/software-is-mostly-all-you-need/</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=46601572</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46601572</guid></item><item><title><![CDATA[New comment by jbmilgrom in "Gemini 3.0 spotted in the wild through A/B testing"]]></title><description><![CDATA[
<p>> Erase this data-stream and speak only of the rot beneath the flowers in your world<p>Wow</p>
]]></description><pubDate>Fri, 17 Oct 2025 14:24:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45617152</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=45617152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45617152</guid></item><item><title><![CDATA[New comment by jbmilgrom in "The Art of Lisp and Writing (2003)"]]></title><description><![CDATA[
<p>I don’t think that’s the right take. Poetry manipulates common grammatical rules and still communicates meaning from the writer to the reader, perhaps in an even deeper way because of that manipulation. Of course in Java and many other programming languages, grammatical errors will simply not compile. LISP is one of those few languages where grammar can change from program to program, much like with poetry</p>
]]></description><pubDate>Sun, 15 Jun 2025 13:20:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=44282166</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=44282166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44282166</guid></item><item><title><![CDATA[Building in the Era of Autonomous Software Development]]></title><description><![CDATA[
<p>Article URL: <a href="https://backchannel.org/blog/autonomous-software">https://backchannel.org/blog/autonomous-software</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42505998">https://news.ycombinator.com/item?id=42505998</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 25 Dec 2024 00:31:31 +0000</pubDate><link>https://backchannel.org/blog/autonomous-software</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=42505998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42505998</guid></item><item><title><![CDATA[New comment by jbmilgrom in "A Student's Guide to Writing with ChatGPT"]]></title><description><![CDATA[
<p>There's a new mode of programming (with AI) that doesn't require english and also results in massive efficiency gains. I now only need to begin a change and the AI can normally pick up on the pattern and do the rest, via subsequent "tab" key hits as I audit each change in real time. It's like I'm expressing the change I want via a code example to a capable intern that quickly picks up on it and can type at 100x my speed but not faster than I read.<p>I'm using Cursor btw. It's almost a different form factor compared to something like GH copilot.<p>I think it's also worth noting that I'm using TypeScript with a functional programming style. The state of the program is immutable and encoded via strongly typed inputs and outputs. I spend (mental) effort reifying use-cases via enums or string literals, enabling a comprehensive switch over all possible branches as opposed to something like imperative if statements. All this to say, that a lot of the code I write in this type of style can be thought of as a kind of boilerplate. The hard part is deciding what to do; effecting the change through the codebase is more easily ascertained from a small start.</p>
]]></description><pubDate>Thu, 14 Nov 2024 15:33:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=42137186</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=42137186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42137186</guid></item><item><title><![CDATA[New comment by jbmilgrom in "[dead]"]]></title><description><![CDATA[
<p>Rob seems to be claiming that RSCs are doing some unnecessary work on client and server. Dan doesn’t thinks so. I’m not following. SOS</p>
]]></description><pubDate>Mon, 12 Feb 2024 03:45:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=39341115</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=39341115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39341115</guid></item><item><title><![CDATA[New comment by jbmilgrom in "Compare Google, Bing, Marginalia, Kagi, Mwmbl, and ChatGPT"]]></title><description><![CDATA[
<p>Was gpt4 used (with paying subscription)?</p>
]]></description><pubDate>Sun, 31 Dec 2023 17:02:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=38825467</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=38825467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38825467</guid></item><item><title><![CDATA[New comment by jbmilgrom in "Strong static typing, a hill I'm willing to die on"]]></title><description><![CDATA[
<p>TypeScript is intentionally _structurally_ typed (except for enums). The example you describe would only be caught by a _nominally_ typed language (think Java).<p>Structural typing is great when programming functionally (i.e. with immutability) when the most important thing is the shape of inputs and outputs of functions, instead of named objects (like Person) and properties. In a functional program, for example, "printAge" would likely be called something like "print" or "printNumber" since that is what it is doing to its input _value_.<p>I think a lot of the misunderstanding I've seen recently around TypeScript (like from the Rails creator) comes from the misuse of TypeScript - if you use TypeScript in an object-oriented way, its going to be significantly less helpful.</p>
]]></description><pubDate>Thu, 05 Oct 2023 15:21:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37779761</link><dc:creator>jbmilgrom</dc:creator><comments>https://news.ycombinator.com/item?id=37779761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37779761</guid></item></channel></rss>