Month summary - July 2020

Posted by Tobiasz Kedzierski on 31.07.2020

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.

Videos

Tutorial: Katie McLaughlin - Deploying Django on Serverless Infrastructure - PyCon 2020

Workshop: Google: Charles Engelke - Serverless Python Applications with Google Cloud - PyCon 2020