HNHacker News
TopNewBestAskShowJobs

dhorthy

1,313 karma · joined March 2, 2018

building @ humanlayer.com
submissionscomments
dhorthy··on Mercedes-Benz commits to bringing back physical buttons
functional programming taught us this decades ago. State is the root of all evil.

If the outcome of my interaction with the interface (e.g. tap a place on the screen) is a function of not just where i tap but the last 2-6 places i recently tapped (menus etc) suddenly you've added massive complexity and mental overhead.

can't wait to get back to a button that does the same thing every time every time i press it [1]

tesla screens, carplay, mercedes screens, its been getting worse for a while

1) I know in reality most are sliders or an on/off toggle but the point stands

dhorthy··on CodingFont: A game to help you pick a coding font
diabolical
dhorthy··on Anatomy of the .claude/ folder
I think one of the main examples that i saw in a swyx article a while back is that using the sort of ALL CAPS and *IMPORTANT* language that works decently with claude will actually detune the codex models and make them perform worse. I will see if I can find the post
dhorthy··on Get Shit Done: A meta-prompting, context engineering and spec-driven dev system
it is very hard for me to take seriously any system that is not proven for shipping production code in complex codebases that have been around for a while.

I've been down the "don't read the code" path and I can say it leads nowhere good.

I am perhaps talking my own book here, but I'd like to see more tools that brag about "shipped N real features to production" or "solved Y problem in large-10-year-old-codebase"

I'm not saying that coding agents can't do these things and such tools don't exist, I'm just afraid that counting 100k+ LOC that the author didn't read kind of fuels the "this is all hype-slop" argument rather than helping people discover the ways that coding agents can solve real and valuable problems.

dhorthy··on Verified Spec-Driven Development (VSDD)
software engineering is still software engineering.

just because you don't type out the characters doesn't mean you're not designing systems and thinking critically and leveraging your experience.

also: do we think this is written by ai? do we care anymore?

dhorthy··on A Brief History of Ralph
there is the theoretical "how the world should be" and there is the practical "what's working today" - decry the latter and wait around for the former at your peril
dhorthy··on A Brief History of Ralph
I don’t think anyone serious would recommend it for serious production systems. I respect the Ralph technique as a fascinating learning exercise in understanding llm context windows and how to squeeze more performance (read: quality) from today’s models

Even if in the absolute the ceiling remains low, it’s interesting the degree to which good context engineering raises it

dhorthy··on A Brief History of Ralph
there are hundreds of useful resources, including many linked in the article itself
dhorthy··on A Brief History of Ralph
the note about the crypto token was intended to “okay this is now hype slop and it’s time to move on”
dhorthy··on AI coding assistants are getting worse?
I read it. i agree this is out of touch. Not because the things its saying are wrong, but because the things its saying have been true for almost a year now. They are not "getting worse" they "have been bad". I am staggered to find this article qualifies as "news".

If you're going to write about something that's been true and discussed widely online for a year+, at least have the awareness/integrity to not brand it as "this new thing is happening".

dhorthy··on Refactoring – Not on the backlog (2014)
engineers always want to re write from scratch and it never works.

a tale as old as time - my second job out of college back in like 2016, I landed at the tail end of a 3-month feature-freeze refactor project. was pitched to the CEO as 1-month, sprawled out to 3 months, still wasn't finished. Non-technical teams were pissed, technical teams were exhausted, all hope was lost. Ended up cutting a bunch of scope and slopping out a bunch of bugs anyway.

dhorthy··on Refactoring – Not on the backlog (2014)
i had the privilege of working w/ some incredible eng leaders at my previous gig - they were very good at working both upwards and downwards to execute against the "50/50" rule - half of any given sprint's work is focused on new features, and half is focused on bug fixes, chores, things that improve team velocity.
dhorthy··on Refactoring – Not on the backlog (2014)
the people yearn for refactoring
dhorthy··on Writing a good Claude.md
I think the key here is “if X then Y syntax” - this seems to be quite effective at piercing through the “probably ignore this” system message by highlighting WHEN a given instruction is “highly relevant”
dhorthy··on Writing a good Claude.md
agree - i've had claude one-shot this for me at least 10 times at this point cause i'm too lazy to lug whatever code around. literally made a new one this morning
dhorthy··on Writing a good Claude.md
For the record I do think the AI community tries to unnecessarily reinvent the wheel on crap all the time.

