JShrink is a Javascript minifier written in pure PHP. It allows web applications such as Magento and Matomo (as well as thousands of other projects) to shrink Javascript code on the fly. In 2014 JShrink reached stability, and shortly after that hit the milestone of 100k total downloads– today JShrink has over 21 million downloads,…
Author: Robert Hafner
Rob’s Awesome Python Template
Rob’s Awesome Python Template is a highly configurable CookieCutter template that’s packed full of best practices for Python Projects.
Simple Multiprocessing with QuasiQueue
QuasiQueue is a MultiProcessing library for Python that makes it super easy to have long running MultiProcess jobs. It handles process creation and cleanup, signal management, cross process communication, and all the other garbage that makes people hate dealing with multiprocessing.
Automatically Updating Python Requirements Files with Github Actions
The action-python-lockfile-update project is a Github Action, freely available for anyone to use, that uses pip-tools to rebuild your requirements.txt files on a schedule.
Introducing DapperData for Formatting YAML and JSON
Introducing DapperData, a CLI for formatting JSON and YAML that works well with Python code bases.
Telling OpenSSH to Pull Keys from Github with AuthorizedKeysCommand
Using the AuthorizedKeysCommand OpenSSH option to pull your SSH Keys directly from Github.
Multi-Py: Multiplatform Container Images for Python Packages
Multi-Py publishes container images for popular Python packages targeting AMD64, ARM64, and ARM v7, on Ubuntu and Alpine.
Using Github Actions OpenID Connect to push to AWS ECR without Credentials
Learn how to push images from Github to AWS ECR using the Github Actions OpenID Connector.
Why I’m looking for Sponsors on Github
After two decades of open source development I’m looking for people to sponsor my work.
Getting AWS ECS to work on Ubuntu with Full GPU Support
I’m a big fan of Amazon ECS- it’s a remarkably simple containerization service that integrates with the rest of AWS’s services relatively easily. While I’d generally prefer to run with Fargate there are times when I need to have a bit more control over the underlying machines- especially when it comes to tasks using GPUs….