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>

HDD preparation

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

Using v-for or v-if on multiple elements

Items to which <code>v-if</code> or <code>v-for</code> apply can be grouped inside <code>&lt;template&gt;</code> tags. For example:

ESP32-CAM firmware

The ESP32 supports ov2640 cameras, which makes it an ideal platform for a DIY IP camera. For this purpose, I wrote a customized firmware for the ESP32 which provides the following features:


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.

connect-history-api-fallback ignore certain routes

For example, if the route /file needs to be handled by express and not the single page application:

Raspberry Pi based NAS

Raspberry Pi based NAS thumbnail
This is a simple Raspberry Pi based NAS. Tt features, as the name suggests, a Raspberry Pi as well as a 1TB 3.5'' HDD, interfaced with a USB to SATA converter.
Projects3D printing

Arduino 7-segment alarm clock

Arduino 7-segment alarm clock thumbnail
This is one of my earliest electronics project: An alarm clock built around an Arduino nano, a real-time clock (RTC) module and a 7-segment display.

4WD robot

4WD robot thumbnail
I found a cheap 4 wheel drive chassis on eBay and decided to make a remote controlled robot out of it. Thus, I made a simple board with two H-bridge modules, an NRF24L01 wireless module and Arduino pro mini.

PET bottle collecting robot

PET bottle collecting robot thumbnail
While at university, two friends and I registered as a team for the <a href="" 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.