I write for developers who know one thing well and are learning the next one. SQL to Python. Python to AI. Local tools to production systems.
Start here:
Get weekly writing on SQL, Python, and AI — join the newsletter
I write for developers who know one thing well and are learning the next one. SQL to Python. Python to AI. Local tools to production systems.
Start here:
Get weekly writing on SQL, Python, and AI — join the newsletter
Learn SQL fundamentals using DuckDB and Python. A practical series for Python developers who want to level up their data skills.
What happens when you build real AI tools with AI writing the code? Chaos mostly, but also hard-won lessons about what small models can and can't do.
Command line for the AI era. The terminal window is a powerful tool that lets you quickly verify what LLMs tell you that they have done
My honest, unfiltered experience studying for and taking the AWS Certified Data Engineer – Associate exam. The wins, the setbacks, and everything I learned along the way.
It's not either/or. Use ORMs for CRUD and migrations; use raw SQL for analytics and complex queries. A practical decision guide.
After extracting a shared library, starting a new tool went from a day of boilerplate to two imports. The queue got longer, not shorter. Here's what's next.
String formatting in SQL is dangerous. Learn parameterized queries to keep user input safe and prevent SQL injection attacks.
I ran out of Claude tokens and handed my six-repo codebase to Gemini CLI. It made some mistakes and had one genuinely good idea.
Build a complete pipeline - fetch from an API, load into DuckDB, transform with SQL, export results. A capstone putting it all together.
Read EXPLAIN output to understand why queries are slow. Learn when to add indexes and when to stop worrying about performance.