Articles

Auto CRUD

Auto CRUD thumbnail
Most web applications that manage data in a database perform at least some form of create, read, update or delete (CRUD) operations on stored records. Moreover, web applications also often expose those operations via a REST API. Most database tables - corresponding to the entities manged by the application - need their own CRUD controller and set of HTTP endpoints. Because of this, large applications can quickly become tedious to develop and maintain. However, the logic for each table is usually quite similar. Auto CRUD has been developed to reduce this workload.
ExpressProjectsNPMPrismaDatabase

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
TutorialsSystemdLinux

A router out of a desktop PC with pfSense

A router out of a desktop PC with pfSense thumbnail
My router needed to be replaced. However, instead of buying an off-the-shelf router, I decided to give pfSense a go and install it on a second-hand desktop computer.
pfSenseProjects

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

GitLab Microk8s >1.24 certificate based integration

GitLab Microk8s >1.24 certificate based integration thumbnail
With newer versions of Microk8s, its GitLab integration changes slightly. Here are the key differences
KubernetesMicrok8sTutorialsGitLab

IoT fingerprint reader

IoT fingerprint reader thumbnail
I recently replaced the RFID ring reader that I use to unlock my front door with an IoT fingerprint reader. An obvious advantage is that I risk losing my finger way less than a ring.
IoTESP32Projects

Managing router query parameters in Vue.js

Managing router query parameters in Vue.js thumbnail
URL query parameters are a convenient way to store the state of a view so that the user can return to it using the back button after navigating away. This short article introduces a method to add parameters to the current URL.
Vue.jsTutorials

Anshin

Anshin thumbnail
I live by myself far away from my relatives, which can can make them worried if they don't hear about me for too long. To reassure them, I made a simple web application which displays my recent activity alongside a list of emergency contacts.
Tailwind CSSAstroNode-REDProjects

Habit tracker

Habit tracker thumbnail
Maintaining good habits can sometimes be hard. Recently, I've been looking at the way contributions are displayed on GitHub: a grid with a cell for each day, turning green if contributions have been made on that date. I realized that it motivated me to write code everyday, just to keep that grid as green as possible. So, I decided to create an app that provides a similar kind of motivation but for habits other than coding daily.
ProjectsFirebaseTypeScriptSvelte

MQTThree

MQTThree thumbnail
A simple framework using Three.js and MQTT to easily create digital twins
FeaturedThree.jsProjectsIoTMQTT +2