Michael Kennedy
Michael Kennedy's Thoughts on Technology
Tools
Topics
Courses
Talk Python
Python Bytes
Open Source
AI Enablement
About
© 2006 - 2026 Michael Kennedy
Tools
Catch the import. Name the culprit. Keep threads free: Introducing gilguard
On free-threaded Python, one import can quietly turn the GIL back on for good. gilguard turns that moment into an error that names the module, the package, and the line of your code that pulled it in.
Nov 6, 2026
Your GitHub language bar is lying (how to fix it)
GitHub said my Rust project was 75% HTML. A few lines of .gitattributes told it to skip generated docs, vendored code, and tests, so the language bar now shows what the project really is.
Oct 29, 2026
What the pls?
The pls on PyPI is an abandoned Python version. The pls I recommend was rewritten in Rust, here's how to spot the difference and install the right one.
Jun 28, 2026
What hyper-personal software looks like
Agentic AI is enabling an explosion of personal software no one will ever see. I built a browser extension in 15 minutes just for me, and that's the point.
Mar 6, 2026
Your Terminal Tabs Are Fragile. I Built Something Better.
Terminal tabs weren't designed for long-running processes. They're fragile, forgetful, and demand constant attention. Command Book gives your background commands a permanent home.
Feb 5, 2026
Always activate the venv (a shell script)
Stop forgetting to activate your Python virtualenv. This post shares a small Zsh script that automatically finds and activates venv or .venv as you move through project folders, plus a quick security warning and install steps.
Jan 7, 2026
DevOps Python Supply Chain Security
Stop malicious Python packages before they reach your development environment.
Dec 26, 2025
Python Supply Chain Security Made Easy
Wire pip-audit into your CI and unit tests to automatically block known vulnerable dependencies.
Dec 22, 2025
AI Usage TUI
A very simple CLI to avoid going over your limits in tools like Cursor, etc.
Oct 24, 2025
Show me your ls
Let's focus on something so minuscule as the basic ls command.
Oct 14, 2025
Primed: Should You Hype Your AI Before You Start?
Should we try to get it HYPED and excited to work on the project? I say yes.
Oct 13, 2025
Goodbye Wordpress, thanks AI
I want to share a story of massive success with agentic coding.
Sep 30, 2025
Search Talk Python from your address bar
It's now possible to search the podcasts from anywhere.
Oct 16, 2024
Docker images using uv's python
uv has added a new way to build Python-based containers.
Sep 5, 2024
Use Custom Search Engines Way More
Browsers these days let you add custom search destinations directly, which ones could add?
Jan 28, 2024
Hide Those Terminal Secrets!
Automatically redact secrets in your terminal for screen sharing and recording.
Dec 4, 2023
Don't Sweat the Ad Blocker Drama
Chrome has been stirring up lots of concern with their ad-blocker limitations coming. But don't worry, it shouldn't apply to you anyway. Here's why.
Nov 28, 2023
You Can Ignore This Post
GitHub has a whole repo full of ignores you can make use of.
May 25, 2023
Dev on the Road
Some options for traveling light and leaving your laptop at home.
Jan 9, 2023
Paying for search in 2022, am I crazy?
I have some core beliefs about the technology world.
Dec 13, 2022
AI Usage
AI Usage is a CLI tool that tracks credit consumption across billing cycles for subscription-based AI services like Cursor and GitHub Copilot.
Docker Cluster Monitor
Docker Cluster Monitor is a TUI tool that provides real-time monitoring of Docker containers running on remote servers.
Gitty Up
Gitty Up is a CLI tool that automatically discovers and updates all Git repositories in a directory tree with a single command.
Tallyman
Tallyman is a CLI tool that categorizes and analyzes codebases by language and file type, revealing the shape of your project.
Tools
A collection of useful tools