"Am I German or Autistic?" in 15 questions...
RE: https://cosocial.ca/@mhoye/116148772813747144
To expand this point: software is composed of code, organizational processes, and people. A surprisingly large number of software developers are narrowly focused on generating code and miss all the surrounding processes and people (humans' skills, knowledge, understanding of goals) that make that code usable.
Even if you accept "it's so good at generating code" (and I'm skeptical it'd be capable of doing a lot of things I've worked on, like memory profilers), that still doesn't address the costs in other categories:
- Degradation of processes. For example, you get denial of service on code reviews, which means code reviews go away, "it passes tests, it's fine!"
- Degradation of people's skills and knowledge. If it breaks, no one will know how it works because no one really understands the code. Especially once you've given up on code reviews! And an experienced engineer can only control an agent because they have experience _writing code_. If you stop writing code, those skills degrade. And if agents are all you're using, new programmers don't get that experience at all, and control of the agent degrades even more.
For more on this narrow focus on artifacts, and not the surrounding organizational processes and structure, I highly recommend the book "What Machines Can't Do: Politics and Technology in the Industrial Enterprise", by Robert J. Thomas. It has nothing to do with AI, it's about manufacturing, but even so you see the failure modes from what he describes as having only "an aesthetic of product", and no "aesthetic of process". Similar failure modes (throwing things over the fence) resulted in the original DevOps movement, which was a political movement, not a job title.
I have a new technique for reliably vibecoding apps:
First, you write your requirements in an unambiguous specification language. This is the prompt, but to disambiguate it from less precise prompts, we will call it the source of truth encoding, or source code for short. You then feed it to an agent that will create an of outputs by applying some heuristic-driven transforms that are likely (but not guaranteed) to improve performance. This agent compiles a load of information about how to transform the code into a single pipeline, so we’ll call it a ‘compiler’. This then feeds to the next agent that finds missing parts of the program and tries to fill them in with existing implementations. This is more efficient than simply generating new code and more reliable since the existing implementations are better tested. This agent has a knowledge base of existing code organised in grouping that I’ll refer to as ‘libraries’. It creates links in that web of knowledge between the outputs of the first agent and these existing ‘libraries’ and so we’ll call it a ‘linker’.
I think it might catch on. VCs: I think we can build this thing for only a couple of hundred million dollars! And the compute requirements are far lower than for existing agentic workflows, so we can sell it as a service and become profitable far sooner than other AI startups. Sign up now for our A round! We have a working proof of concept that can output the Linux kernel, LibreOffice, and many other large codebases from existing prompts!
And finally, it is servings its original intended purpose: a SX1262 LoRa module connected to miniPCIe on a Helium miner, turning the miner from a sad investment (not mine) into a useful citizen of the MeshCore network!
Next up: design a miniPCIe board so this can also work with the case closed.
The age verifier knows how old you are at all times. It knows this because it knows how old you aren't. By subtracting how old you are from how old you aren't, or how old you aren't from how old you are (whichever is greater), it obtains a difference, or remainder.
The verification system uses deviations to generate corrective dark patterns to drive you from a date of birth that isn't yours to a date of birth that is, and arriving at an age where you weren't, but now are. Consequently, the age you are is now the age that you weren't, and it follows that the age that you were is now the age that you aren't.
In the event that the age that you are is not the age that you weren't, the system has acquired a validation error. The validation error is the difference between the age the verifier thinks you are, and the age you weren't. If the validation error is considered to be a significant factor, it too may be corrected by by the upload of a high-resolution JPEG. However, the verifier must also know how old you were.
The age verification scenario works as follows: Because a variation has modified some of the information the you have input, it is not sure just how old you are. However, it is sure how old you aren't, within reason, and it knows how old you were.
It now subtracts the age you should be from the age you weren't, or vice-versa, and by differentiating this from the algebraic sum of the year you shouldn't be and the year you were, it is able to obtain the deviation and its variation, which is called January 1st, 1970.