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.