Using Python, coding, and tools, to increase your productivity

31 18,200 1,606
articles words lines of code

Today I learned how to inline SVGs in Jupyter notebooks in two simple steps.

Today I learned how to set the configurations of my Jupyter Book to build my book in the EPUB format.

Today I learned you can change the casing of matched groups when doing a search & replace in VS Code with regex.

Today I learned you can format your Python code directly with uv.

Today I learned you can embed images in your module docstrings and they'll be rendered in the tooltips inside your IDE.

This article shows the small script I use to automatically push code changes while live coding in talks or classes, improved with uv.

Today I learned you can use uv to install CLI tools with extra dependencies.

Today I learned how to use uv to escape uv and go back to using venv and pip for a given project.

Today I learned how to quickly switch back and forth between two different git branches.

Today I learned how to publish a Python package to PyPI with uv.

Today I learned that I can use the percent sign to run commands from inside Jupyter notebooks.

I used an LLM to write a countdown timer and I have mixed feelings about the result.

Today I learned how to use shell scripting to activate my virtual environment automatically when I change directories.

Today I learned about 5 useful pytest options that let me control what tests to run with respect to failing tests.

Today I learned how to call a makefile from within another makefile.

This article outlines how I use a pre-commit hook and cog to keep my blog stats updated automatically.

Today I learned how to create git aliases in my .gitconfig file.

Today I learned how to automatically push code changes while I'm doing live coding, for example while teaching.

Today I learned how to use named tuples to improve readability and flexibility of test parametrisations in pytest.

Today I learned how to automatically delete local git branches that have been merged already.