Thoughts
52Notes on software engineering, distributed systems, and the future of human productivity.
A spammer changes one name per copy, and every copy hashes differently. How Mailingest counts near-identical mail with SimHash, four bands and Redis.
Buzontemporal's live inbox held one Mailingest stream per visitor, and Mailingest allows 20 per account. Why raising the cap wasn't the fix, and how Centrifugo was.
A temporary inbox takes mail from anyone, for anyone, with no account. How Buzontemporal runs on Mailingest: no attachments, a light path, hard limits.
Per-customer scheduled jobs, several workers, no duplicates. In Sumalos pg_cron only inserts a row and sends a NOTIFY; the work stays in the app.
Sumalos encrypts every file in its bucket with its own key, wrapped by the organization's, wrapped by a master key. A leaked bucket is noise.
Spanish law says an issued invoice can't change and numbers can't skip. In Sumalos Postgres enforces it: freezing triggers, a locked counter, a hash chain.
An AI agent that issues an invoice can't take a step back. How Sumalos turns its plan into a preview, a confirmation, steps that run once, and an undo.
If the tab reloads mid-answer, an AI reply should carry on, doing nothing twice. Sumalos does it with a Postgres row, a Redis lease and a fencing token.
One AI bill a month, twenty kinds of model call. How Sumalos prices every attempt as it happens and caps spending per person and per company.
A vision model misreads a crooked receipt and sounds sure of it. Sumalos reads documents several times, checks digits, and lets the model be one vote.
Red-teaming an AI agent against a real model is slow, costly and never repeats. For Sumalos I assume the model is compromised, script it, test the rest.
An AI agent reading messages from strangers will obey one someday. Sumalos' guardrails assume it: a classifier, limits in code, a canary in the prompt.
Payment terms said on the web on Monday should be known on WhatsApp on Thursday, by the right people only. How Sumalos designs its AI agent's memory.
One AI agent, five people with different rights. Sumalos limits the agent's tools to what the person talking to it could do in the app.
One AI agent, many companies, many people. Its knowledge comes in stacked layers, and the work is keeping each layer from leaking past who it belongs to.
An AI agent that sends invoices never needs to hold the customer's data. A clear proxy gives the model handles and puts real values back on the server.
Telling an AI agent not to read an IBAN is only a request. In Sumalos the privacy filter sits in the one module every read passes through.
In Sumalos the language model never computes a tax. A deterministic rules engine does, with hashed bundles, exact decimals and two clocks.
All three pass the same conformance tests. What separates them is everything between an API server and an HTTPS URL, and that's why pfrctl runs k3s.
Sumalos' assistant is a 48-pixel rubber stamp with no sprite sheet: every frame is computed from distance functions, its face shows what the model does.
A month after Jev, there are over twenty decision models you can call or self-host, and most beat Jev on its own benchmark. What each is and how to choose.
Most model calls in a product are multiple-choice questions. A decision model answers in one pass, with a probability. I ran one on a four-core VPS.
Each Secondbook travel guide is a hardcover you can turn in your hand. No WebGL: twenty-five divs, a few CSS transforms and a light model run per pose.
Secondbook speaks eight languages, and so do its URLs. One registry drives every link, redirect, guard and robots.txt line, with a single folder per page.