Selected Posts
Async Python: The Different Forms of Concurrency
Threads vs. processes vs. asyncio, the GIL, and when each model actually wins. My favorite single piece.
Read on the blog ↗Exploring Asyncio - uvloop, sanic and motor
Building a full async stack end to end - event loop, web framework and database driver - and what it buys you.
Read on the blog ↗Generators, Coroutines, Native Coroutines and async/await
How Python's concurrency model evolved from generators to native coroutines - and why each step happened.
Read on the blog ↗Python asyncio: Future, Task and the Event Loop
A look under asyncio's hood at the primitives the event loop actually schedules.
Read on the blog ↗A Quick Introduction to the concurrent.futures Module
Thread and process pools through one clean executor API, and where each fits.
Read on the blog ↗Interfaces in Python: Protocols and ABCs
From informal duck typing to formal contracts with abstract base classes.
Read on the blog ↗Understanding Decorators in Python
Decorators built from first principles - closures, wrapping and why they read the way they do.
Read on the blog ↗Composition Over Inheritance
Why deep class hierarchies hurt, and how composition keeps designs flexible.
Read on the blog ↗Distributed Task Processing in Go
A Celery-style distributed task queue in Go using machinery - the patterns behind background work at scale.
Read on the blog ↗Golang: Building a Telegram Bot for Aggregating Content
A real, concurrent Go service end to end - fetching, aggregating and serving content.
Read on the blog ↗Golang Interface
How Go's implicit interfaces work and why they shape idiomatic Go design.
Read on the blog ↗Introduction to Django Channels
Bringing WebSockets and async to Django - the ASGI shift, explained.
Read on the blog ↗Django Channels: Using Custom Channels
Going beyond the defaults to model your own message channels.
Read on the blog ↗Deploying Django Channels using Daphne
Taking an ASGI app to production with the Daphne server.
Read on the blog ↗Django Admin: Expensive COUNT(*) Queries
Diagnosing a real database performance problem hiding inside the Django admin.
Read on the blog ↗Understanding JWT (JSON Web Tokens)
What a JWT actually is, how it's signed, and where stateless auth fits.
Read on the blog ↗REST APIs: Concepts and Applications
The principles behind REST before reaching for a framework.
Read on the blog ↗