The Curious Engineer

All blogs / Python

Trey Hunner

treyhunner.com

Trey Hunner helps Python developers level up their skills through Python Morsels and team training.

Python

Posts
105 from 1 May 2009 to 4 Sep 2026
Posting
monthly (9 in the last year)
Kind
personal blog
Feed
https://treyhunner.com/atom.xml

2026 5

  1. Python Morsels now has spaced repetition
  2. A Dolly Parton developer
  3. Reorganizing Python's sys module
  4. Using a ~/.pdbrc file to customize the Python Debugger
  5. On the enviromental impact of using LLMs for writing code

2025 13

  1. My favorite reads of 2025
  2. Default Apps of 2025
  3. Python Black Friday & Cyber Monday sales (2025)
  4. Python Morsels Lifetime Access Sale
  5. Handy Python REPL Modifications
  6. Customizing your Python REPL's color scheme (Python 3.14+)
  7. My PyCon US 2025 recap
  8. Let's end kidney deaths: buy one of my kidneys
  9. Make a cutting room floor
  10. Tips for PyCon tutorial presenters
  11. Which social network are we using for PyCon US this year?
  12. Django components: sometimes an include doesn't cut it
  13. My default apps of 2024

2024 16

  1. My favorite audiobooks of 2024 (and also 2017 through 2023)
  2. Lazy self-installing Python scripts with uv
  3. New Python Jumpstart course
  4. Python Black Friday & Cyber Monday sales (2024)
  5. Adding keyboard shortcuts to the Python REPL
  6. Django and the Python 3.13 REPL
  7. Switching from virtualenvwrapper to direnv, Starship, and uv
  8. 10-Week Hands-On Python Course
  9. Quickly find the right datetime format code for your date
  10. Why does "python -m json" not work? Why is it "json.tool"?
  11. GPT and Claude from your URL bar
  12. A beautiful Python monstrosity
  13. PyCon 2024 Reflection
  14. The new REPL in Python 3.13
  15. Installing a custom Python build with pyenv
  16. 10 years of Python conferences

2023 1

  1. Python Black Friday & Cyber Monday sales (2023)

2022 3

  1. Python Morsels Cyber Monday sale
  2. Python Black Friday & Cyber Monday sales (2022)
  3. Overlooked facts about variables and objects in Python: it's all about pointers

2021 4

  1. Python Black Friday & Cyber Monday Sales (2021)
  2. How to sort a dictionary in Python
  3. How to flatten a list in Python
  4. What's great about Python 3.10?

2020 3

  1. Python Cyber Monday Sales (2020)
  2. Short weekly Python screencasts for $50/year
  3. Passing a function as an argument to another function in Python

2019 11

  1. Cyber Monday Python Sales (2019)
  2. Black Friday Sale: Gift Python Morsels to a Friend
  3. Loop Better: a deeper look at iteration in Python
  4. Python built-in functions to know
  5. Is it a class or a function? It's a callable!
  6. The problem with inheriting from dict and list in Python
  7. Making the most of the PyCon sprints
  8. Overusing list comprehensions and generator expressions in Python
  9. Unique sentinel values, identity checks, and when to use object() instead of None
  10. Tuple ordering and deep comparisons in Python
  11. No really, pathlib is great

2018 11

  1. Why you should be using pathlib
  2. Python Cyber Monday Sales (2018)
  3. Black Friday Sale: 50% Off 52 weeks of Python Morsels
  4. Asterisks in Python: what they are and how to use them
  5. Overusing lambda expressions in Python
  6. How to make an iterator in Python
  7. How to have a great first PyCon (updated for 2026)
  8. Keyword (Named) Arguments in Python: How to Use Them
  9. Tuple unpacking improves Python code readability
  10. Python 3's range is more powerful than Python 2's xrange
  11. Python: range is not an iterator!

2017 2

  1. Craft Your Python Like Poetry
  2. My Favorite Audiobooks of 2016

2016 6

  1. The Iterator Protocol: How for Loops Work in Python
  2. Check Whether All Items Match a Condition in Python
  3. Weekly Python Chat: Live from PyCon
  4. How to Loop With Indexes in Python
  5. Webinar: Regular Expressions in Python
  6. The Idiomatic Way to Merge Dictionaries in Python

2015 7

  1. My favorite audiobooks of 2015
  2. Python List Comprehensions
  3. Counting Things in Python: A History
  4. The Cabo card game
  5. Deploying an Ember CLI application through SSH
  6. Creating a custom Bootstrap build
  7. ECMAScript 5: The Future is Now

2014 5

  1. Top 6 Audiobooks of 2014
  2. The many flavors of mock.patch
  3. CSS classes and Django form fields
  4. CLI for finding DRM-free Audiobooks
  5. Supporting both Django 1.7 and South

2013 9

  1. TDD with Django Tutorial
  2. Visual Integration Tests for Django
  3. Extensible JSON encoder using single-dispatch functions
  4. Test-Inspired Development
  5. Maintaining an open source project
  6. Log all outgoing emails in Django
  7. django-simple-history is back
  8. Random name generator website
  9. Random name generator in Python

2012 2

  1. tmuxstart
  2. Maintaining consistent coding conventions with EditorConfig

2011 3

  1. Migrating from Subversion to Git
  2. Django and model history
  3. Sharing Screenshots in Linux

2010 2

  1. Encrypted private keys in Django
  2. Replacement for jQuery AlphaNumeric plugin

2009 2

  1. Multiple Monitors with Multiple Workspaces
  2. Ubuntu Now Boots in 10 Seconds