I recently did a deep dive on open-endedness, and my favorite example of its power is Picbreeder from 2008 [1]. It was a simple website where users could somewhat arbitrarily combine pictures created by super simple NNs. Most images were garbage, but a few resembled real objects. The best part is that attempts to replicate these by a traditional hill-climbing method would result in drastically more complicated solutions or even no solution at all.
It's a helpful analogy to understand the contrast between today's gradient descent vs open-ended exploration.
Built one for myself. It's context-aware and promptable.
Tested well on Linux, not so much on other platforms but in theory should support them.
It's a bit meta but I wrote it mostly using Claude Code. Once I had an MVP, I was able to prompt much faster by just speaking out what I wanted it to change.
I used to think that typing speed was not really that important, especially when now we have so many LLMs doing the typing for us. But honestly, now I think it's even more important because the specificity and detail in your prompts are paramount to getting a good response, and something like a dictation tool (which is what I'm using right now) is really good for generating very specific prompts.
In fact, I wrote all this out using a dictation tool in ~20 seconds (258 WPM).
Cursor is likely very tuned for Claude (prompts-wise and all) due to its dominance with 3.5 and now 3.7. Still, Gemini 2.5's tool calling has been pretty poor in my experience which Cursor heavily relies on.