A simple Dockerfile for installing Headless Chrome on Ubuntu 20.04, with notes about mirrors, timezone prompts, and font support.
Change a YApi User Role Manually
Promote a YApi user to admin by updating the role field directly in MongoDB.
Understanding Django's "The request's session was deleted before the request completed"
This Django session error often points to session storage write failures, especially when using cached_db and writing the session on every request.
Use GitHub Actions to Submit a Sitemap for a Hexo Blog
Configure a Hexo blog so GitHub Actions automatically pings Google with the latest sitemap whenever you push to the master branch.
Checking SSL certificate expiry dates with Python
A simple way to fetch an SSL certificate in Python, read its expiration time, and convert it to a local timezone.
Run a Script After OpenVPN Connects
Use OpenVPN up and route-up hooks to run a custom script and adjust routes after a VPN connection is established.
Disable the "Edit this page" Link in Docusaurus
Disable Docusaurus V2's "Edit this page" link globally or only for selected pages.
Fix Django 3.2 App Import Errors for Apps in a Subdirectory
Django 3.2 changed AppConfig discovery, which can break projects that keep apps under a shared apps package unless AppConfig.name is updated.
Make Python Trust a Self-Signed SSL Certificate
How to make curl, urllib, and requests trust a self-signed certificate without changing application code to disable verification.
Bulk Disable Confluence Users with Selenium
A small Selenium script for disabling a batch of Confluence users and removing their group memberships to free up licenses.