Zero-Setup SQL: Run your first SQL query in under 5 minutes with DuckDB

Zero-Setup SQL: Run your first SQL query in under 5 minutes with DuckDB

Have you ever tried setting up a database server just to learn SQL? Docker containers, admin credentials… Forget all that. Let me show you how to go from zero to running SQL in under 5 minutes. Why are we using DuckDB to learn SQL? No setup - Just import and start using it Real SQL - PostgreSQL compatible syntax so what you learn transfers Fast enough - Handles millions of rows on your laptop Python-native - Works well with lists, DataFrames, CSV files It is perfect for learning without infrastructure headaches. ...

January 10, 2026 · 2 min · Jamal Hansen
I know Python; Why learn SQL

I know Python; Why learn SQL

SQL and Python solve different problems with data. Python tells the computer what to do, step by step. SQL describes the data you want and lets the database figure out how to get it. As a Python developer, learning SQL means you’ll write better pandas queries, know when to push work to the database instead of pulling everything into memory, and understand what your ORM is actually doing under the hood. ...

January 5, 2026 · 3 min · Jamal Hansen
An update on my agentic learning journey

An update on my agentic learning journey

A few weeks back I started on an agentic journey with the Udemy offering The Complete Agentic AI Engineering Course. This has been a great hands-on offering. I’ve completed 4 of the 6 weeks covering OpenAI Agents SDK, CrewAI, and LangGraph as well as some foundational theory. Throughout the course, the instructor Ed Donner has done a great job teaching enthusiastically and providing real world code that demonstrates the concepts of each framework. ...

June 24, 2025 · 3 min · Jamal Hansen

Add External Dependencies to Python Scripts with uv

Ever wanted to share a Python script that uses external packages without making the recipient set up a virtual environment? With uv, you can embed dependencies directly in the script. The Command uv add --script example.py 'requests<3' 'rich' This adds inline metadata to your script: # /// script # dependencies = [ # "requests<3", # "rich", # ] # /// import requests from rich.pretty import pprint resp = requests.get("https://peps.python.org/api/peps.json") data = resp.json() pprint([(k, v["title"]) for k, v in data.items()][:10]) Running It Anyone with uv installed can now run the script directly: ...

April 19, 2025 · 1 min · Jamal Hansen