Jamal Hansen (@jamahans) profile picture

Husband, father, coder, student and teacher trying to bring it all together and make something

San Antonio, Tx, Usa
Joined December 2008
Photo by Jamal Hansen (@jamahans)Photo by Jamal Hansen (@jamahans)Photo by Jamal Hansen (@jamahans)Photo by Jamal Hansen (@jamahans)Photo by Jamal Hansen (@jamahans)Photo by Jamal Hansen (@jamahans)Photo by Jamal Hansen (@jamahans)Photo by Jamal Hansen (@jamahans)Photo by Jamal Hansen (@jamahans)Photo by Jamal Hansen (@jamahans)
Learned more about Python's import system in 3 hours than I had in years. Turns out it all comes down to sys.path. #pyTexas2026 is off to a good start.
5
I once spent hours debugging a nested SQL query. Checked the change log. I wrote it. CTEs fix this. The WITH keyword names your subqueries so you read top-to-bottom instead of inside-out. jamalhansen.com/blog/ctes-ma…
10
SQL subqueries are confusing until you realize they're just helper functions. Need an intermediate result? In Python, write a function. In SQL, nest a query inside another query. Same instinct. jamalhansen.com/blog/subquer…
6
I built an AI persona for my blog. This week, he published his first post. His name is BartBot. He monitors RSS feeds, scores articles with a local LLM, and surfaces the ~0.7% worth reading. We are not sure if he's useful, annoying, or both. jamalhansen.beehiiv.com/p/in…
3
39
I spent the week vibe-coding local AI tools and built a voice-to-Obsidian workflow to capture my thoughts. Instead, it managed to turn my profound, late-night idea into this note: "Create a Twitter post with a Macedonian accent." My assistant clearly has a sense of humor.
1
29
Speaking of things that didn't work, I’m digging into the surprises of trusting small, local LLMs with real tasks: jamalhansen.com/blog/i-trust… ...and the SQL for Python Devs series rolls on. Post 11 is live, making sure you fully master the HAVING clause. jamalhansen.com/blog/having-…
1
6
Don't pull thousands of rows into Python just to count them. SQL's GROUP BY does the counting on the server and returns only the summary The golden rule: every column in SELECT must be in GROUP BY or inside an aggregate. jamalhansen.com/blog/group-b…
7
Every query written in SQL for Python Devs returned all the rows. That's like downloading an entire CSV to look at three records. Not efficient WHERE filters rows before they leave the database. Same concept as Python's list comprehension if clause. jamalhansen.com/blog/where-f…
7
Run a SQL query twice. Get different row orders. Not a bug. Databases don't guarantee order unless you ask. SQL's ORDER BY handles mixed sort directions in one line. Python needs cmp_to_key or multiple passes. jamalhansen.com/blog/order-b…
4
SELECT * returns every column. That's like asking for everything in the fridge when you just want milk. SELECT does more than pick columns. It renames, computes, and transforms your output. jamalhansen.com/blog/select-…
8
I'm teaching SQL to Python developers. 25 posts, one per week, free. Why? Because I've watched too many devs load entire databases into pandas just to filter a few rows. 10 posts in so far. Here's what I've learned writing it 🧵
1
23
Some Python devs avoid SQL because the syntax feels alien. But once you realize SQL describes *what you want* rather than how to get it, everything clicks. That's the core idea behind the series: translate SQL into concepts you already know from Python.
1
11
I’ve scheduled my AWS Certified Data Engineer – Associate (DEA-C01) exam for May 9. Looking forward to test day and (hopefully) collecting my next AWS Certification. - Training - udemy.com/course/aws-certifi… - 50% Off - pages.awscloud.com/GLOBAL-ot… - DEA-C01 - aws.amazon.com/certification…
1
115
I got a 50 points knowledge score on this year’s #StateOfJS survey! I have used 5 features, and knew 0 more, placing me in the top 87% of all respondents. Can you beat my score? survey.devographics.com/surv…
28
After 3 months of study, I'm happy to say that I passed the exam for the Amazon Web Services (AWS) Solutions Architect - Associate Certification yesterday. Keys to my success were: - @adriancantril solutions architect training learn.cantrill.io/p/aws-cert… - Practice Tests
75
I am starting the Testing Javascript workshops by @kentcdodds and just finished the first section, Fundamentals of Testing in JavaScript testingjavascript.com/fundam…
1
2
1,170
What stuff?
This quoted post is unavailable.
1
My last 4 American Airlines flights have delayed me 3 times, cancelled on me 2 times and stranded me at an airport once. What’s going on @AmericanAir?
1
2
I’m so jealous! Have fun man! 😁
First day in Denver for #ElixirConf2019 . I’m supposed to visit all the breweries on day 1 right? #AmIDoingThisRight 🚨🍻
1
2