Articles
Self-hosted GitLab instance for DevOps on Ubuntu 18.04
GitLab provides a great number of tools needed for the DevOps cycle of an application. In this guide, we'll install a GitLab instance on our own server and configure it to fit our DevOps needs. Here, we will use a fresh install of Ubuntu 18.04 as a base.
Sending pictures via http with an ESP32-CAM
Pictures taken with the ESP32-CAM can be sent in a multipart/form-data type content via HTTP. Here is a sample code to achieve this:
Serving a Keras model using Tensorflow serving and Docker
A Keras model can be created in various ways, for example using the <a href="https://keras.io/getting-started/sequential-model-guide/" rel="noopener noreferrer nofollow">sequential model</a>:
Serving web applications with Apache
Let's imagine we have a server with Apache2 listening on port 80. Since port 80 is used, other web apps, developed for example with Node.js, must use another port. Consequently, one would need to open a new port on one's router every time a new app is developed.
Sign holders for COVID-19 prevention
Compared to other countries, Japan did not enforce a strict lockdown on its population during the COVID-19 pandemic. As a result, most bars and restaurants continued their operations as usual. However, in order to prevent the spread of the virus as much as possible, the staff of my local pub printed out signs asking customers to not leave their table without wearing a mask.
Smart home control panel (SHCP)
I've been using <a href="https://www.home-assistant.io/" rel="noopener noreferrer nofollow">Home Assistant</a> to control my home IoT devices for a while. Although it fulfills all my needs, I wanted to make my own system so as to get a fully customized smart home control panel and learn how to build such an application in the process.
Smart outlet setup
When used for the first time, the device will have no knowledge of what WiFi to connect to. Consequently, the smart outlet will generate its own, prefixed with the name <em>socket.</em>
Solar power setup
I got my hands on a 600W 12V inverter so I decided to experiment with generating my own electricity.
Solving Kong latency problems in Kubernetes
Kong is a popular API gateway that can be used as a reverse proxy for clients to access back-end services. It can be run as a Docker container and, as such, can be deployed to Kubernetes. However, when doing so, requests might be severely impacted by unusually high latency. This can be solved by configuring the order in which Kong resolves DNS records.
Some C concepts
C is widely considered to be a difficult programming language. Here are various code snippets to help make some sense of it.