Jamal Hansen

I’m a data scientist building production AI applications. I write for Python developers who want to get serious about SQL, DuckDB, and local AI tools. The posts here are long-form and build on each other, because depth is the thing I wish more technical writing offered.

What you’ll find here

  • SQL for Python Developers: a 25-post series that teaches SQL from first principles using DuckDB, in Python, with no server to set up. I started it because so many Python developers avoid or underuse SQL, and understanding how SQL thinks changed how I write Python.
  • Local AI, honestly: field notes from building real tools with small models running on my own machine. What they can carry, what they can’t, and what I had to fix.
  • Notes and knowledge: how I use Obsidian, metadata and LLMs to think, and what Karpathy’s knowledge-base method looks like in practice.

Not sure where to begin? The start here page picks the best post for each of those. For what I’m writing and building this week, there’s a now page that my own tools keep current.

Talks

If you run a meetup or conference and want a talk on SQL for Python developers or local AI, I’d like to hear from you.

Off the clock

I’m a husband and dad, which has a way of focusing you on what actually matters. I read mystery, sci-fi and fantasy when I can stay awake long enough, I’m slowly learning Japanese, and I play board games when life allows.

Get in touch

The best places are LinkedIn, Bluesky and Mastodon. Code lives on GitHub.

To get new posts by email, subscribe to the newsletter. I send one when a post is ready, with a few notes on what I’m reading and building. No schedule, no filler.


The views and opinions expressed on this site are my own and do not necessarily reflect the official policy or position of my employer or any other organization.