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.
WIPDevOpsTutorials

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:
ESP32TutorialsHTTP

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>:
AI / MLTensorFlowKerasDocker

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.
TutorialsApacheLinux

Sign holders for COVID-19 prevention

Sign holders for COVID-19 prevention thumbnail
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.
3D printingProjectsCAD

Smart home control panel (SHCP)

Smart home control panel (SHCP) thumbnail
I've been using&nbsp;<a href="https://www.home-assistant.io/" rel="noopener noreferrer nofollow">Home Assistant</a>&nbsp;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.
MQTTNode.jsIoTWebSocketProjects +2

Smart outlet setup

Smart outlet setup thumbnail
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>
IoT

Solar power setup

Solar power setup thumbnail
I got my hands on a 600W 12V inverter so I decided to experiment with generating my own electricity.
Node.jsMQTTExpressProjectsESP32 +3

Solving Kong latency problems in Kubernetes

Solving Kong latency problems in Kubernetes thumbnail
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.
KubernetesKongTutorials

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.
CTutorialsProgramming