Persistent HDD APM settings

Persistent HDD APM settings thumbnail
An HDD can be configured to spin down after a certain time via the APM settings which can be managed by smartctl. Unfortunately, those settings do not persist after a reboot. This article presents a solution to the problem


This tutorial explains how to setup a Linux, Apache, MariaDB, PHP (LAMP), server.


Let's imagine the file server.js which, when executed by Node.js, serves web pages to connecting clients. A trivial way to execute server.js using NodeJS would be to run the following bash command in a terminal:

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


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.

Users and groups in Linux

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

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.

Managing disks in Linux

Hard disk drives (HDDs) and Solid state drives (SSDs) are currently the most widespread high capacity storage devices. When such a drive is connected to a computer running Linux, it can be found in the device directory <em>/dev/</em> under the name <em>sdX</em>, where <em>X</em> is a letter changing for each drive.

HDD preparation

Here are the steps to prepare a brand new hard drive and install a file system on it.


Mosquitto is an open source message broker that implements the MQTT protocol. It is lightweight and is suitable for use on all devices from low power single board computers to full servers.