HN user

cadamsdotcom

2,592 karma

github.com/cadamsdotcom linkedin.com/in/cadamsdotcom chris at cadams dot com

Posts4
Comments1,252
View on HN
Never Enough 12 hours ago

Pure rage bait.

Strong claims require strong evidence - which isn't offered here.

And besides, maybe the person running dates by Claude just does that for a bit of fun as a hobby. People have weird hobbies! Better not to yuck someone's yum.

Maybe alternatively it's that person's way of experimenting with these new tools to explore what they can do. Maybe that person will discover something - for example, ebay was a terrible idea when it was first brought up!

It'd be unsound to assume if you're playing with agents you don't also talk to humans.

I did a poor job explaining.

See, all the potato-sorting systems and the ones that drive those and so on, those are a hierarchy without end. There'll always be some other efficiency gain. And some other machine. And the whole stack will always need a human to direct and design the hierarchy, design monitoring, remediate failures, and invent new more efficient ways.

AI is not embodied and doesn't have its own drive so it can't subsume human interest and desires - humans will always direct the machines. It will never "be over".

The humans who know this will always always always be at the top, directing the machines & designing the new ones. Yes, some people won't and they will end up in the hierarchy instead of on top. But that doesn't mean it is over. It's just over for them.

You aren't responsible for how others adapt to change. Just.. work out how to not lose. Don't defeat yourself before even trying. I can't tell you how. No one can, it's your journey. But by being here on Hacker News you're already better off than most.

Headline true, article false.

AI exists at the boundary of codification. When you understand something well enough to express it in a deterministic way, it is no longer worthwhile to keep asking AI for that thing over and over - you should codify it.

But wait, I hear you say? AI has knowledge! And we can rely on that knowledge and sprinkle on top some brief instructions and it'll get things right and work out the details itself!

That is spec driven development.

And this is great one single time. Except, knowledge shifts. You are outsourcing part of what you've codified to society as a whole, in the form of language model knowledge. You're also trusting current and future models to always produce something that meets the requirements, and never be quantized under you, and produce the same result next time despite being a probabilistic system with no memory, and and and.

Better to freeze everything in place in your codebase so you get predictable results - in other words, codify it! Let's store the desired state of that button in code in a very complicated thing that's existed for decades called a string, so it always says "Finish" and never says "Done" - even if we regenerate the app.

That's pretty unexciting and doesn't justify tens of billions of investment. Which means you won't hear it from anyone with tokens to sell. But it's what you have to do to make something people want.

Your last paragraph can't possibly be true if society works at all.

That is an example of the "everyone except me is an idiot" fallacy.

Kimi Work 2 days ago

Some paradigms are simply ergonomic. Sometimes there's only one UX people will accept.

No one would buy a car steered with pedals; even if that is better (hey planes do it!) - every car maker is "copying" steering wheels and putting them on their cars. Is it controversial? If not why not?

How long did Apple take to kill off all the iPhone competitors.

These companies haven't got the attention span to work on one thing for that long.

The driving constraint if you want to take a spot in B2C is the speed at which consumers replace tech, not the speed at which tech can be developed.

That was an incredible writeup! Chapeau to the author - thanks for taking the time to do a writeup.

When Anthropic claimed Mythos chained 4 or 5 bugs to achieve sandbox escape and found bugs in core software, it sounded like bs. But here we are 2 months later seeing what they meant.

Cybersecurity was always a hard sell; security flaws were invisible - by contrast a fence with a hole is visible to everyone - anyone can ignore the locked gate and walk through the fence hole. With cybersecurity a hole in the fence may go unnoticed for years, maybe forever.

LLMs level the field. We will all benefit from more secure systems, a few people will get a lot of egg on their faces, and it will end the malpractice of underinvesting in software security to get a product out the door.

Money talks, even through the walls that should keep analysts and bankers from talking.

And fomo is human.

We need transparency combined with widespread education and high trust so folks believe the few that investigate. All these pillars are needed - that's why we see attacks on all of them.

Hi Thariq, Chris from ApprovIQ here. We depend on Claude Code to ship. It's our most crucial tool.

But we feel an asymmetry. We feel it's not an important to Anthropic as it is to us. We feel the systems by which PRs ship on your side need serious inspection.

Claude Code is career-level important not just to us but to a lot of people. So actually, your post and claim of individual accountability gives me less confidence.

For a product of this size and a comm to its core audience after a breach of trust like this, from a company of Anthropic's size and with as high quality a video production department and that produces as much research as it does, "this was my change" is quite discordant.

My hope was we'd have someone with an organizational mindset admit to the organizational failings that allowed this to happen. It would be great to see that.

Unfortunately this is a sign that the systems by which PRs are shipped need serious inspection.

