Blog
Notes on AI agents, backend systems, and blockchain.
Skrrt, Full Time
After a year leading AI engineering at Alien, I'm on Skrrt full time: a product studio with a team I've shipped with, that checks the business before it builds and launches for one fixed price.
RAIF: A Repairable Format for Structured LLM Output
RAIF is a self-repairing format for LLM output that uses about 10% fewer tokens than JSON on real function calls. It now runs in vLLM as a plugin.
elysia-boilerplate: A Starter Template for Elysia APIs
What's in my Elysia.js API starter: Bun, PostgreSQL with Drizzle ORM and migrations, Pino logging, OpenAPI docs, Docker Compose, and a modular folder layout.
Tron Eneji: Cutting USDT Transfer Fees on Tron
I built Tron Eneji solo in two weeks. It adds energy to your Tron wallet so a USDT transfer costs around $2 instead of $5-7 in burned TRX.
Queue with History: A Rust Interview Problem
An interview problem in Rust: a queue that remembers the last N elements and reports only new ones. A naive O(n) VecDeque vs a VecDeque plus a HashMap of counts.
Simplifying Request Validation in Axum with axum-validated-extractors
axum-validated-extractors v0.3.0 adds a generic Valid<E> wrapper that covers Path, and keeps Axum's own rejection status codes instead of flattening them.
C23: What Changed in the C Standard
What C23 adds to C: constexpr, typeof and auto, nullptr, #embed, typed enums, standard attributes, <stdbit.h>, removed legacy features, and compiler support.
Rust 1.87: std::io::pipe() vs the os_pipe Crate
Rust 1.87 adds std::io::pipe() for anonymous pipes. How it compares to the os_pipe crate, with before and after code and why it cuts dependencies.
Time and Memory Complexity of Adding to an Array
An interview question on appending to an array: why a resize costs O(n), why appends are still amortized O(1), and how C, C++, Java, Python and JS compare.
HTTP, TLS, TCP, UDP and QUIC: Notes After a Rough Interview
I fumbled a network protocols question in an interview. My notes on the TCP/IP layers, HTTP/1.1 vs 2 vs 3, SSL vs TLS, and how TCP, UDP and QUIC differ.