<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: dirtbag__dad</title><link>https://news.ycombinator.com/user?id=dirtbag__dad</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 10 Jun 2026 12:24:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dirtbag__dad" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dirtbag__dad in "Backpressure is all you need"]]></title><description><![CDATA[
<p>You can get really far with the 20x Claude Code and Codex plans. They are many orders of magnitude cheaper than api calls.</p>
]]></description><pubDate>Sun, 31 May 2026 14:29:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48345948</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=48345948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48345948</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Codex is now in the ChatGPT mobile app"]]></title><description><![CDATA[
<p>Is anyone else troublingly addicted to your code agents? I’m constantly thinking about work because work is “just wrapping up” always now. I go to see one thing is done, outside of work hours, then find myself kicking the next thing off.<p>Who is this good for? My company, Anthropic/Openai, but not me? Maybe if I was investing in a side project I’d feel differently.<p>At any rate, the thought of bringing the agent out of my work machine and into my pocket or bed with me is terrifying. I hope it doesn’t come to that.</p>
]]></description><pubDate>Sun, 17 May 2026 00:54:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48165164</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=48165164</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48165164</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Learning Software Architecture"]]></title><description><![CDATA[
<p>I guess what I’m saying is that there is no “primary” goal, but rather a mix of things to consider, where it working at all as expected is just table stakes.</p>
]]></description><pubDate>Thu, 14 May 2026 00:57:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48129810</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=48129810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48129810</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Why senior developers fail to communicate their expertise"]]></title><description><![CDATA[
<p>> I don’t like senior developers who like trying new technology. I like ones that avoid more complexity.<p>I guess the author has never worked on a dog shit system with no tests at all and constant downtime.<p>I have worked with “complexity averse” engineers who would rather fix the edges over and over again, than roll up their sleeves and just get the job done.<p>I just don’t believe that using new tools is at odds with avoiding complexity.<p>Sometimes you have to take it to the chin, and get to use the new shiny thing along the way to move much faster.</p>
]]></description><pubDate>Wed, 13 May 2026 01:29:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48116780</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=48116780</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48116780</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Learning Software Architecture"]]></title><description><![CDATA[
<p>Good architecture is not about the patterns you pick. It’s about having a team dev cohesively on any pattern(s)<p>- programmatically enforce your style with in-house linters and scaffolders. Be highly opinionated<p>- if you # ignore anything, leave a comment explaining why<p>- use bdd so your cases are human readable and must update with the code (unlike a stale comment)<p>- follow the same pattern in all your services (I love hexagonal design for backend). If you break from the design have a good reason for it<p>- COMPOSE your code. It’s almost always the case that two endpoints or jobs or whatever happen to have a few things in common, but differ wildly. Don’t get DRY, just import those things in each spot and don’t entangle them with each other, it’s too confusing<p>- scope your interfaces tightly. No optional params unless the domain is actually optional. Make separate jobs or endpoints for different configs. I can’t figure out wtf all your configs were from 4 years ago and neither can you<p>- code is default testable with DI/DIP<p>- always run tests running real infra like testcontainers
- cement ci/cd as your guardian. Employ every linter you can.<p>- hammer workarounds with comments in the code<p>- break all systems into small problems and nothing is challenging technically (though the domain might be!)<p>- work with less people on your code. It’s easier to stay aligned and follow the same patterns<p>- don’t expect anyone to figure it out. You need to champion your changes. Do code reviews, hold their hand, show them the way<p>- clear out mundane items like installfests, local auth, server reloads. Slow dev pisses people off<p>- finally, and most important, employ an org policy for review. Don’t let shit fall through the cracks unknowingly. It compounds. You have skills now as a quick and dirty to eval and enforce. Use them!</p>
]]></description><pubDate>Wed, 13 May 2026 01:17:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48116717</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=48116717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48116717</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Learning Software Architecture"]]></title><description><![CDATA[
<p>>  The ultimate goal of software is to solve the immediate problem at hand. The secondary goal of software is to solve likely future problems with as little work as possible.<p>Not really. Today I learned of a story where a vibe coding PM deployed a vercel app, which was in its entirety a single react component that serves a banner, that was embedded via an iframe into an entirely separate web app, whose repo they have full access to, because they needed to get a modal component out the door, but were blocked because they “couldn’t upload the image to s3.” (They could just use the public/ or assets/ directory and have the cdn pick it up, too.)<p>People do the most insane things when they are tight on time and don’t have the intuition to do a bit of research up front. If you ask them, they’re solving the immediate problem at hand. If you ask anyone else who interacts with their work, they’re disrupting our days/weeks/months/years when we have to step through systems that don’t know any better.<p>If you have the muscle to plan ahead, even a little bit, which is usually just following the same pattern over and over again, then you are fine.<p>In this world you are still optimizing for the now problem but you have also solved, to some and ideally a better degree, some future problems for free</p>
]]></description><pubDate>Wed, 13 May 2026 01:08:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48116669</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=48116669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48116669</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Vibe coding and agentic engineering are getting closer than I'd like"]]></title><description><![CDATA[
<p>> Also, when did we stop liking to learn?<p>Says who? One of the most enriching things about coding with agents is I have them provide new information, tools, patterns, whatever as a follow up to every feature I work on. I’m learning a ton and it’s helping me build better with agents, too.</p>
]]></description><pubDate>Fri, 08 May 2026 01:00:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48057192</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=48057192</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48057192</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Agents need control flow, not more prompts"]]></title><description><![CDATA[
<p>Build CLIs your agents call, that scaffold what you want, and lint so it actually does achieves your intended design.<p>Markdown files are a good reference but they are a weak enforcement tool and go stale easily.<p>Avoid burying yourself in more skills docs you’re not even writing yourself and probably never even read. Focus that toward deterministic tooling. (Not that skills or prompts are bad, I agree a meta skill that tells an agent what subagents and what order to run is useful)</p>
]]></description><pubDate>Fri, 08 May 2026 00:47:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48057070</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=48057070</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48057070</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Agentic Coding Is a Trap"]]></title><description><![CDATA[
<p>There’s too much in this article to comment on it all, but if we zoom into the first claim:<p>> An increase in the complexity of the surrounding systems to mitigate the increased ambiguity of AI's non-determinism.<p>My question is why isn’t there an effort from the author to mitigate the insane things that LLMs do? For example, I set up a hexagonal design pattern for our backend. Claude Code printed out directionally ok but actually nonsensical code when I asked it to riff off the canonical example.<p>Then, I built linters specific to the conventions I want. For example, all hexagonal features share the same directory structure, and the port.py file has a Protocol class suffixed with “Port”.<p>That was better but there was a bunch of wheel spinning so then I built a scaffolder as part of the linter to print out templated code depending on what I want to do.<p>Then I was worried it was hallucinating the data, so I wrote a fixture generator that reads from our db and creates accurate fixtures for our adapters.<p>Since good code has never been “explained for itself 100%, without comments”, I employ BDD so the LLM can print out in a human readable way what the expected logical flow is. And for example, any disable of a custom rule I wrote requires and explanation of why as a comment.<p>Meanwhile, I’m collecting feedback from the agents along the way where they get tripped up, and what can improve in the architecture so we can promote more trust to the output. Like, I only have a fixture printer because it called out that real data (redacted yes) would be a better truth than any mocks I made.<p>Finally, code review is now less focused on the boilerplate and much more control flow in the use_case.<p>The stakes to have shitty code in these in-house tools is almost zero since new rules and rule version bumps are enforced w a ratchet pattern. Let the world fail on first pass.<p>Anyway, it seems to me like with investment you can slap rails on your code and stay sharp along the way. I have a strong vision for what works, am able to prove it deterministically with my homespun linters, and am being challenged by the LLMs daily with new ideas to bolt on.<p>So I don’t know, seems like the issue comes down to choosing to mistrust instead of slap on rails.<p>Edit: I wanted to ask if anyone is taking this approach or something similar, or have thought about things like writing linters for popular packages that would encourage a canonical implementation (I have seen some crazy crazy modeling with ORMs just from folks not reading the docs). HMU would love to chat youngii.jc@gmail</p>
]]></description><pubDate>Mon, 04 May 2026 00:51:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48003333</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=48003333</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48003333</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Bitwarden CLI compromised in ongoing Checkmarx supply chain campaign"]]></title><description><![CDATA[
<p>I guess this is the case for new installs, but for existing dependencies can’t you simply pin them to a patch release, and point at the sha?</p>
]]></description><pubDate>Fri, 24 Apr 2026 00:38:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47884111</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47884111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47884111</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "What if database branching was easy?"]]></title><description><![CDATA[
<p>Has anyone used this for debugging? Like an error in datadog triggers an agent sandbox and branched database?</p>
]]></description><pubDate>Tue, 21 Apr 2026 01:03:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47843318</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47843318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47843318</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>I watched the demo video on the git butler home page and agree with the premises that:<p>1. git is not going away
2. git UX is not great<p>So i appreciate their effort to manage development better as agents make it possible to churn out multiple features and refactors at once.<p>BUT, I reject this premise:<p>3. Humans will review the code<p>As agents make it possible to do so much more code (even tens of files sucks to review, even if it’s broken into tiny PRs), I don’t want to be the gatekeeper at the code review level.<p>I’d rather some sort of policy or governance tooling that bullies code to follow patterns I’ve approved, and force QA to a higher abstraction or downstream moment (tests?)</p>
]]></description><pubDate>Fri, 10 Apr 2026 12:15:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47716937</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47716937</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47716937</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Eight years of wanting, three months of building with AI"]]></title><description><![CDATA[
<p>> Tests created a similar false comfort. Having 500+ tests felt reassuring, and AI made it easy to generate more. But neither humans nor AI are creative enough to foresee every edge case you’ll hit in the future; there are several times in the vibe-coding phase where I’d come up with a test case and realise the design of some component was completely wrong and needed to be totally reworked. This was a significant contributor to my lack of trust and the decision to scrap everything and start from scratch.<p>This is my experience. Tests are perhaps the most challenging part of working with AI.<p>What’s especially awful is any refactor of existing shit code that does not have tests to begin with, and the feature is confusing or inappropriately and unknowingly used multiple places elsewhere.<p>AI will write test cases that the logic works at all (fine), but the behavior esp what’s covered in an integration test is just not covered at all.<p>I don’t have a great answer to this yet, especially because this has been most painful to me in a React app, where I don’t know testing best practices. But I’ve been eyeing up behavior driven development  paired with spec driven development (AI) as a potential answer here.<p>Curious if anyone has an approach or framework for generating good tests</p>
]]></description><pubDate>Sun, 05 Apr 2026 16:54:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47651310</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47651310</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47651310</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Cursor 3"]]></title><description><![CDATA[
<p>Yes. This seemed to be more cost effective.</p>
]]></description><pubDate>Fri, 03 Apr 2026 11:25:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47625424</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47625424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47625424</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Cursor 3"]]></title><description><![CDATA[
<p>This. I have effectively used multiple agents to do large refactors. I have not used them for greenfield development. How are folks leveraging the agentic swarm, and how are you managing code quality and governance? Does anyone know of a site that highlights code, features, or products produced by this type of development?</p>
]]></description><pubDate>Fri, 03 Apr 2026 02:29:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47622617</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47622617</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47622617</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Cursor 3"]]></title><description><![CDATA[
<p>I was a Cursor loyal until I was spending around $2k a week with premium models and my team had a discussion about whether we’d want to use more Cursor over hire another engineer. We unanimously agreed we’d rather hire another team member. I’m more productive than ever but I’m burning out.<p>Anyway, as a result, I switched to Claude Code Max and I am equally as prolific and paying 1/10th the price. I get my cake and to eat it, too. *Note there’s a Cursor Ultra, which at quick glance seems akin to Claude Code Max. Notice that both are individual plans, I believe I’m correct you benefit from choosing those token-wise over a team or enterprise plan?<p>Anyway, you’re right Claude Code is less ergonomic; generally slower. I was losing my mind over Opus in Cursor spinning up subagents. I don’t notice that happen nearly as frequently in Claude Code itself. I think it has to do with my relatively basic configuration. CC keeps getting better the more context I feed it though, which is stuff like homegrown linters to enforce architecture.<p>All to say, Cursor’s pricing model is problematic and left a bad taste in my mouth. Claude Code seems to need a bunch of hand holding at first to be magical. Pick your poison</p>
]]></description><pubDate>Fri, 03 Apr 2026 02:26:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47622599</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47622599</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47622599</guid></item><item><title><![CDATA[Ask HN: Where are legit examples of agentic coded products or software?]]></title><description><![CDATA[
<p>I believe people when they say they’re running 10 coding agents concurrently. I also believe them that their local setup loaded with the “best skills out there” makes their productivity and code better.<p>But I haven’t seen examples of products or software produced by these setups. Does something like Product Hunt exist for agentic coded things?<p>Worth noting here that I’m not a skeptic nor advocate. I work with coding agents daily and I see their utility. I also feel their pains. I’d love to lean in more but I don’t see tangible evidence beyond “more code”</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47520857">https://news.ycombinator.com/item?id=47520857</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 25 Mar 2026 17:53:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47520857</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47520857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47520857</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Many SWE-bench-Passing PRs would not be merged"]]></title><description><![CDATA[
<p>This sounds amazing. In particular, I like comps to existing PRs. But I’m also not sure that I want existing PRs to be a template for most things reasonable or best practice.<p>I’ve been building out internal linters that enforce design patterns I want and raise common code smells (also note tools like eslint allow custom rules which are easy write with something like opus 4.6). The use case is a total refactor of react and fastapi apps. We are suffering from everything’s a snowflake syndrome and just want the same pattern employed across features.<p>This works pretty well when the linter has a companion agents.md file which explains the architecture and way about the world.<p>But to get the agent (Claude code opus 4.6 currently) to nail the directory structure and design primitives, and limit some doofus behavior, I still haven’t cracked how to make literally each line of code simple and sensible. And I haven’t figured out how to prevent agents from going out of bounds and doing weird things unless I catch it in review and add another rule.<p>This is a relatively new endeavor,  but my gut is that it’s not much more time (linter rules and perhaps “evals” or a beefy agent review cycle) before I have bespoke linters in place that force what I want from our architecture.<p>Note that a huge bottleneck to all of this is that the codebase our current team inherited has no tests. It’s too easy to accidentally nuke a screen’s subtle details. It’s also really hard to write good tests without knowing what all of the functionality is. It feels like a blocker to a lot of large-swath agentic changes is a test strategy or solution first then a rigid push for rearchitecture or new design.</p>
]]></description><pubDate>Thu, 12 Mar 2026 03:55:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47346268</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47346268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47346268</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "You Just Need Postgres"]]></title><description><![CDATA[
<p>OLAP conveniently not mentioned. Anyone have any suggestions for this?<p>We tried to get as much mileage as we could out of Postgres before we switched to clickhouse and it was night and day.</p>
]]></description><pubDate>Fri, 27 Feb 2026 06:29:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47177247</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=47177247</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47177247</guid></item><item><title><![CDATA[New comment by dirtbag__dad in "Try to take my position: The best promotion advice I ever got"]]></title><description><![CDATA[
<p>This advice has worked very well for me.<p>But but but, in some scenarios it has been at the expense of my well being. It’s not good to take on more work and not let go of some of the things you’re currently doing. Moreover, finding “permission” from your boss to let those things go can be challenging.<p>I’ve found this works best when you and your boss agree on the problem you’re stepping into (not necessarily your solution). It may be that you need to stick your neck out and suffer for awhile for them to see your perspective.<p>When you’re on the same page about what you’re solving, a good manager will clear room for you.</p>
]]></description><pubDate>Mon, 05 Jan 2026 20:34:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46504520</link><dc:creator>dirtbag__dad</dc:creator><comments>https://news.ycombinator.com/item?id=46504520</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46504520</guid></item></channel></rss>