All posts
Convert Python requirements to Poetry format
January 07, 2021 • 2 min readI recently wrote about migrating a Python project to Poetry, however, this guide is quite manual process. I recently came across dephell…
Migrating a project to Poetry
October 18, 2020 • 8 min readPoetry is a tool solving the problem of Python packaging. It was started back in February 2018 by Sébastien Eustace (also the author of…
Auto-update pre-commit hooks with GitHub Actions
July 12, 2020 • 3 min readPre-commit hooks are great to reduce the feedback loop for things like linting and auto-formatting. Git supports them out of the box, but…
Mastering flexbox with Flexbox Zombies
May 03, 2020 • 1 min readFlexbox is not exactly new, and I’ve played with it a few times, but as a developers who spends most of my time in the back-end building API…
Self-host your Typography.js fonts with Gasby
January 05, 2020 • 3 min readProblem I recently added a CSP to this blog, and one of the tricky parts when implementing this was that the fonts were coming from from…
Setting up a Content Security Policy with Gatsby
November 14, 2019 • 5 min readThis is a quick story telling how I set up a content security policy on my personal blog which is powered by Gatsby. I’ve been keen to try…
Making Celery work nicely with Django transactions
June 25, 2019 • 4 min readI’ve been using Celery in my Django projects for about 5 years now. Along the way, I made some mistakes, learned from them and picked up a…
Static vs. Media files in Django
June 18, 2019 • 5 min readDjango is a great Web framework for building Web applications in Python. It comes with a lot of batteries included that you’ll most likely…
Add cache-control header to an entire S3 Bucket using Boto3
May 01, 2019 • 1 min readI recently came across a task which seem pretty generic, but for which I couldn’t find an existing solution online: update the Cache-Control…
How I made 1000's of websites more secure with one line of code
April 24, 2019 • 3 min readOr at least a lot of them… Learning about a new security header Last week, I attended the London Django meetup. Among a very interesting…
New year, new laptop
January 14, 2018 • 2 min readA couple of days ago, I accidentally dropped my old laptop on the floor. It was an old Macbook Pro from mid 2010, which I’ve upgraded a…
Hello World!
November 29, 2017 • 1 min readSetting up my blog using the Jekyll static site generator and Github pages. This is using the remote theme feature and is I’m trying to get…