Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

adamj.eu

Adam Johnson

Get the latest updates from Adam Johnson directly as they happen.

Follow now 20 followers

Latest posts

Last updated about 17 hours ago

Docker: disable “What’s next” adverts

1 day ago

On a client project today, I noticed that running docker exec -it...

pre-commit: install with uv

2 days ago

pre-commit is my favourite Git-integrated “run things on commit” tool It acts...

Git: fix a filename case collision

4 days ago

You may encounter this warning when cloning a Git repository $ git...

Docker: remove obsolete version keys from Compose files

4 days ago

If you use Docker Compose, you may see this message $ docker...

Django: model field choices that can change without a database migration

6 days ago

Adam Hill posted a question on Mastodon: he wants a model field...

Python type hints: mixin classes

8 days ago

In Python, a mixin class is a class that is not intended...

GitHub: render GitHub-Flavored Markdown with the API

23 days ago

GitHub-Flavored Markdown (GFM) is GitHub’s variant of Markdown, with extra features like...

Django: what’s new in 5.2

about 1 month ago

Django 5.2 was released last Wednesday, another exciting step forward for our...

Zsh: clear the “You have mail“ message

3 months ago

Do you see this message when you open a new terminal session...

Boost Your Git DX now has a free sample

3 months ago

Last week, I released the second update to my book Boost Your...

Boost Your Git DX second update out now

3 months ago

Today I have released the second update to Boost Your Git DX...

Shell: benchmark the difference between two Git branches with hyperfine

4 months ago

hyperfine is a neat tool for benchmarking commands If you provide it...