
How Rate Limiting Works in Modern Web Systems
Every service that survives contact with the real internet eventually needs rate limiting. It is the quiet mechanism that keeps an API from being drowned by a runaway client, a sc…
By Cassian Vale
An independent engineering journal
roman10.net is a long-running technical notebook on Android, the NDK, Linux systems, multimedia engineering, algorithms, and the practice of writing software well. Practical articles, real implementation details, and the occasional opinionated note.
$ git log --oneline | head a1f3c0e ndk: refine JNI marshalling for AAudio 7d2b8aa linux: ELF section walk + relocations 3e91f15 ffmpeg: PCM → WAVE encoder, edge cases 0c4d2ab algo: streaming top-k with reservoir $ make notes compiling thoughts... [ ok ] linking insights... [ ok ] publishing roman10.net [ ok ]
What you'll read
Latest engineering notes
Recent technical writing — implementation notes, debugging stories, and reflections from real engineering work.
Explore the site
Curated landing pages for projects, apps, and longer-form reflections.
Projects & apps
Built alongside the writing — the laboratories where the ideas were tested before they became posts.
You tap play, and within a second or two a high-definition video begins, smooth and uninterrupted, with no sense of the enormous machinery working on your beha…
A founder I spoke to last month, working alone from a flat in Lisbon, told me she had shipped four products in the past year. Two of them now make money. One h…
Category

Long before neon façades and tournament floors, the gambling culture of Europe was incubated in small, candlelit rooms scattered across the cities of the north. In Venice, Turin a…

For almost three decades, the global internet was an unusual technological artefact. Most large pieces of human infrastructure had borders, jurisdictions and tariffs. The web most…
Category

Every service that survives contact with the real internet eventually needs rate limiting. It is the quiet mechanism that keeps an API from being drowned by a runaway client, a sc…

In an age of fast connections and powerful devices, it is tempting to assume that web performance has stopped mattering. Surely, the thinking goes, with broadband everywhere and p…

AI coding assistants have moved, in a remarkably short time, from novelty to daily tool. For a great many developers they are now simply part of the workflow, suggesting completio…
Category

If you had asked anyone in tech in 2022 to describe the future of work software, you would have heard the same answer in slightly different accents. More apps. More integrations.…

Most coding workdays aren't actually spent coding. There's the standup you half-prepared for in the shower, the tab tornado of pull request notifications, the receipts you keep me…
Category

Of all the professions disrupted by constant interruption, programming may be among the most damaged by it. Writing software is not the kind of work that can be done in scattered…

For about a decade, the personal website looked like a relic. Why bother maintaining your own little domain when the platforms offered everything for free — an audience already as…

There is a particular kind of afternoon every working programmer knows. You sit down at nine with a clear problem and a clean head. By noon you have touched eleven browser tabs, t…
About this site
Everything published here is written by working engineers documenting real experiments and lessons learned. There are no sponsored placements, no affiliate-driven recommendations, and no editorial calendar dictated by anyone except the next interesting bug.