Earlier quoted context omitted.
One commercial equivalent to the project I work on, called ProTools (a DAW), has a test "harness" that took 6 people more than a year to write and takes more than a week to execute. Last month, I made a minor change to our own code and verified that it worked (it did!). Earlier this week, I was notified of an entirely different workflow that had been broken by the change I had made. The only sort of automated testing…
> access to a testing system that allows it to inject mouse events into a running instance of our application FWIW that's precisely what https://pptr.dev is all about. To your broader point though designing a good harness itself remains very challenging and requires to actually understand what value for user, software architecture (to e.g. bypass user interaction and test the API first), etc.
Claude wrote a functional NES emulator using my engine's API
81–90 of 95 posts
Re: Claude wrote a functional NES emulator using my engine's API
#82Earlier quoted context omitted.
Forbidding LLM to write comments and docstrings (preferrably enforced by build and commit hook) is one of the best "hacks" for using that thing. LLM cannot help itself but emit poisonous comments.
And since it's vibe coded, no one knows what the opcodes are. LLM won't remember. Human has no comments. Human can't trust post-hoc LLM-generated comments because they're poisonous.
Or, to put it differently, having vibe comment does not free you of responsibility to inspect actual vibe code.
If code contradicts comments, LLM is as likely to go by comments. It is bad enough to have heaps of dead, unused code. Comments make everything much worse.
Re: Claude wrote a functional NES emulator using my engine's API
#83Earlier quoted context omitted.
Claude Opus 4.5 will routinely test its own code before handing it off to you, even with zero instruction to do so.
One commercial equivalent to the project I work on, called ProTools (a DAW), has a test "harness" that took 6 people more than a year to write and takes more than a week to execute. Last month, I made a minor change to our own code and verified that it worked (it did!). Earlier this week, I was notified of an entirely different workflow that had been broken by the change I had made. The only sort of automated testing…
https://platform.claude.com/docs/en/agents-and-tools/tool-us...
Although if you want to test a UI app, it's better to do it through accessibility APIs rather than actually looking at the screen and clicking.
Re: Claude wrote a functional NES emulator using my engine's API
#84Earlier quoted context omitted.
Or it could loop infinitely, never quite being able to pass all the tests.
which is easily fixable by some human guidance
With the NES there are all sorts of weird edge cases, one of which are NMI flags and resets; the PPU in general is kinda tricky to get right. Claude has had *massive** issues with this, and I've had to take control and completely throw out code it's generated. I'm restarting it with a clean slate though, as there are still issues with some of the underlying abstractions. PPU is still the bane of my existence, DMA, I don't like the instruction pipeline, haven't even gotten to the APU. It's getting an 80/130 on accuracy coin.
Though, when it came to creating a WASM target, Claude was largely able to do it with minimal input on my end. Actually, getting the WASM emulator running in the browser was the least painful part of this project.
You will run into three problems: 1) "The Wall" when any project becomes large enough, you need the context window to be *very* specific and scoped, with explicit details of what is expected, the success criteria and deliverables. 2) Ambiguity means Claude is going to choose the path of least resistance, and will pedantically avoid/add things which are not specced. Stubs for functions, "beyond scope", "deferred" are some favorite excuses to not refactoring or implementing obvious issues (anything that will go beyond the context window, Claude knows, but won't tell you will be punted work). 3) Chat bots *loooove* to talk, it will vomit code for days. Removing code/documentation is anathema to Claude. "Backward compatibility", deprecated, and legacy being its favorite.
Re: Claude wrote a functional NES emulator using my engine's API
#85Earlier quoted context omitted.
Are you a customer?
Don’t downvote because you don’t like the question. It obviously adds to the discussion: paid and non paid accounts are being conflated daily in threads like these! They’re not the same tier account! Free users, especially ones deemed less interesting to learn from for the future, are given table-scraps when they feel it’s necessary for load reasons.
Re: Claude wrote a functional NES emulator using my engine's API
#86Re: Claude wrote a functional NES emulator using my engine's API
#87Earlier quoted context omitted.
Don’t downvote because you don’t like the question. It obviously adds to the discussion: paid and non paid accounts are being conflated daily in threads like these! They’re not the same tier account! Free users, especially ones deemed less interesting to learn from for the future, are given table-scraps when they feel it’s necessary for load reasons.
All user accounts are also customers. Some are paying with data and contributing to metrics going up.
All users are stakeholders.
They’re emphatically not considered customers.
We can disagree with that, create legal protections for those people - but that doesn’t make them customers to OpenAI, Anthropic, et al.
Re: Claude wrote a functional NES emulator using my engine's API
#88Earlier quoted context omitted.
They absolutely can do that if you give them the tools. Seeing Claude (I use it with opencode agents) run curl and playwright to verify and then fix it's implementation was a real 'wow' moment for me.
We have different experiences. Often I’ll see Claude, et. al. find creative ways to fulfill the task without satisfying my intent, e.g., changing the implementation plan I specifically asked for, changing tolerances or even tests, and frequently disabling tests.
Re: Claude wrote a functional NES emulator using my engine's API
#89Earlier quoted context omitted.
Don’t downvote because you don’t like the question. It obviously adds to the discussion: paid and non paid accounts are being conflated daily in threads like these! They’re not the same tier account! Free users, especially ones deemed less interesting to learn from for the future, are given table-scraps when they feel it’s necessary for load reasons.
Exactly. There's an impedance mismatch between those using the free/cheap tiers and those paying a premium, so the discussion gets squirrely because one side is talking about apples and the other oranges.
More specifically: One side is talking about apples,
and the other is talking about mushy old apples,
that sometimes you need to wait 12 hours for.
Re: Claude wrote a functional NES emulator using my engine's API
#90So this is impressive for me in terms of how fast things have progressed.