July 2020
I am aggregating here some more or less interesting stuff of various IT related materials which I came across this month. Some of them are strictly related to the things I did or am currently doing.
Some thoughts
This month I made a few improvements in the release process of Apache Beam Python SDK and its CI/CD. I connected building source distribution and wheels on GitHub Action with existing release scripts to work in cooperation now. This allowed for the separate repository used for package preparation to be deprecated. I spent a lot of time working with GitHub Action, therefore I released my own action called github-forks-sync-action. It can be used to synchronise forked repositories with upstream. I also made a contribution to apache/airflow related to REST API by implementing DagSource endpoint.
Articles
Beyond the Cache with Python and Redis
A look at using Redis for caching, sub/pub events, data streaming, as a search engine, and even a primary database.
Git Interview Questions
The essential list of frequently asked questions around Git and Version Control, including answers.
Why you shouldn't use ENV variables for secret data
The twelve-factor app manifesto recommends that you pass application configs as ENV variables. However, if your application requires a password, SSH private key, TLS Certificate, or any other kind of sensitive data, you shouldn't pass it alongside your configs.
PyDev of the Week: Philip James
Philip James (@phildini) has spoken at various PyCons and DjangoCons and is the PyDev of the Week!
Python
Pickle’s nine flaws
Python’s pickle module is a very convenient way to serialize and de-serialize objects. It needs no schema, and can handle arbitrary Python objects. But it has problems. This post briefly explains the problems.
Django
Invalid HTTP_HOST header errors in Django and Nginx
An overview and fix for the common issue of Invalid HTTP_HOST header errors when running behind Nginx.
Running in Production: A Site to View 3D Scans of Cars with Twinner
Jesse Hunt talks about building a site with Django that lets you view 3D scans of cars with Twinner. It’s hosted on 2 Heroku hobby Dynos and has been up and running in production since January 2020.
Pure serverless Django with django-gcloud-connectors
Katie McLaughlin on configuring Django with the non-relational Google Datastore.
Django Log In with Email not Username
Update the default username/email/password pattern on login/signup with just email/password using a custom user model and django-allauth.
Python libraries
tuna
Performance analysis for Python.
Tools
Awesome Actions
A curated list of awesome things related to GitHub Actions.
GitHub Actions Advent Calendar
During the December 2019 Edward Thomson published an advent calendar of top tips for GitHub Actions.
Other stuff
Help message for shell scripts
Yeah, there is always a way to show a message using cat (meow) or a bunch of echo calls. But there is a neat trick.
50 ideas that changed my life
These are my guiding principles and the light of intellectual life of the author. All of them will help you think better, and I hope they inspire curiosity.
git commit accepts several message flags (-m) to allow multiline commits
When you use git on the command line you might have used the message flag (-m). It allows developers to define commit messages inline when calling git commit.
gRPC → Episode 75 - Heroku Podcast codeish
We’ll explore the capabilities of gRPC, a modern way for clients and servers to reliably communicate.