Blog
Control Flow in Odin
Learn how Odin keeps control flow explicit through exhaustive switch statements, value-based error handling, or_return, and block-scoped defer. Discover why visible control flow makes code easier to reason about.
Memory Safety, AddressSanitizer, and Logical Lifetimes in Tina
Learn how Tina combines AddressSanitizer, arena allocation, and logical lifetimes to detect memory safety violations
Why Odin?
A succinct introduction to the Odin programming language for experienced programmers, especially those familiar with Go, Java, and other GC-based languages.
Zero to Hello World in Odin
Write your first Odin program and learn about the structure of an Odin program/project.
Data and Memory Management in Odin
Learn how to work with data, and fearless memory management in Odin
Building an HTTP Server on a Thread-per-Core Framework, without Async/Await
How to build a production-grade HTTP server without async/await or coroutines. Discover how Tina HTTP uses thread-per-core state machines in Odin
The Tokio/Rayon Trap and Why Async/Await Fails Concurrency
Async/await makes concurrency easy to write, but incredibly complex to operate. Read on for why the Tokio/Rayon boundary is failing in production, and how explicit state machines fix it.
Why Queues Don’t Fix Overload (And What To Do Instead)
Why adding Kafka or bigger queues won't save your server from traffic spikes. Learn the physics of backpressure, load shedding, and the latency death spiral.
Practical Introduction to Async Generators in JavaScript
A comprehensive and practical guide to synchronous and asynchronous generators and iterators in JavaScript & TypeScript