the full playlist is on youtube
- introducing anthony explains!
 - python cli tested with pytest - (beginner to intermediate)
 - python @decorators - (intermediate)
 - my favorite python str method! (beginner - intermediate)
 - how to make a simple github PR (beginner)
 - the python @property decorator (beginner - intermediate)
 - python type(x).__name__ vs x.__class__.__name__ (intermediate)
 - python return annotations: NoReturn vs None (intermediate)
 - what's wrong with python's blank except:? (beginner - intermediate)
 - how I use selenium + html/css to make thumbnails (intermediate)
 - python: raising Error without parens (intermediate)
 - python's tricky 
for ...: else:statement (beginner - intermediate) - python's 
passstatement (beginner - intermediate) - shell bling strings! (beginner - intermediate)
 - setting up an ubuntu focal virtual machine (beginner - intermediate)
 - python executable zipapps (intermediate)
 - pretty python profiling (intermediate)
 - python implicit string joining (beginner - intermediate)
 - postmortem debugging in python (beginner - intermediate)
 - configuration management (devops) (intermediate)
 - how to pronounce PyPI (beginner)
 - all python argument / parameter types (beginner - intermediate)
 - what is a tty? (beginner - intermediate)
 - introduction to markdown (beginner)
 - how do I get started in open source? (beginner)
 - a flake8 plugin from scratch (intermediate)
 - finding regressions with git bisect (intermediate)
 - pytest's parametrize (beginner - intermediate)
 - python curses "hello world" (beginner - intermediate)
 - git: empty initial commit (beginner - intermediate)
 - dockerfile RUN : \ && syntax (beginner)
 - python variable unpackings (beginner - intermediate)
 - docker: ADD «url» considered harmful? (intermediate)
 - what is a shebang (#!)? (beginner - intermediate)
 - what is test driven development? (beginner - intermediate)
 - python single vs double quote strings! (beginner)
 - git: ignoring noisy whitespace changes (beginner - intermediate)
 - git: useful trick for pushing branches (beginner - intermediate)
 - python github actions w/ tox and pre-commit (intermediate)
 - releasing a python package to pypi (beginner - intermediate)
 - virtualenv vs. venv (beginner - intermediate)
 - implementing --version with importlib.metadata (intermediate)
 - string formatting in python (beginner - intermediate)
 - introduction to tox (beginner - intermediate)
 - python argparse tutorial (beginner - intermediate)
 - typing __getitem__ (python / mypy) (intermediate)
 - fixing a git mistake with reflog (intermediate)
 - introduction to python typing + mypy (beginner - intermediate)
 - python packaging: src layout (intermediate)
 - three ways to edit git commits (intermediate)
 - stdin / stdout / stderr (beginner - intermediate)
 - hacker mode tmux debugging (intermediate)
 - regular expressions crash course (beginner - intermediate)
 - web security: what is a csrf exploit? (intermediate)
 - python: functools.lru_cache (beginner - intermediate)
 - python __future__ "module" (beginner - intermediate)
 - undoing an accidental git commit (intermediate)
 - python packaging: basic setup.py and declarative metadata (intermediate)
 - what is deadsnakes? (beginner - intermediate)
 - getting started with programming (beginner)
 - git show (+ some tips!) (beginner)
 - python star imports (beginner - intermediate)
 - intro to apt (debian / ubuntu) (beginner + intermediate)
 - correct conditional arguments in bash (beginner - intermediate)
 - using the python __import__ builtin correctly (intermediate)
 - special paths: ~, ~user, ., .. (beginner)
 - protip: exiting really fast! (beginner)
 - python: Ellipsis (...) and typing (beginner - intermediate)
 - git cherry-pick (intermediate)
 - customizing the python repl (intermediate)
 - what is PATH? (beginner - intermediate)
 - python packaging: data files (intermediate)
 - a virtualenv from nothing! (beginner - intermediate)
 - tox --devenv (beginner - intermediate)
 - python packaging: optional dependencies (intermediate)
 - regexes: capture groups (beginner - intermediate)
 - python typing: why not self? (intermediate)
 - generator basics (+typing) (beginner - intermediate)
 - stop using 
git add .(beginner - intermediate) - why not global pip / virtualenv? (intermediate)
 - bash hash cache! (beginner - intermediate)
 - git: a checked-in directory (intermediate)
 - typing: exception types (intermediate)
 - why you should end a file in a newline (beginner)
 - git workflow: branch name collisions (intermediate)
 - sort your imports! (beginner - intermediate)
 - what is the underscore (_) for? (beginner)
 - python curses: color (intermediate)
 - semantic versioning (beginner - intermediate)
 - file modes and chmod (beginner - intermediate)
 - making a regex not match itself! (intermediate)
 - I run 'rm -rf /' and see what happens (beginner - intermediate)
 - git fetch (--prune) (beginner - intermediate)
 - top 10 new things in python3.9 (beginner - intermediate)
 - testing functools.lru_cache with pytest! (beginner - intermediate)
 - git: commit message pro tip (beginner - intermediate)
 - typing: what is Type[X]? (intermediate)
 - python debugger crash course: pdb / breakpoint (beginner - intermediate)
 - why pytest.mark.usefixtures? (intermediate)
 - git apply and manual stashing (intermediate)
 - intro to python namedtuples! (beginner - intermediate)
 - namedtuple to json and other pitfalls (intermediate)
 - how namedtuple works (advanced)
 - why python -m pip? (beginner - intermediate)
 - fixing NameError / TypeError in python type annotations (intermediate)
 - why backslash in triple-quoted-strings """\ (intermediate)
 - what's (wrong with) hacktoberfest? (beginner)
 - pure python windows .exe (no compiler!) (intermediate)
 - python dist-packages vs. site-packages (intermediate)
 - testing optional python dependencies (intermediate)
 - typing: why main() -˃ int (beginner - intermediate)
 - debugging with dir() (+__dir__) (beginner - intermediate)
 - python: pretty headers with str.center (beginner)
 - don't put passwords in commands! (beginner - intermediate)
 - python: comma, = assignment! (beginner - intermediate)
 - python typing: re.match and Optional (intermediate)
 - python: .sort() vs sorted(...) (beginner - intermediate)
 - python typing: @property (beginner - intermediate)
 - python: 4 ways to set namedtuple defaults (intermediate)
 - what is the /opt directory? (beginner - intermediate)
 - git: visualizing main line commits (intermediate)
 - bash: passing string as stdin (beginner - intermediate)
 - python: what is __slots__ and __dict__ (intermediate)
 - why __slots__ = () (namedtuples) (intermediate)
 - how do editable pip installs work? (intermediate)
 - what is argv (and argc)? (beginner - intermediate)
 - is python with types faster? (intermediate)
 - bash: multiple lines to stdin with heredocs (beginner - intermediate)
 - a python plugin system via entrypoints (intermediate)
 - git diff A...B (3 dots) (beginner - intermediate)
 - faster than git clone! (beginner - intermediate)
 - python: len(x) vs x.__len__() (beginner - intermediate)
 - python typing: Final / @final (intermediate)
 - python: raw (NOT REGEX) r'strings' (beginner - intermediate)
 - a "hello world" python C extension (intermediate - advanced)
 - making python releases less painful with abi3 (intermediate - advanced)
 - useful interview datastructures: defaultdict (beginner - intermediate)
 - reset a clone with git clean! (beginner - intermediate)
 - with + context managers (part1: the hard way) (intermediate - advanced)
 - with + context managers (part2: the easy way) (intermediate)
 - how @contextmanager works (with/contexts part 3) (advanced)
 - is python's round() broken? (beginner)
 - useful interview datastructures: Counter (beginner - intermediate)
 - easy fake objects with python's SimpleNamespace (beginner - intermediate)
 - what is a git tag? (beginner - intermediate)
 - python: typing *args / **kwargs (intermediate)
 - python typing: Optional is not optional! (intermediate)
 - mypy's "implicit optional" (and why I disable it) (intermediate)
 - customize ANY website (beginner - intermediate)
 - python: more advanced breakpoint() usage (intermediate)
 - what is docker and how does it work? (intermediate)
 - docker run: always use --rm! (beginner - intermediate)
 - what is sass vs scss? (beginner)
 - repeatedly checking command output (beginner - intermediate)
 - why do asset urls have hex segments? (beginner - intermediate)
 - python cffi tutorial (intermediate - advanced)
 - python regex: \d gotcha! (beginner - intermediate)
 - customizing "command not found" (intermediate)
 - why 
docker build --pull? (intermediate) - useful commands: 
pstree(beginner - intermediate) - don't use os.system! (beginner - intermediate)
 - python: all about comprehensions! (beginner - intermediate)
 - python: os.exec* vs subprocess (intermediate)
 - python typing: @overload (intermediate)
 - structural subtyping in python with Protocol! (intermediate)
 - what is virtualenvwrapper + quick start (beginner - intermediate)
 - github tweak: custom tab width (beginner)
 - what is advent of code? (beginner)
 - what is atomicity (intermediate)
 - python: what is 
nonlocal(intermediate) - python typing: Literal (intermediate)
 - counting in binary / 2s complement (beginner - intermediate)
 - oops I typed 
git git ...again (beginner - intermediate) - python: binary search the easy way (interview tips) (intermediate)
 - pytest: parametrize permutation (intermediate)
 - more powerful than control-C (beginner - intermediate)
 - pytest: testing exceptions (beginner - intermediate)
 - what is a pager / less ? (beginner - intermediate)
 - python: naming and underscores (beginner - intermediate)
 - what is the bang (!) in git aliases (beginner - intermediate)
 - python typing: aliases (beginner - intermediate)
 - argparse: making a command wrapper (parse_known_args) (intermediate)
 - bash protip: fc "fix command" (beginner - intermediate)
 - python integer literal underscores! (beginner)
 - what is 
git -C ...(intermediate) - bash: pushd / popd (beginner - intermediate)
 - what is 
cd -/git checkout -(beginner) - typing: Protocol + @runtime_checkable (intermediate)
 - what is a singleton? (and python patterns) (intermediate - advanced)
 - python: conditional context and ExitStack (intermediate)
 - python deque (useful interview datastructures) (intermediate)
 - images in the terminal? what is a sixel (beginner - intermediate)
 - useful tools: uq (beginner - intermediate)
 - git: cleaning up merged branches (beginner - intermediate)
 - python: decorating a class (intermediate)
 - python: class-based @decorators (intermediate - advanced)
 - intro to git lfs (intermediate)
 - python scoping (beginner - intermediate)
 - docker: deleting files makes your image bigger! (intermediate)
 - getting started with packer (intermediate)
 - all about xargs ! (beginner - intermediate)
 - bash "strict mode": -euo pipefail (beginner - intermediate)
 - 3 ways to clear / fix the terminal (beginner)
 - python is compiled? (+ disassembler) (intermediate)
 - what is a boolean trap? (programming antipattern) (beginner - intermediate)
 - python: str.translate (intermediate)
 - python easter eggs: __future__ braces (beginner)
 - the 
wccommand (beginner) - debugging python segfaults with gdb (intermediate - advanced)
 - interview question: 4 / 7 swap (beginner - intermediate)
 - github actions vulnerability or "why bug bounties are a scam" (intermediate)
 - python easter eggs: antigravity (beginner)
 - python insertion-ordered dicts (beginner - intermediate)
 - python @decorator stacking (intermediate)
 - typing: dealing with import cycles (beginner - intermediate)
 - python easter eggs: easiest hello world! (beginner)
 - what is dynamic programming? (beginner - intermediate)
 - unix commands: fold (beginner)
 - listing only directories with 
ls(beginner) - github tip: getting perma-links (beginner)
 - finding python source code and docs (beginner)
 - how I sped up python's tokenize module by 25% (intermediate)
 - python: why is -c faster than -m? (intermediate)
 - python: {...} is faster than dict(...) (intermediate)
 - showing actual file bytes with hexdump (beginner - intermediate)
 - python: how do any / all work? (beginner)
 - python: why str('foo') (python 2 / 3 compat) (beginner - intermediate)
 - bash: /bin/[ is an executable ? (intermediate)
 - the 
installcommand (beginner - intermediate) - 3 ways to fix an accidental git commit to main (beginner - intermediate)
 - don't use time.time() for performance measurement (beginner - intermediate)
 - how to search a repo using 
git grep(beginner) - the 2 modes of python's str.split (beginner)
 - python: what are *splat **args? (intermediate)
 - why doesn't flake8 mark this import as unused? (beginner - intermediate)
 - pathlib is slow? how I improved black's caching by 40x (intermediate)
 - how to make a virtualenv from cpython source (intermediate)
 - enable tab completion in pdb! (beginner)
 - sed command basics (beginner - intermediate)
 - what pythons should I support? (beginner - intermediate)
 - python: what is assert? (beginner)
 - python: shlex module (beginner - intermediate)
 - python: what is hashability? (intermediate)
 - python: why object() in this code? (intermediate)
 - intro to terraform (intermediate)
 - git rebase (and git rebase -i) (intermediate)
 - testing output with pytest (beginner - intermediate)
 - python: exception catching and isinstance gotcha (beginner - intermediate)
 - one-off 3rd party mypy types (intermediate)
 - PS1, coloring, and fixing weird wrapping (beginner - intermediate)
 - python match statement (PEP 634) (intermediate - advanced)
 - NotImplemented vs NotImplementedError (beginner - intermediate)
 - packaging python typed code (intermediate)
 - interview questions: anagrams (beginner - intermediate)
 - python: functools.partial (beginner - intermediate)
 - speed up git in big repos with this trick (beginner)
 - correct 
apt-getfor ubuntu / debian in docker (intermediate) - what is podman vs docker (beginner - intermediate)
 - a file even root can't delete! (chattr) (intermediate)
 - python: yield from (beginner - intermediate)
 - pytest: xfail vs xpass and all test statuses (beginner - intermediate)
 - python easter eggs: __peg_parser__ (beginner)
 - what is the XDG base directory specification? (intermediate)
 - move a virtualenv! (intermediate)
 - atomic file replacement (os.rename vs os.replace) (intermediate)
 - floats are broken? (+3 solutions in python!) (beginner - intermediate)
 - how I find standard python type signatures (beginner - intermediate)
 - python curses: mouse integration (intermediate)
 - the 
rlwrapcommand (beginner - intermediate) - can cpython be 76% faster by changing hash()? (no) (intermediate)
 - what is a .pth file? (intermediate)
 - nesting context managers with classes (intermediate)
 - a FREE stateful cron using aws (intermediate)
 - what are git submodules? (intermediate)
 - programmable nintendo switch controller (intermediate)
 - python typing: object vs Any (intermediate)
 - python typing: NotImplemented is a bool? (intermediate)
 - the 
findcommand (beginner - intermediate) - use the clipboard from the terminal (beginner)
 - pgrep / pkill commands (beginner - intermediate)
 - SUPER FAST cpython with mypyc (intermediate)
 - updating a forked repository (beginner - intermediate)
 - docker takes so much disk! (beginner - intermediate)
 - python: traceback basics + raise from (beginner - intermediate)
 - git: check in executable file (+ on windows) (beginner - intermediate)
 - line buffering vs. block buffering (intermediate)
 - the 
commcommand! (intermediate) - man pages for git subcommands (beginner - intermediate)
 - flake8: avoiding F401 in __init__.py (beginner - intermediate)
 - top 10 new things in python 3.10 (beginner - intermediate)
 - what is a deadletter queue? (intermediate)
 - atomically replace / delete directories (intermediate - advanced)
 - ☃.com and punycode / idna (beginner - intermediate)
 - how to get pip for deadsnakes / docker pythons (intermediate)
 - @staticmethod / @classmethod (beginner + advanced)
 - date.today() is twice as slow as datetime.now().date()??? (intermediate)
 - simple python dockerfile w/ flask (intermediate)
 - python typing: Generator[T, S, R] (intermediate)
 - python: explicit relative imports (intermediate)
 - debugging mypy types (beginner - intermediate)
 - what are python doctests? (beginner - intermediate)
 - terminal keyboard shortcut for unicode! (beginner)
 - bash: strings with 
!/ !... event not found (beginner - intermediate) - default zoom key shortcut (beginner)
 - smaller / faster builds with dockerignore (beginner - intermediate)
 - python: why reload() is a bad idea (beginner - intermediate)
 - what is the py launcher? (intermediate)
 - the 
uniqcommand (+ somesort) (beginner - intermediate) - gradual typing python (and my approach) (beginner - intermediate)
 - importing non-module python files (intermediate)
 - the 
cutcommand (beginner - intermediate) - bash: special redirection (intermediate)
 - python typing: TYPE_CHECKING (intermediate)
 elseis good, actually (beginner - intermediate)- Fussy Fox + flake8 vulnerability (intermediate)
 - setting up required github PR checks (beginner - intermediate)
 - python has an optimizer? (intermediate)
 - pytest: testing env variables (intermediate)
 - python easter eggs: this (beginner)
 - git: main vs. origin/main (beginner - intermediate)
 - python warnings (beginner - intermediate)
 - docker beside docker (intermediate - advanced)
 - what is manylinux? (intermediate - advanced)
 - pip install from git (beginner - intermediate)
 - python tempfile module (beginner - intermediate)
 - virtualenv: --system-site-packages (intermediate)
 - python: what is repr? (beginner - intermediate)
 - making an omni-executable (intermediate)
 - assign vs. shallow vs. deep copy (beginner - intermediate)
 - what is 
sourceand why? (beginner - intermediate) - mypy! this key exists I promise! (beginner - intermediate)
 - python: raise SystemExit (beginner - intermediate)
 - python easter eggs: barry_as_FLUFL (beginner - intermediate)
 - don't name things "..._new" (beginner)
 - what is "idempotent" in programming (beginner)
 - interview tips: what language should I use? (beginner)
 - porting code to python **ZERO** (intermediate - advanced)
 - interview tips: "your story" (beginner)
 - a python extension in go (advanced)
 - debugging a failed docker build (intermediate)
 - the most important skill I've learned for software engineering (beginner)
 - "graceful exit" SIGTERM doesn't run finally / destructors ? (intermediate)
 - --argument prefix matching (beginner - intermediate)
 - why does id(float(1)) == id(float(2)) ??? (intermediate)
 - python: what is 
__main__/__main__.py? (beginner - intermediate) - range(len(...)) is almost always wrong in python (beginner)
 - what is umask? (intermediate)
 - opinion: don't bother typing tests (intermediate)
 - multiprocessing: slow things first! (intermediate)
 - bash shortcut: curly expansion (intermediate)
 - make your own timeout with alarm(...) (intermediate)
 - pretty recursive diffs! (beginner - intermediate)
 - github wikis are repos! (beginner - intermediate)
 - python: easy comparable classes with functools.total_ordering (intermediate)
 - git without 
cd(intermediate) - why remove the python GIL? (intermediate - advanced)
 - python: unicode names and why they're bad (intermediate)
 - makefile basics (beginner - intermediate)
 - how to ace the coding interview (intermediate)
 - python try except and best practices (beginner - intermediate)
 - sorting basics in python (beginner)
 - multiplying str / list / tuple and pitfalls (beginner - intermediate)
 - making your own custom git commands (intermediate)
 - python --version --version is not a typo! (beginner)
 - python parameter defaults are (mutable) globals (intermediate)
 - python typing: explicit TypeAlias (PEP 613) (intermediate)
 - python: what is weakref? (intermediate - advanced)
 - pip: requirements vs. constraints (intermediate)
 - python: NewType vs aliases (intermediate)
 - quick debugging tool: python -i (beginner)
 - what is the log4shell vulnerability? (beginner - intermediate)
 - what are python wheels? (intermediate - advanced)
 - recursively import python modules (intermediate)
 - git commit as someone else? (intermediate)
 - what is PROMPT_COMMAND? (+aactivator) (intermediate)
 - python: what is 
__file__? (beginner - intermediate) - job management: fg / bg / ^Z, & and more! (intermediate)
 - for loops are just while loops in disguise (beginner - intermediate)
 - configuring git from environment vars (intermediate)
 - mypy: possible cyclic definition fix (intermediate)
 - git: what does "fast forward" mean? (intermediate)
 - pathlib is slow! falsey is tricky! (pytest bug) (intermediate - advanced)
 - don't lru_cache methods! (intermediate)
 - github: give people credit! (beginner - intermediate)
 - dropping old python versions (intermediate)
 - useful interview data structures: heapq (intermediate)
 - decorator typing (PEP 612) (intermediate - advanced)
 - python: what is 0-arg raise? (beginner)
 - time vs. /bin/time (beginner - intermediate)
 - what is an open redirect vulnerability? (intermediate)
 - how an exit(n) bug introduced 100s of lint errors (intermediate)
 - hiding big noisy git diffs (intermediate)
 - recovering from git mistakes w/ ORIG_HEAD (intermediate)
 - the 
timeoutcommand (beginner - intermediate) - python code formatter tutorial (intermediate - advanced)
 - why did I run 
cd $PWD??? (beginner - intermediate) - my python project setup (+ all tools) (intermediate)
 - python can import from zips! (intermediate)
 - from imports aren't faster! (beginner - intermediate)
 - what is a .so / .dll / shared object? (intermediate - advanced)
 - what is inlining? and how does it make code faster? (intermediate)
 - finding and fixing test pollution! (intermediate)
 - how to modify a list while iterating (intermediate)
 - fix flaky tests with detect-test-pollution! (intermediate)
 - a python curses wordle clone from scratch! (intermediate - advanced)
 - why does 
cd --go to ~ ? (intermediate) - the 
splitcommand! (beginner - intermediate) - don't run 
python my/script.py! (beginner - intermediate) - what's that unicode character‽ (beginner - intermediate)
 - what is the 
shredcommand? (beginner - intermediate) - getting a python stacktrace from gdb! (intermediate - advanced)
 - the fastest python startup with 
python -S(intermediate) - what is immutability? (beginner - intermediate)
 - what is rpath? (+relocatability) (intermediate - advanced)
 pip install pkg❮1.999? (intermediate)- 10 protips I wish I knew sooner as a software dev (beginner)
 - embedding images in github (beginner - intermediate)
 - how I sped up python by 20ms (intermediate)
 - typing Self (PEP 673) (intermediate)
 - you don't need .git! (beginner)
 - I don't need 
__init__.py? PEP 420 and namespace packages (intermediate) - repr(...) doesn't work the way you expect (intermediate - advanced)
 - DVD screensaver in python curses (intermediate)
 - double underscored names are NOT "more private" (beginner - intermediate)
 - FizzBuzz... but in sqlite? (intermediate)
 - "z3" is actual magic (intermediate)
 - bash quoting is really not that difficult! (beginner - intermediate)
 - I made pip startup 25% faster (intermediate)
 - how to use python backports + setup.py (intermediate)
 - setting up an ubuntu jammy (22.04) development machine (beginner)
 - python Generics (intermediate)
 - babi+ast helped me not break sentry! (intermediate)
 - python comprehensions leak scope again (intermediate)
 - python variadic generics (PEP 646) (intermediate - advanced)
 - top 10 new things in python 3.11 (beginner - advanced)
 - assert_never / assert_type **CORRECTION** (intermediate)
 - a git workflow for *only my branches* (intermediate)
 - regex lookahead / lookbehind (intermediate)
 - are your python tests even running? (intermediate)
 - python TypeGuard (PEP 647) (intermediate)
 - how I fixed a 9GB memory leak in cargo (rust) (intermediate)
 - dealing with merge conflicts (beginner - intermediate)
 - what is an --orphan git branch? (intermediate)
 - narrow python? len('🙃') == 2??? (intermediate)
 - what is gbp? (intermediate - advanced)
 - argparse: boolean option pitfall (beginner - intermediate)
 - cd is not an executable (beginner)
 - what is a universal2 wheel? (intermediate)
 - docker: fast CI rebuilds with --cache-from (intermediate)
 - debugging a real issue and googling (beginner - intermediate)
 - regex backreferences (intermediate)
 - why I banned python's assertRaises (intermediate)
 - safer github personal access tokens (intermediate)
 - bash strict mode gotcha (intermediate)
 - javascript sucks at unicode (intermediate)
 - pip freezing (==) isn't safe (intermediate)
 - python regex dynamic replacements (intermediate)
 - how I made my import sorter 7x faster (intermediate)
 - what release was this fixed? (workflow) (intermediate)
 - safely stealing github secrets with cryptography (intermediate)
 - how I sped up flake8 by 20% (intermediate)
 - github's semi-secret by-id apis (intermediate)
 - what is a natural sort? (beginner - intermediate)
 - relocatable macos binaries (advanced)
 - what is nullcontext? (conditional contexts, pytest) (intermediate)
 - why do I use azure pipelines instead of github actions? (intermediate)
 - how is list append possibly O(1)? (beginner - intermediate)
 - what is musllinux (PEP 656) (intermediate)
 - easy try rust as a python dev (intermediate)
 - why can't I signal a MagicMock() ? (intermediate)
 - why does python think -1**0 is -1 ? (intermediate)
 - how do from imports keep their globals? (intermediate)
 - python int DoS vulnerability (CVE 2020-10735) (beginner - intermediate)
 - docker multi-arch images (intermediate)
 - python: don't use urlparse! (beginner - intermediate)
 - why does python report macos 10.16 ??? (intermediate)
 - the docker registry api (advanced)
 - urllib3[secure]'s clever deprecation trick (intermediate)
 - functools.wraps for classes (intermediate)
 - avoiding shell injection in github actions (intermediate)
 - what is coverage? (intermediate)
 - don't make images of code / text! (beginner)
 - what is "short circuiting"? (beginner - intermediate)
 - what is the "unraisable" hook (intermediate)
 - how does swapping work in python? (beginner - intermediate)
 - hiding your email on github (beginner)
 - python warnings defaults suck (intermediate)
 - pytest: everything you need to know about fixtures (intermediate)
 - python os / platform-specific deps (PEP 508) (intermediate)
 - I don't use pytest-cov (intermediate)
 - RegCPython: a 10% faster python for free? (intermediate - advanced)
 - avoid notification spam with draft PRs! (beginner)
 - multiprocessing: fork() vs. spawn() (intermediate)
 - this clever hack let me kill py (intermediate)
 - do this first before opening an issue (beginner)
 - securing python with audit hooks (PEP 578) (intermediate)
 - python sucks at copy-on-write (and one fix!) (intermediate)
 - git is just a key value store? (advanced)
 - refcount ONE BILLION? (immortal objects, PEP 683) (advanced)
 - partial git commits (intermediate)
 - sqlite is my favorite database (beginner - intermediate)
 - virtualenv isn't reproducible! (by default) (intermediate)
 - --extra-index-url is unsafe! (intermediate)
 - docker: multi-stage builds (intermediate)
 - git: the several ways to "--sign" (intermediate)
 - why I use the colon (:) command (intermediate)
 - how should I organize my project? (beginner)
 - don't git clone over https! (beginner)
 - don't use cat! (intermediate)
 - module level __getattr__ (intermediate)
 - why are some things shell builtins? (intermediate)
 - python: zip and unzip (intermediate)
 - I've moved off of azure pipelines for CI (intermediate)
 - swapping without a third variable (intermediate)
 - when should I pin deps: never and always! (intermediate)
 - make a github commit using only the api! (intermediate)
 - a simpler 
try/except(and why maybe shouldn't) (beginner - intermediate) - you're probably doing case-insensitive wrong (intermediate)
 - getting started with pytest (beginner - intermediate)
 - python descriptors! (advanced)
 - don't use short options in scripts (beginner - intermediate)
 - how to escape this VERY MEAN prank (beginner)
 - how do virtualenvs actually work (advanced)
 - python's optimization mode is mostly useless (intermediate)
 - merge queues (intermediate)
 - all string syntaxes (beginner)
 - my first rust open source PR (beginner - intermediate)
 - tuples! (and their syntax quirks) (beginner)
 - how I use git blame (beginner - intermediate)
 - positional / named only without 
*or/? (intermediate) - why git's --intent-to-add ? (intermediate)
 - rerunning github checks (beginner - intermediate)
 - shell aliases and bypassing them? (beginner - intermediate)
 - how I made pre-commit's github actions 3x faster (intermediate)
 - don't use localhost (intermediate)
 - what is a "canary" deploy? (beginner - intermediate)
 - avoiding noisy git matches (beginner - intermediate)
 - docker pull by sha256 digest (advanced)
 - weird python identity quirk? (intermediate)
 - when 
git add .doesn't work (intermediate) - I made every sentry page 300ms faster (intermediate)
 - docker: don't mount files! (mount dirs instead) (intermediate)
 - you can't always trust argv[0] (intermediate)
 - shell: use this instead of 
cd(intermediate) - docker: secrets at build time! (intermediate)
 - every Dockerfile should have this line! (intermediate)
 - python's "soft" keywords (intermediate)
 - shell vs environment variables (and env, export, etc.) (intermediate)
 - python 3.12 release highlights (beginner - advanced)
 - how does .exe magic work? (PATHEXT) (intermediate)
 - python is removing the GIL! (PEP 703) (advanced)
 - tuple syntax doesn't have parens (beginner - intermediate)
 - what is 
Symbolin js (intermediate) - debugging a sentry test pollution! (intermediate)
 - stopping xargs early (intermediate)
 - docker: connecting to localhost outside the container (intermediate)
 - the system design interview (intermediate - advanced)
 - don't delete from pypi! (yank instead) (intermediate)
 - git: --first-parent (intermediate)
 - I don't use backslashes (with one exception) (beginner - intermediate)
 - what is a BOM (byte-order-marker) (intermediate)
 - NEW generic / alias syntax for python 3.12 (PEP 695) (intermediate)
 - new 3.12 f-strings syntax! (intermediate)
 - pesky reDOS and python 3.11 (intermediate)
 - prefer tuples to lists! (intermediate)
 - git: inline diffs with --word-diff! (intermediate)
 - ONE TERABYTE of RAM saved with a single line of code (advanced)
 - using memray to debug (and fix) a memory leak in krb5! (advanced)
 - py-spy saved our python 3.11 rollout (intermediate)
 - using git bisect to find a bug in nodejs (intermediate)
 - am I vulnerable to black's CVE? (2024-21503) (intermediate)
 - training a custom object detection model from scratch (yolov8) (intermediate)
 - adding test == others fail??? (intermediate)
 - typing decorators sucks! here's an easier way (intermediate)
 - typing the untype-able with mypy plugins (advanced)
 x: float = Falseis a valid annotation??? (intermediate)- PEP 696 is a huge quality-of-life improvement (intermediate)
 - how do I make an empty generator? (intermediate)
 - faster git recloning* (intermediate)
 - oops I'm the pyuwsgi maintainer now (intermediate)
 - debugging and fixing pyuwsgi in python 3.12 (advanced)
 - python 3.13 release highlights
 - stop using manual cloud creds! (oidc)
 - stop making giant changesets!
 - debugging flaky cascading failure after upgrading pytest!
 - how does python's module 
__getattr__actually work? - python warnings got way better in 3.12!
 - supercharging coverage with sys.monitoring (PEP 669)
 - debugging a broken cache!
 - why don't signals work in docker?
 - your tests should have 100% coverage
 - unconventional uses of dumb-init
 - I deleted all my go projects.
 - python is too slow...
 - how can an identical docker image produce different results?
 - python now has dict unpacking?
 - the python readline module is haunted
 - why did this suddenly OOM?
 - automatic python types!
 - python t-strings (PEP 750)
 - 3 way test pollution!
 - some weird django test database quirks
 - python 3.14 highlights!
 - python 3.14 gets tail call (it's not what you think)
 - coverage doesn't work on a mypy plugin?
 - what is LiteralString in python ?
 - what is "shift left" ?
 - why doesn't Self work here?
 - python: the assret incident
 - calling open breaks this module?
 - typeshed is (often) better than the python docs
 - employee stock compensation
 - I hate CLAs
 - how pre-commit.ci (and my video) will speed up black for everyone?