Articles

PET bottle collecting robot

PET bottle collecting robot thumbnail
While at university, two friends and I registered as a team for the <a href="https://robot-competition.epfl.ch/" rel="noopener noreferrer nofollow">EPFL robots competition</a>. The objective of the competition is to build a robot that would collect PET bottles inside an arena and bring them back to a collection area. We figured the robot would need to be designed with a storage space as well as some form of path finding algorithm if we wanted it to be able to carry bottles to the collection area so decided to simply skip the step. Instead, we designed the robot as a bottle cannon that would shoot the bottles in the collection area.
ProjectsArduinoElectronicsRobotics

OpenProject in Kubernetes

OpenProject is an awesome project management application that can be installed on one's own server. This makes it ideal for users who want to keep control over their data. However, at the time of writing this article, OpenProject does not yet provide installation methods for Kubernetes so I decided to write my own manifest files.
OpenprojectKubernetes

Odroid XU4 server

Odroid XU4 server thumbnail
Having one's own server provides the ability to run web services 24/7. However, having a computer running all the time can significantly increase one's electricity bill. The objective of this project was to build a low power home server capable of running common software (Apache, Node.js, etc.) while only consuming little power.
3D printingProjectsLinux

NodeJS modules

A JavaScript file can be imported as a module into another file using the <code>require</code> command. For example, he file myPackage.js can be imported as so:
TutorialsNode.js

NodeJS app dockerization

NodeJS apps can be containerized using the <code>docker build</code> command. This article is based on <a href="https://nodejs.org/de/docs/guides/nodejs-docker-webapp/" rel="noopener noreferrer nofollow">this guide</a>.
Node.jsDockerTutorialsDevOps

Node.js testing for multiple environment variables

Node.js testing for multiple environment variables thumbnail
Some applications might require the same codebase to be tested with different sets of environment variables. This article proposes a simple way to do so.
Node.jsDevOpsTutorials

Node.js DevOps example

Node.js DevOps example thumbnail
In this article, we’ll build a simple Node.js application that uses Express to respond to HTTP requests. In order to deploy this application to production, we’ll also configure a GitLab CI/CD pipeline so as to dockerize it and deploy its container to a Kubernetes cluster.
DevOpsKubernetesTutorialsDockerNode.js

Nextcloud Apache2 configuration

Here is an example configuration file to use Nextcloud with an Apache2 server in Ubuntu. Here, it is assumed that nextcloud install is located in <code>/var/www/</code>
TutorialsApacheNextcloud

Network basics

When data needs to be exchanged between several computers, those need to be connected to each other, i.e. forming a network.
Tutorials

Multi-user MQTT platform

Multi-user MQTT platform thumbnail
Mosquitto is usually the first candidate to come to mind when looking for an MQTT broker. However, by default, Mosquitto manages users using a password file. This makes it difficult to easily add or remove users, especially when the broker is deployed in Kubernetes.
ProjectsKubernetesMQTTWIPSecurity +1