Skip to main content

joel@ibm:~$ whoami

Joel Hanson

Software Engineer at IBM Event Streams — Kafka, Kubernetes operators, and AI tooling. Sharing what I build and learn.

~/projects/platform

Kafka, MCP, connectors, and open-source tooling.

~/posts

The Connector That Kept Retrying and Never Said So

3 min
A customer reported that their Kafka Connect MQ Sink connector looked completely healthy — no errors on the connector CR, no failed tasks — but no messages were reaching MQ. This had been going on for hours.

From Celery to Restate: Rethinking Async Tasks in Django

9 min
The Celery Question # For years, when someone asked “How do I handle background tasks in Django?”, the answer was almost always “Use Celery”. And for good reason. Celery is mature, battle-tested, and has solved async task processing for countless Django applications. It has extensive documentation, a large ecosystem of plugins, and most Django developers have at least some experience with it.
#Django #Celery #Restate #Python

~/projects/personal

Side apps and smaller tools.