<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: mulmboy</title><link>https://news.ycombinator.com/user?id=mulmboy</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 09 Sep 2026 22:58:31 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mulmboy" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mulmboy in "Stop sending me huge PRs; a rant"]]></title><description><![CDATA[
<p>Yes I think his stance works well for established contributors who have a reputation. For infrequent contributors, with no rep, it's a large liability to try to figure out if their plausible-at-a-glance work is actually slop. Such a liability with uncertain ROI hence the sentiment in OSS frequently banning or at least heavily policing AI usage</p>
]]></description><pubDate>Sun, 16 Aug 2026 00:59:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49315817</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=49315817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49315817</guid></item><item><title><![CDATA[New comment by mulmboy in "Stop sending me huge PRs; a rant"]]></title><description><![CDATA[
<p>What I'm trying to get at is if a PR comes in that looks decent at a glance, well in the past that was a strong signal and now it's not. But you can fall back on the relationship you have with the author. Trust , reputation. In OSS often you have no relationship with the author (of course ex established contributors or people who have well established public reputation). Whereas in a typical workplace you will quickly establish a relationship with those you work with</p>
]]></description><pubDate>Sun, 16 Aug 2026 00:56:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49315800</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=49315800</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49315800</guid></item><item><title><![CDATA[New comment by mulmboy in "Stop sending me huge PRs; a rant"]]></title><description><![CDATA[
<p>A good middle ground is to have a large PR open for reference, and then split sections of it out into separate PRs. This way you get nice reviewable chunks while also having the broader context.<p>This is similar to stacked PRs except that it's much easier to tweak things as you split them out without rebase shenanigans although of course if you tweak too much it kind of defeats the point of the whole thing.<p>A nice thing about this is that you can put the large PR up while it's still very draft for conceptual review (socialisatuon etc etc) while you work on splitting out and polishing parts of it.</p>
]]></description><pubDate>Sat, 15 Aug 2026 10:12:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49309331</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=49309331</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49309331</guid></item><item><title><![CDATA[New comment by mulmboy in "Stop sending me huge PRs; a rant"]]></title><description><![CDATA[
<p>Yes this. As an author I see it as my responsibility to socialise my work early and get buy in from reviewers.<p>The more I think about PR review, which I've been doing a lot lately thanks to AI, the more I see it as social in nature. Built on trust and reputation. It's no wonder OSS is tending to ban AI contributions - they don't have trust and reputation to fall back on as a heuristic.</p>
]]></description><pubDate>Sat, 15 Aug 2026 08:54:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=49308940</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=49308940</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49308940</guid></item><item><title><![CDATA[New comment by mulmboy in "Building and shipping Mac and iOS apps without opening Xcode"]]></title><description><![CDATA[
<p>I went to build an open source app from GitHub and was pretty surprised that it requires Xcode and that Xcode can't really be installed without an apple id. I do not want to make one and I certainly will not sign my computer into one.<p>I did end up somehow installing Xcode via some shady download and was on my way. But the whole ordeal left a very sour taste.</p>
]]></description><pubDate>Mon, 13 Jul 2026 20:47:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48898612</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=48898612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48898612</guid></item><item><title><![CDATA[New comment by mulmboy in "Optimization Solver as a Service"]]></title><description><![CDATA[
<p>Very difficult to take seriously when the entire site appears to be AI-written.</p>
]]></description><pubDate>Sun, 12 Jul 2026 08:25:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48879377</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=48879377</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48879377</guid></item><item><title><![CDATA[New comment by mulmboy in "Write code like a human will maintain it"]]></title><description><![CDATA[
<p>There's a cluster of issues like comments like "use a set instead of ..." after changing something which will just confuse people in the future. Or comments referring to irrelevant details of the planning/implementation process.<p>It's as though the machine can't separate the chat and planning docs from the code itself and so they meld into each other. As though it can't fully grasp that the code will outlive the current session by years.<p>Anyway I find a checklist approach works well to sort this out. I don't consider looking at machine generated code until after a checklist covering all this sort of stuff has been applied. My checklist approach currently has about 50 items which I have the machine apply by splitting it up across about 20 subagents. Pretty silly but it seriously improves the first-pass quality vs only a few subagents. I find this checklist can effectively eliminate words like "genuine" and "landed" from the code too. Eliminates vague and made up terminology. Makes it less nauseating</p>
]]></description><pubDate>Fri, 10 Jul 2026 20:42:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48864967</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=48864967</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48864967</guid></item><item><title><![CDATA[New comment by mulmboy in "System Card: Claude Mythos Preview [pdf]"]]></title><description><![CDATA[
<p>There are a few hints in the doc around this<p>> Importantly, we find that when used in an interactive, synchronous, “hands-on-keyboard”
pattern, the benefits of the model were less clear. When used in this fashion, some users perceived Mythos Preview as too slow and did not realize as much value. Autonomous, long-running agent harnesses better elicited the model’s coding capabilities. (p201)<p>^^ From the surrounding context, this could just be because the model tends to do a lot of work in the background which naturally takes time.<p>> Terminal-Bench 2.0 timeouts get quite restrictive at times, especially with thinking models, which risks hiding real capabilities jumps behind seemingly uncorrelated confounders like sampling speed. Moreover, some Terminal-Bench 2.0 tasks have ambiguities and limited resource specs that don’t properly allow agents to explore the full solution space — both being currently addressed by the maintainers in the 2.1 update. To exclusively measure agentic coding capabilities net of the confounders, we also ran Terminal-Bench with the latest 2.1 fixes available on GitHub, while increasing the timeout limits to 4 hours (roughly four times the 2.0 baseline). This brought the mean reward to 92.1%. (p188)<p>> ...Mythos Preview represents only a modest accuracy improvement over our best Claude Opus 4.6 score (86.9% vs. 83.7%). However, the model achieves this score with a considerably smaller token footprint: the best Mythos Preview result uses 4.9× fewer tokens per task than Opus 4.6 (226k vs. 1.11M tokens per task). (p191)</p>
]]></description><pubDate>Tue, 07 Apr 2026 20:07:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47680693</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=47680693</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47680693</guid></item><item><title><![CDATA[New comment by mulmboy in "There is an AI code review bubble"]]></title><description><![CDATA[
<p>What I'm saying is that a corporate or professional environment can make people communicate in weird ways due to various incentives. Reading into people's communication is an important skill in these kinds of environments, and looking superficially at their words can be misleading.</p>
]]></description><pubDate>Tue, 27 Jan 2026 00:20:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46773759</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46773759</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46773759</guid></item><item><title><![CDATA[New comment by mulmboy in "There is an AI code review bubble"]]></title><description><![CDATA[
<p>People more often say that to save face by implying the issue you identified would be reasonable for the author to miss because it's subtle or tricky or whatever. It's often a proxy for embarrassment</p>
]]></description><pubDate>Mon, 26 Jan 2026 19:38:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46770448</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46770448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46770448</guid></item><item><title><![CDATA[New comment by mulmboy in "Things I've learned in my 10 years as an engineering manager"]]></title><description><![CDATA[
<p>Because it's a good heuristic for a functional and resilient team. People don't usually means it literally, more like "if I disappeared it should be pretty painless for the team to continue along for a month or so and to find and onboard a replacement".</p>
]]></description><pubDate>Mon, 26 Jan 2026 09:30:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46763519</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46763519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46763519</guid></item><item><title><![CDATA[New comment by mulmboy in "We put Claude Code in Rollercoaster Tycoon"]]></title><description><![CDATA[
<p>LLMs aren't like you or me. They can comprehend large quantities of code quickly and piece things together easily from scattered fragments. so go to reference etc become much less important. Of course though things change as the number of usages of a symbol becomes large but in most cases the LLM can just make perfect sense of things via grep.<p>To provide it access to refactoring as a tool also risks confusing it via too many tools.<p>It's the same reason that waffling for a few minutes via speech to text with tangents and corrections and chaos is just about as good as a carefully written prompt for coding agents.</p>
]]></description><pubDate>Sun, 18 Jan 2026 02:21:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46664216</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46664216</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46664216</guid></item><item><title><![CDATA[New comment by mulmboy in "Running out of places to move the goalposts to"]]></title><description><![CDATA[
<p>I'm well ware that they can be sycophantic, and I structure things to avoid that like asking "what do you think of this problem" and seeing the idea fall out rather than providing anything that would suggest it. In one of these two cases it took an idea that I had inkling of, fleshed it out, and expanded it to be much better than I had.<p>And I'm not bragging. I'm expressing awe, and humility that I am finding a machine can match me on things that I find quite difficult. Maybe those things aren't so difficult after all.<p>By steering I mean more steering to flesh out the context of the problem and to find relevant code and perform domain-specific research. Not steering toward a specific solution.</p>
]]></description><pubDate>Fri, 02 Jan 2026 07:14:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46462247</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46462247</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46462247</guid></item><item><title><![CDATA[New comment by mulmboy in "Running out of places to move the goalposts to"]]></title><description><![CDATA[
<p>> AI seems to have caught up to my own intelligence even in those narrow domains where I have some expertise. What is there left that AI can’t do that I would be able to verify?<p>The last few days I've been working on some particularly tricky problems, tricky in the domain and in backwards compatibility with our existing codebase. For both these problems GPT 5.2 has been able to come to the same ideas as my best, which took me quite a bit of brain racking to get to. Granted it's required a lot of steering and context management from me as well as judgement to discard other options. But it's really getting to the point that LLMs are a good sparring partner for (isolated technical) problems at the 99th percentile of difficulty</p>
]]></description><pubDate>Thu, 01 Jan 2026 10:37:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46452975</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46452975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46452975</guid></item><item><title><![CDATA[New comment by mulmboy in "Codex vs. Claude Code (today)"]]></title><description><![CDATA[
<p>Is it just me or is codex <i>slow</i>?<p>With claude code I'll ask it to read a couple of files and do x similar to existing thing y. It takes a few moments to read files and then just does it. All done in a minute or so.<p>I tried something similar with codex and it took 20 minutes reading around bits of file and this and that. I didn't bother letting it finish. Is this normal? Do I have something misconfigured? This was a couple of months ago.</p>
]]></description><pubDate>Fri, 26 Dec 2025 19:43:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46395430</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46395430</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46395430</guid></item><item><title><![CDATA[New comment by mulmboy in "Using LLMs at Oxide"]]></title><description><![CDATA[
<p>What do these look like?</p>
]]></description><pubDate>Sun, 07 Dec 2025 08:09:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46180074</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46180074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46180074</guid></item><item><title><![CDATA[New comment by mulmboy in "Python Data Science Handbook"]]></title><description><![CDATA[
<p>> Everything it does can be done reasonable well with list comprehensions and objects that support type annotations and runtime type checking (if needed).<p>I see this take somewhat often, and usually with similar lack of nuance. How do you come to this? In other cases where I've seen this it's from people who haven't worked in any context where performance or scientific computing ecosystem interoperability matters - missing a massive part of the picture. I've struggled to get through to them before. Genuine question.</p>
]]></description><pubDate>Wed, 03 Dec 2025 06:05:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46130778</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46130778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46130778</guid></item><item><title><![CDATA[New comment by mulmboy in "Post-mortem of Shai-Hulud attack on November 24th, 2025"]]></title><description><![CDATA[
<p>Yes and anyone who knows anything about software dev knows that the first thing you should do with an important repo is set up branch protections to disallow that, and require reviews etc. Basic CI/CD.<p>This incident reflects extremely poorly on PostHog because it demonstrates a lack of thought to security beyond surface level. It tells us that any dev at PostHog has access at any time to publish packages, without review (because we know that the secret to do this is accessible from plain GHA secret which can be read from any GHA run which presumably run on any internal dev's PR). The most charitable interpretation of this is that it's consciously justified by them because it reduces friction, in which case I would say that demonstrates poor judgement, a bad balance.<p>A casual audit would have revealed this and suggested something like restricting the secret to a specific GHA environment and requiring reviews to push to that env. Or something like that.</p>
]]></description><pubDate>Sun, 30 Nov 2025 01:38:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46092721</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46092721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46092721</guid></item><item><title><![CDATA[New comment by mulmboy in "Post-mortem of Shai-Hulud attack on November 24th, 2025"]]></title><description><![CDATA[
<p>It does largely avoid the issue if you configure to allow only specific environments AND you require reviews before pushing/merging to branches in that environment.<p><a href="https://docs.pypi.org/trusted-publishers/adding-a-publisher/" rel="nofollow">https://docs.pypi.org/trusted-publishers/adding-a-publisher/</a><p>For a malicious version to be published would then require full merge which is a fairly high bar.<p>AWS allows similar</p>
]]></description><pubDate>Sun, 30 Nov 2025 00:57:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46092432</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=46092432</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46092432</guid></item><item><title><![CDATA[New comment by mulmboy in "Structured outputs on the Claude Developer Platform"]]></title><description><![CDATA[
<p>Along with a bunch of limitations that make it useless for anything but trivial use cases <a href="https://docs.claude.com/en/docs/build-with-claude/structured-outputs#not-supported" rel="nofollow">https://docs.claude.com/en/docs/build-with-claude/structured...</a><p>I've found structured output APIs to be a pain across various LLMs. Now I just ask for json output and pick it out between first/last curly brace. If validation fails just retry with details about why it was invalid. This works very reliably for complex schemas and works across all LLMs without having to think about limitations.<p>And then you can add complex pydantic validators (or whatever, I use pydantic) with super helpful error messages to be fed back into the model on retry. Powerful pattern</p>
]]></description><pubDate>Sat, 15 Nov 2025 02:10:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45934442</link><dc:creator>mulmboy</dc:creator><comments>https://news.ycombinator.com/item?id=45934442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45934442</guid></item></channel></rss>