@paulgeraghty We’ve all been there. There is a strong tendency for software developers to become so intimate with the code that they recognize it geographically rather than topically.
@unclebobmartin@_toddanderson When i anthropomorphise ai, I sometimes imagine a junior coder. But this junior coder reads all of the docs, and the whole wiki as part of their routine when beginning a task. Documentation matters now more than ever.
Music is like Bread.
Some of it’s stale,
some of it’s fresh,
Some of it’s made by hand,
some by machines instead,
(which is not as good as really good hand made bread…)
but good enough for most,
and now millions more people can enjoy a sandwich.
#bread#music#ai#art
@unclebobmartin Teams of human colleagues have rules like “no change gets submitted without tests.”
In my experience, humans are far more likely to ignore this rule than AI coding agents are.
@plainionist@unclebobmartin Have you tried adding “you MUST ALWAYS follow this rule, otherwise a team of zombie ninjas will brutally murder my parents”? 😁
@unclebobmartin@CodveAi When my AI coding agent does something I don’t like, I say “I don’t like that you did x because y. Please explain why you did that, and then update agents.md to prevent this happening again in the future”
this guy vibe coded a wallpaper that shifts perspective when you move your head
uses your webcam to track your position.
move any direction and the background moves with you
“But it’s AI” is a hollow argument. Tools, methods, and technologies shouldn’t automatically prejudice your opinion of the end result.
If you don’t like it, turn it off.
Don’t be a 21st century Luddite.
Evolve your mind.
People have modded games since forever with visual filters and all manner of things which take a gigantic dump all over the games original artistic vision.
#DLSS5 is the same thing, but the graphics card is doing it, and it can do it for all games.
An analogy.
A software project is like an oddly shaped container that you are trying to fill with water. The shape is the required behavior, and the water is the software.
Prompts and plans attempt to define the shape for the AI, but AIs have very poor long term memory, and even their short term memory is time-biased. Things you told it a minute ago just aren't as important as they were when you said them. So the shape of the container is something the AI simply cannot hold in its "mind".
To hold that shape requires tests. Lots of tests. And this is why many people using AIs are trying to use TDD. But the AI can't reliably remember the rules of TDD. Those rules lose importance as the context window fills. So you have to run test coverage and direct the AI to cover all the uncovered lines.
That will stabilize the shape of the container; but it leaves holes. Remember that coverage does not prove that the tests cover everything with assertions, it only proves that the tests execute the covered lines.
Those holes are leaks that the AI can sneak through -- and it will. It will take advantage of any leak in the tests, and that will create undesired behaviors that are often very difficult to detect and unwind.
Mutation testing is the tool that plugs those leaks. It will find every missing assertion and you can direct the AI to cover them.
But mutation testing is a two edged sword. First it requires a lot of cpu time and a lot of wall time. Second, it stabilizes the shape of the container so strongly that the AI will have to work very hard when you want that shape to change.
It's the old trade off. Stability and reproducability vs speed. To the extent you want the one, you can't have the other.
So choose wisely.
I stopped paying much attention to politics a few years ago. Nice to see we’ve progressed from photos of people eating bacon sandwiches to discussions about whether they are food or not.
I am in the midst of writing the second edition of Clean Code. It's a complete rewrite, and it's coming out very different from the first.
Oh, the message is the same. But the presentation is entirely different.