sure, readme.md is a great place to put content. But there's things I'd put in a readme that I'd never put in a claude.md if we want to squeeze the most out of these models.

Further, claude/agents.md have special quality-of-life mechanics with the coding agent harnesses like e.g. `injecting this file into the context window whenever an agent touches this directory, no matter whether the model wants to read it or not`

> What people often forget about LLMs is that they are largely trained on public information which means that nothing new needs to be invented.

I don't think this is relevant at all - when you're working with coding agents, the more you can finesse and manage every token that goes into your model and how its presented, the better results you can get. And the public data that goes into the models is near useless if you're working in a complex codebase, compared to the results you can get if you invest time into how context is collected and presented to your agent.

dhorthy··on Embracing the parallel coding agent lifestyle
> If I tell them exactly how to build something the work needed to review the resulting changes is a whole lot less taxing.

Totally matches my experience- the act of planning the work, defining what you want and what you don’t, ordering the steps and declaring the verification workflows—-whether I write it or another engineer writes it, it makes the review step so much easier from a cognitive load perspective.

dhorthy··on Getting AI to work in complex codebases
would "wrote" be more appropriate than "shipped"?
dhorthy··on Getting AI to work in complex codebases
there is a portion in the article where I talk about how our hadoop refactor completely failed
dhorthy··on Getting AI to work in complex codebases
I have had a user story and a research plan and only realized deep in the implementation that a fundamental detail about how the code works was missing (specifically, that types and sdks are generated from OpenAPI spec) - this missing meant the plan was wrong (didn’t read carefully enough) and the implementation was a mess
dhorthy··on Getting AI to work in complex codebases
My advice - never use compact, always stash your context to Md or a wordy git commit message and then clear context

You want control over and visibility into what’s being compacted, and /compact doesn’t do great on either

dhorthy··on Getting AI to work in complex codebases
You don’t think early c programmers spent a lot of time reading the assembly that was produced?
dhorthy··on Getting AI to work in complex codebases
I appreciate the share. Yes as I said it was a pretty dang uncomfortable to transition to this new way of working but now that it’s settled we’re never going back
dhorthy··on Getting AI to work in complex codebases
File size matters if you don’t have strategically placed “read the entire file” instructions for certain parts of the workflow (we do)
dhorthy··on Getting AI to work in complex codebases
yeah flat, simple code is good to start, but I find I'm still developing instincts around right balance between "when to let duplicate code sprawl" vs. "when to be the DRY police".
dhorthy··on Getting AI to work in complex codebases
i 100% agree - the folks who are best at ai-first engineering, they spend 3 days designing the test harness and then kick off an agent unsupervised for 2+ days and come back to working software.

not exactly valuable as guidance since programming languages are very easy to verify, but the https://ghuntley.com/ralph post is an example of whats possible on the very extreme end of the spectrum

dhorthy··on Getting AI to work in complex codebases
yeah its kinda funny how some bigger more sophisticated eng orgs that would be called "slow and ineffective" by smaller teams are actually pretty dang well set-up to leverage AI.

All because they have been forced to master technical communication at scale.

but the reason I wrote this (and maybe a side effect of the SF bubble) is MOST of the people I have talked to, from 3-person startups to 1000+ employee public companies, are in a state where this feels novel and valuable, not a foregone conclusion or something happening automatically

dhorthy··on Getting AI to work in complex codebases
letting people pick their own editors is a zirp phenomenon
dhorthy··on Getting AI to work in complex codebases
yeah if you read our create_plan prompt, it sets up a 3+ phase back and forth soliciting clarifying questions before the plan is built!
dhorthy··on Getting AI to work in complex codebases
Claude code is Claude code, whether you use in cursor or not

Codex and Claude code are neck and neck, but we made the decision to go all in on opus 4, as there are compounding returns in optimizing prompts and building intuition for a specific model

That said I have tested these prompts on codex, amp, opencode, even grok 4 fast via codebuff, and they still work decently well

But they are heavily optimized from our work with opus in particular

← PreviousPage 3 of 8Next →