Articles

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

A GUI for ChartMuseum

A GUI for ChartMuseum thumbnail
ChartMuseum is an open-source Helm chart repository server which can be used as a self-hosted alternative to Artifact Hub. Although it originally consists of only a server-side application to be interacted with via a REST API, its official UI, ChartMuseumUI, can be deployed to interact with ChartMuseum graphically. Unfortunately, ChartMuseumUI seems to be broken and the GitHub repository has been inactive for years now. Thus, I decided to make my own GUI for ChartMuseum.
ProjectsHelmSvelte

Kubernetes and Docker equivalence

Kubernetes and Docker equivalence thumbnail
Kubernetes is a container orchestration system. As such, it features functions that are similar to that of Docker. If a container can be run with the Docker CLI, it can also be run equivalently using Kubernetes. This articles highlights such equivalence by presenting how to deploy a PostgreSQL instance using both technologies.
KubernetesTutorials

Dissecting a Kubernetes manifest

Dissecting a Kubernetes manifest thumbnail
Kubernetes manifests can seem quite daunting at first, but it is important to understand that their apparent complexity is simply a result of the large number of customization options. In the end, manifests are used to deploy resources that interact with each other, which, among others, lead to the correct operations of containerized applications. Consequently, resources specified in a manifest must be configured accordingly. This article aims at explaining how manifests are structured to do so.
TutorialsKubernetesFeatured

Vue3 Options vs Composition API

This article presents code snippets illustrating how to transition from the Options API to the Composition API in Vue 3.
TutorialsVue.js

Rebuilding the Odroid XU4 server

Rebuilding the Odroid XU4 server thumbnail
In a previous article I showcased a simple home server built around an Odroid XU4, which I dismantled soon after migrating to a full-size desktop computer. However, having the Odroid laying around unused was a bit of a waste and I recently started needing a secondary file server to store data backups. So I decided to build a new server with the single board computer
Projects3D printingCAD

Updating Ingresses to networking.k8s.io/v1

Updating Ingresses to networking.k8s.io/v1 thumbnail
Using Ingress with the extensions/v1beta1 API has been deprecated in Kubernetes 1.14 and will be removed in 1.22. This article presents how to update an existing manifest to the new API, networking.k8s.io/v1.
KubernetesTutorials

TypeScript setup

TypeScript setup thumbnail
A guide to setup a TypeScript project from scratch
JavascriptTypeScriptTutorials

Rebuilding the GUI of this CMS with Nuxt 3

Rebuilding the GUI of this CMS with Nuxt 3 thumbnail
The GUI of this CMS has gone through multiple versions and revisions. It started as a Vue.js SPA but was then turned into a Nuxt SSR application to improve SEO. Recently, Nuxt version 3 was released so it was again time for a refresh.
Nuxt.jsVue.js