Python: logical operations with None and Booleans
Coming back to the blog after long break. Today, almost by accident I found how logical operators work with None in Python. The result is surprising, because it is not […]
Coming back to the blog after long break. Today, almost by accident I found how logical operators work with None in Python. The result is surprising, because it is not […]
I have a very nicely built 12 year old Dell tower, that I inherited from some startup, which I use as a home server running Ubuntu. I also have a […]
Python has two ways to convert an object to a string: str(x) and repr(x). str is supposed to be user-readable, and repr is more technical, e.g. for debugging purposes. To […]
In bash it is possible to test whether one file is older or newer than the other: if [ file1 -nt file2 ]; then # do something fi if [ […]
My “permanent” SSL certificates are expiring soon, so I decided to switch to letsecnrypt. The easiest way to obtain their certificate is allegedly to use Certbot. There is a nice […]
When a host directory is mounted into a docker container, how are file permissions handled? Docker copies files permissions from the host to the container verbatim, inluding numeric user ids. […]
I have a MacBook Pro now, courtesy of my new employer, but it only has four USB-C ports and nothing else, so none of my existing hardware could connect to […]
I have moved my blog to DigitalOcean platform: they provide a decent virtual server for $5/month, with static IP address to boot. It’s all highly scientific now: I have moved […]
I am moving my web site to docker, and I need to be able to send emails using a GMail account. GMail is limited to 500 emails a day, but […]
A docker containing not running anything particular in the foreground will exit immediately after start. Specifying /bin/sh as the startup command does not help. Some Internet sources suggest tail -f […]