Articles
K8s NGINX Deployment for Ingress test
An NGINX container can be quite useful to test whether one's Kubernetes setup is working. Here is one example manifest file that deploys such container with an appropriate service and ingress.
IoT pan-tilt platform
With the COVID-19 pandemic, many of us cannot participate in family gatherings or other similar events in person. Instead, some opt for video-call applications like zoom, but then get constrained to the field of view of camera of the device used for the call.
Encrypting Mosquitto using Certbot
This article presents how to encrypt a Mosquitto MQTT broker using SSL certificates obtained with Let's Encrypt
Energy transformation demonstration
Earlier this year, a friend of mine was organizing an event to promote eco-friendly behaviors. She wanted someone to talk about our relationship with energy and asked me to give a presentation on the topic, which I agreed to. I wanted the presentation to be entertaining so I designed a set of hardware demonstrations aimed at explaining physical concepts related to energy.
Getting Python's requests library to use a local DNS (Core-DNS, Docker-compose, etc.) while behind a proxy
When using Python's requests library, the requests are send through the proxy set as environment variables. Consequently, if the DNS to be used comes before said proxy, the host might not be resolved. This typically happens when resolving a host in Kubernetes using Core-DNS. If the request first leaves the Kubernetes cluster to reach the proxy, then the DNS server becomes unreachable, making the request fail.
RFID wristband
RFID tags are great but often easy to lose. To solve this problem, I designed this case for an RFID tag, which can be worn on one's wrist using a standard watch strap. The case was designed using Fusion360 and then 3D printed.
Deploy a Neo4J instance in Kubernetes
Using this manifest, a Neo4J instance can be deployed in a Kubernetes cluster
Loading an Neo4J 3.X database in a Neo4J 4.X instance
Importing data from a Neo4J v3 database into a v4 one can be a hassle. Here are the steps to achieve the migration.
3D printed bracket for fume extractor
I got myself a fume extractor but it takes a rather large amount of real-estate on my desk. I decided to mount it on an arm so that I could easily move it out of the way so I designed and 3D printed an attachment bracket for it.
RESTful API design
There are four main kind of operations when working with a database: Create, Read, Update and Delete (CRUD). However, databases are usually not exposed directly to the clients. Instead, those operations are performed by a server side application with a client-facing API. The most common type of APIs nowadays are based on HTTP. An HTTP API can be built with complete freedom. However, guidelines for best-practice HTTP API design have been created. An API following those guidlines is called a REST (or RESTful) API.