My guest appearance on fulltimenix is out now.
fulltimenix.com/episodes/hor…
Here's my public quality control handbook that I give to my agents on load. Covers a lot of things, but most importantly how to avoid using python, bash, or basically anything other than Haskell 100% of the time.
openfp.net/quality-control/h…
"But why do you need a Haskell console in that?"
vortex.openfp.net
Try this prompt. If you have a webapp and want to port it to Haskell.
"Can you send ':commands' to this websocket at nixlab.openfp.net/ws, inspect all the projects to learn how to use vortex, then port me over to miso on horizon-javascript at GHC 10.0 with a vortex API on the backend using horizon-platform at GHC 10.0. Keep all my branding and frontend design. Then show me what I can do with this that I can't do with REST."
Here's how I make a merge request on nixlab.openfp.net
```
do
mr <- openMergeRequest "systems/ashenvale" "Update README" "This is a description"
let n = mrNumber mr
a <- setAutoMerge n True
b <- setAutoTag n "1.0.0"
pure (n, a, b)
```
Then send that over a websocket and it's processed on the server completely safely.
Whether your code is written by a human, clanker, monkey, potato, spatula or white noise generator
The answer is still "Use pure functions statically checked with algebraic data types."
Entropy is universal. Just like how search engines died. If you don't put effort into the system the models will eventually collapse.
Another way of saying use Haskell.
One of the big problems with everyone vibe-coding everything rather than actually just checking and reviewing the output, is that LLMs are going to train themselves on their own output.
LLMs are going to have problems related to inbreeding. Other AIs are beginning to have this.
This model collapse or Habsburg AI is a serious problem in all of the kinds of models (LLM, generative, etc), and Goddamn do I worry it'll be an issue sooner rather than later.
They could stop say "only train on data before this date", but that'll limit them too for when new things happen.
I believe many companies adding the fingerprinting/watermarks is probably a big reason now of doing it. They are marketing to allow people to see if something is AI made, when in reality they are adding it to prevent their own models from consuming it, producing inbreed cannibalism.
An excerpt from my QC handbook:
```
#law("Script in vortex, never Python", kind: "review")[
A task you would reach for a script to do — fetching, reading,
transforming data — is a vortex program run by a Haskell host. Never
Python, and never a bash loop. If no DSL covers the domain, invent one:
a typed effect row over a pure interpreter, a host folding it to the
answer. Bash and Python have no type, no error value and no composition,
so their failures are silent: a lost reply reads as an empty result, a
pipe truncates output, and a sweep of 151 calls yields one answer with
no error at all. A vortex program fails by refusing to compile, and
every answer is a typed value that reaches the reader in full. Whenever
a problem is solvable in a single vortex call with a monadic block, it
is written as one.
]
```
Alright I'm dropping support for darwin.
Replying to @Lstruere
The Apple Store on 5th Ave is filled with incredible details. This perfect little door keeps the fire extinguisher hidden.
The new McDonalds menu is hopelessly complicated. I tried the German burger. Just a catastrophe. Never been so confused by a sandwich. Didn't understand what was German about it.
DHH thinks that LLMs do better with poorer abstractions because he's never used a language that has any abstractions.









