Articles
Barking alarm
Dogs are great at detering burglars from entering one's home. This system brings the same advantage, without the need for an actual dog.
Bash check if environment variable is set
When writing bash scripts, it is sometimes necessary to check if an environment bariable is set.
Bathroom occupancy monitor
One of the companies I used to work for had a serious bathroom issue: My floor had only three toilet stalls for about 200 employees. There were countless times when I would walk all the way to the bathroom only to find all stalls occupied. I built this simple system to quickly identify whether one or more stall were. It consists of an IoT sensor installed on the bathroom stalls' door and an indicator placed somewhere easily visible.
CSS basics
HTML defines the content of a web page but not its aesthetics. Styling a document is achieved using CSS, which stands for Cascading Style Sheet and is another language that web browsers can interpret.
Callbacks in Javascript
Here is a simple javascript function that is designed to print its argument in the console:
Camera viewer
IP cameras are cheaper than ever and with the ESP32-CAM boards it is now possible to stream video for less than USD 10. However, IP cameras are commonly either only accessible from within their network, or use servers from third party companies to allow users to see the video feed from anywhere in the world. As both scenarios are inconvenient, I decided to create a camera viewer application that can proxy the video feed to a web interface.
Cashless payment system
A company I worked for had a coffee machine for which employees could purchase coffee. However, the payment was done by putting coins in a jar. Not only did this present the obvious risk of theft, this system was also impractical for people not carrying spare change at all time. I decided to solve this issue by designing this cashless payment system.
Cert-manager Certificate Issuer
With cert-manager installed, SSL certificates can be automatically obtained for Ingresses deployed in a Kubernetes cluster. To achieve this, one must deploy the appropriate ClusterIssuers to the cluster. Here are example manifests to do so.
Combining two independent git repositories
This article presents how to combine two independent and unrelated git repositories.
Containerization of a Flask application
Flask can be seen as the equivalent of Express for Python. However, although an express application is basically production ready, a Flask app outputs the following when executed by itself: