Articles

Vocabulary practice web app

Vocabulary practice web app thumbnail
When learning a new language, there is no way around having to learn its vocabulary. This simple web app was made to help with this process by providing a multiple choice question style UI. It was designed mainly for Japanese, which uses Chinese characters that can have multiple readings.
MySQLPHPProjects

Barking alarm

Barking alarm thumbnail
Dogs are great at detering burglars from entering one's home. This system brings the same advantage, without the need for an actual dog.
ElectronicsProjectsArduino

Samba

Samba is a piece of software used to share directories over a network. Directories shared using samba appear as network folders on the file manager of computers that are on the same network.
LinuxTutorials

Hazard prediction training web app

Hazard prediction training web app thumbnail
One of the companies I worked for put a lot of importance on safety. As a way to improve the employees' awareness of danger, there would be regular meetings during which participants would need to identify dangerous points in a picture. The results were written down and archived on paper, which I believed could be improved. So, I created this web application.
MySQLPHPProjects

DHT and PIR sensor module

DHT and PIR sensor module thumbnail
This project consists of an HC-SR501 PIR motion sensor and a DHT22 temperature and humidity sensor connected to a Wemos D1 mini, an ESP8266 breakout board.
ESP8266ElectronicsProjectsIoT

BLE presence detection

BLE presence detection thumbnail
I wanted my home automation system to detect when I arrive home so as to unlock my door automatically or let me know if I leave the apartment without turning the A/C off. I figured my smartphone could be used to achieve this since it is equipped with a vast array of sensors and connectivity options. For example, I could use an app like OwnTracks which would send an MQTT message once I enter a certain perimeter around my apartment. However, constantly monitoring one's GPS location is wasteful in terms of battery life. Another option would be to ping my phone's IP address to check if it is connected to the WiFi, but smartphones can sometimes take a while to connect. So, I decided to use BLE advertising, which does not use too much battery while still remaining constantly active.
ESP32ProjectsIoTBluetooth

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

Light controller with PIR sensor

Light controller with PIR sensor thumbnail
This is an IoT ceiling light controller which includes an HC-SR501 PIR motion sensor. It is built around a Wemos D1 mini (ESP8266 breakout board), which controls a homemade TRIAC breakout board. TRIACs provide the advantage of switching devices on and off silently, as opposed to a mechanical relay.
IoTESP8266ProjectsElectronicsMQTT

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

Users and groups in Linux

In linux, or at least Ubuntu, a user can be added using:
BashTutorialsLinux