For example in incident management, the industry settled on blameless postmortems. Blame is pointed at the systems which allowed incidents to occur, never the human(s) who triggered the incident. "Just don't make that mistake again" simply doesn't work. Humans make mistakes!

There are too many stakeholders in a product this large, even if every one of them wishes it were not so. The systems by which this PR shipped need serious inspection.

LLMs are awesome, but sometimes we'd be better off with more friction.

This is because.. sometimes an idea is just bad. I learned the hard way the other day when I filed this PR against prek: https://github.com/j178/prek/pull/2302

My idea was bad.

The implementation was meant to solve my problem. All it did was expose more problems and waste my time and the maintainer's, and god knows how many tokens from Claude and Codex. In the end the PR was useless so I closed it.

The maintainer and I would have both been better off - less time wasted - if I was forced to forever wonder if the idea was good, letting it bounce around the back of my mind.

I know it's based on the author's pulse.. it'd be fun to base it on the host!

Being hammered by HN would quicken that pulse a bit ;)

Or just.. prompt your agents to work together with a file or Unix pipe?

Takes a few words, is observable etc.

Or just .. don't have agents sharing a working copy. We stopped "checking out files" decades ago, why would agents - which work faster than humans - want that same problem.

Thanks this idea is great.

Anything that can be one-shotted can be one-shotted by anyone. You need a process that gets better results than a one-shot, or one-shotters is all you'll ever be able to make. Playing around using image models then taking that to a design system is a great way to make something more personal and original.

And constraining a model to write working code for a design right away is going to limit it.

I'll definitely use the idea - thanks for sharing.

Software construction needs to become like Mission Control - everyone can see everyone else's screen. Maybe that's a monitor bank for passive monitoring, and letting anyone hop into any tmux and steer any agent - and an agent pool works on tasks from the backlog, rather than engineers being assigned tasks and using agents to do them. It needs to be more like an orchestra, where things are being directed in real time - designating a conductor who steers things. Maybe it's like a ship's crew, with roles, a chain of command, and lots of overlap. So each day someone gets to be Captain.

It was all good when change was slow and needed deep contemplation. Things sped up this year. Chaos is harder to defeat now. It really does need a different paradigm than "people facing into corners each doing today's task".

A climbing app..

Does anyone want one?

The article says to stop building and go outside!

And actually, talking about climbing apps with fellow climbers is a great way to be outside.

If this hook can feed back text to the model, you can do some pretty interesting things.

Say the model emits some banned phrase or concept, you could redirect it - "no, we don't work that way here, do it properly" - potentially automating the frustration of interacting with these tools.

After all it's just a text stream!

It's not too dissimilar from a stop hook that runs tests and feeds that back to the model forcing it to keep working until tests pass.

Using tooling to get a deterministic outcome.

Oh god he misspelled "alright".

Right at the end too. Shame.

Better write it out again...

Love how the handwriting changes and you can see the author get into flow. My reading sped up to match, like I was right with the author as they wrote. The whole thing was a beautifully connected, human experience. Bravo!

Strong agree, but in a subtly different way..

I still read the code; but I work to make a trustworthy agent, so I can skim read at review.

For a year+ I've been gaining leverage by codifying guardrails. Insanely intricate (and fun to create) lint scripts that catch things like python imports inside functions instead of the top of the file, or dumb use of dict return where the return should be a pydantic model, or the agent dumbly using the ugly default Tailwind color classes instead of my design system colors.

It's fun codifying "how we work around here" and it's been great for keeping dumb AI mistakes off my radar.

Last week I busted out my text editor and typed (typed!) a section into CLAUDE.md on my philosophy - my why. "We do test driven development because we have a computer that can instantly validate your code." "We don't modify code until we have created and witnessed some other thing that durably proves the need for our change." Etc. etc.

Well the agent leveled up suddenly and dramatically. It was a real mind opener. One of those banger realizations. I'd been leaving tons of power on the table.

When backfilling tests, it suddenly started mutating production code and rerunning to witness tests go red - something it calls "teeth". It doesn't just assume tests work and move on! I didn't ask for that, it was latent in the model. I no longer have to remind it to run new eslint rules first to prove they're correct. Sometimes it even proposes new lint rules and checks to tighten its guardrails.

What I learned that maps to what @antirez is saying:

With everything about agents, stop operating at a level of "what". The what is the agent's job.

Stop operating at a level of "how" too!

Just focus on not hoarding your "why". Tell your agent where your ideas come from, why they matter. Do not just think the why in your head. Write it down! Put it in CLAUDE.md. Offload it into the system!

Your tools will level up.

Even if it's not about the harness. Building product features? Tell it what you think the users will do. And why. It might codify the UX closer to how you'd have. Tell it what other UIs you've seen and like - it probably knows about them and can just code that - less detail needed.

And it'll bring the code closer to what you'd have written. And bring you closer to that holy grail, LGTM skim-review.