dbreunig
4 days ago
A couple thoughts on the process here…
First off, Opus 5.5 built working weights and code with only two prompts:
1. Read this article and any relevant source code: https://divagr.com/blog/qwenputer. Then explore if you could emulate the chip and ram in a Nintendo Entertainment System (as people do today with FPGAs in MISTRs) using this technique. If so, what size model would you have to build and if you could use smaller faster ones, could you get it to be at the standard clockspeed.
It returned charts well illustrating any model would be _slow_. But it's still fun, so the second prompt was:
2. I think we should build it! Just for fun. It's okay if it's not fast. We want to be able to have the weights, and a cli to run them that we can point at a ROM.
Now while this was an _epic_ run by Opus (5.5 is a crazy capable model), this is a surprisingly well-structured challenge.
There is a long-lived and incredible community of classic gaming emulation work online for it to reference. And that community has created…conformance tests! Opus found them and built against one, that has >3k golden instructions: https://github.com/christopherpow/nes-test-roms/blob/master/...
Also, there is the original Qwenputer repo that Opus used to drive the weight writing. That was essential.
But this is a great example of what these models can do with proper reference materials, great specs, conformance tests, and clear direction.
giancarlostoro
4 days ago
> There is a long-lived and incredible community of classic gaming emulation work online for it to reference. And that community has created…conformance tests! Opus found them and built against one, that has >3k golden instructions
I'm doing something similar but not for an emulator, using tests other projects in a similar space use to validate things.
I also know a friend that feeds Claude Gherkin formatted test criteria, and apparently that yields insanely good Claude output.
darksim905
4 days ago
Claude Gherkin
Any good recommended reading?djriley
3 days ago
They are talking about Cucumber, a behavior driven development platform. Gherkin is a syntax for writing test cases:
https://cucumber.io/docs/gherkin/
Very neat, seems quite appropriate for the way people currently work with LLMs.
yearolinuxdsktp
3 days ago
Gherkin! The only way to do behavior-driven development!
When you wanted to have a layer of brittle regex expressions to have to maintain and debug in your testing setup!
When you wanted to write tests that look like plain language, but have none of its flexibility!
When you wanted to have massive friction when refactoring your tests!
/s
embedding-shape
3 days ago
And then once you get over the knee-jerk reaction the twitter community been teaching you, you might look at the actual syntax and the way the language conceptualizes stuff, and might actually learn something new and useful :) Or, at least have something constructive to say, even if it's negative or whatever, instead of just wasting space.
yearolinuxdsktp
16 hours ago
You're making an assumption here. I don't read Twitter, I have no idea what reaction that community has and I don't care.
My insight on Cucumber comes entirely from years of experience, through several organizations using or considering using it. Several times I was successful in stopping its planned use.
I thought the negative comments would come through the sarcasm, but point taken that it's not constructive.
I think Cucumber (Gherkin) and any natural-language attempts are rooted in a core delusion that product managers or non-technical people will write these test cases. I've never seen product managers writing or even reading these cases. They are not written at the functional specification or an SRD level, because that level is too high and too imprecise to capture the realities of testing behavior.
The natural language of Gherkin is parsed by a set of rigid regular expressions, which do not support the full richness of the English language, and subtle changes like adding or dropping an article or lightly altering the word order will render those steps unparsable. So it's not natural language, it's a programming language with all the syntactical strictness of one, but highly sugared and natural-looking.
You can write behavioral tests at the same exact level as Gherkin in any reasonably-expressive language, likely whatever language your code is written in. You can choose to have fixtures, and high-level structure and you can banish low-level detail from your test cases. Code can do all that, and MAINTIAN EASY refactorability. Code has natural ways in which it can create new layers of abstraction over repetitive ideas, at whatever level is convenient.
But with Gherkin, you're faced with "now I have to write new steps that call the implementing code of the old steps or figure out if I can call the old steps directly and have them still work in a sequence". It is no longer a matter of using your "Extract Method" or copy-pasting some lines into a method with parameters.
Because Gherkin introduces so much more friction/resistance to refactoring, those feature files are much less likely to be refactored. Thus, the copy/pasting of blocks of steps will continue and the tests will start losing that higher level expressiveness that was the justification for using Cucumber.
Testing behavior is a good idea. Writing your tests at a very high level, where you can understand the whole scenario at a glance, and give it data tables to consume, and follow that Given/Then structure, is all possible with code.
manofmanysmiles
4 days ago
I'd just ask Claude about writing test specs in Gherkin. I'm going to try this Monday.
girvo
4 days ago
I said last year to people that I swear BDD is going to make a comeback. Hasn’t yet, but I still reckon it might!
cadamsdotcom
4 days ago
Truly amazing. Quite thought provoking how it was helped by having high quality oracles. Eg. Qwenputer & good NES reference materials.
I guess humans need their oracles too: teachers, encyclopaedias, degrees, phds.
Bravo, awesome project, really creative!