Introducing django-remake-migrations3 March 2025 • 4 min readSquashing Django migrations in a medium to large Django project can be tedious and error-prone. Introducing a pluggable Django app to make it quick and easy.
Project-level shareable live templates in PyCharm (or other IntelliJ IDEs)21 February 2025 • 3 min readEasily share small snippets of boilerplate code with your team when working on a large project.
Migrating from Chakra UI to Tailwind CSS24 January 2025 • 4 min readHow I migrated this blog from Chakra UI to tailwind CSS in a matter of hours using Cursor
Testing your Python logging like a boss13 December 2024 • 3 min readHow to properly test that your Python code logs what you expect.
Manage deprecations with Python warnings in a Django project22 November 2024 • 5 min readA post with a few tips on how to leverage the Python warnings module in a Django project
Keep uv.lock file up-to-date with Dependabot updates2 October 2024 • 2 min readA short post on how I augmented the lack of uv supported in Dependabot using GitHub actions.
Attest build provenance for a Python package in GitHub actions8 August 2024 • 4 min readUsing GitHub action to attest build provenance of a Python package published on PyPI
Bulk updating multiple repos with all-repos10 July 2023 • 7 min readA walkthrough of my setup that allows me to maintain many GitHub repos at once
Nested ViewSets with Django REST Framework5 May 2023 • 6 min readHow to place a ViewSet under a parent resource with Django REST Framework
Migrate my site design system to Chakra UI with ChatGPT27 April 2023 • 7 min readHow I used Chat GPT to take on this endeavour and how it went
Enabling sudo via TouchID using Ansible25 November 2022 • 2 min readA small post explaining how to integrate sudo with Touch ID on Mac.
Specify docs dependency groups with Poetry and Read the Docs21 November 2022 • 3 min readGuide on how to setup your package on Read the Docs with Poetry's dependency groups.
Convert a Poetry package to the src layout19 January 2022 • 3 min readQuick run down on the steps required to convert a Python package using Poetry to the src layout.
Convert Python requirements to Poetry format7 January 2021 • 2 min readAutomate your migration to Poetry with dephell.
Auto-update pre-commit hooks with GitHub Actions12 July 2020 • 3 min readA short post to explain how to get pre-hooks to automatically update their version in the config file.
Mastering flexbox with Flexbox Zombies3 May 2020 • 2 min readA short post to share my recent learning experience.
Self-host your Typography.js fonts with Gasby5 January 2020 • 3 min readHow to self-host the fonts used by your Typography.js theme with GatsbyJS.
Setting up a Content Security Policy with Gatsby14 November 2019 • 5 min readMy quick story on how I added a content security policy (CSP) on my blog, powered by GatsbyJS.
Making Celery work nicely with Django transactions25 June 2019 • 5 min readA short post about things I've learned when working with Celery in a Django project and a tip to avoid a common pitfall with DB transactions.
Static vs. Media files in Django18 June 2019 • 6 min readThe difference between static and media files in Django, which are often confused by beginners.
Add cache-control header to an entire S3 Bucket using Boto31 May 2019 • 2 min readHow to change cache-control header for multiple objects in a AWS S3 bucket using boto3.
How I made 1000's of websites more secure with one line of code24 April 2019 • 3 min readThis is the story of learning about a new security header, added it to Gatsby, and made tons of sites more secure