Articles
- 2024-11-28 The Home Server Journey - 2: The Control Room Deploying the first Kubernetes application: building a custom Docker image for ARM, creating Deployments with ConfigMaps, and exposing services via LoadBalancer.
- 2024-11-28 The Home Server Journey - 3: An Actually Global "Hello" Exposing services to the external network using Traefik Ingress on K3s, with path-based and subdomain-based routing rules for multiple web applications.
- 2024-11-28 The Home Server Journey - 4: Enter The Matrix Moving from demo containers to production-grade applications: NFS storage setup, distributed computing concepts, and persistent volumes in Kubernetes.
- 2024-11-28 The Home Server Journey - 5: Rebuilding Burned Bridges Expanding the cluster with a Raspberry Pi 5, setting up UPS for power reliability, and deploying PostgreSQL StatefulSets for stateful data management in Kubernetes.
- 2024-11-28 The Home Server Journey - 5b: A Bridge Too Far? Dealing with PostgreSQL stateful sets in Kubernetes: replication, high availability, and the reality that synced data across pods doesn't happen automatically.
- 2024-11-28 The Home Server Journey - 6: Your New Blogging Career Deploying a self-hosted WriteFreely blog with MariaDB Galera cluster on Kubernetes, taking the principles of data ownership to the articles themselves.
- 2024-10-03 The Home Server Journey - 1: Motivation and Approach The motivation behind building a personal homeserver cluster: reclaiming control of your digital life with ARM-based single board computers, Manjaro Linux, and K3s.
- 2017-08-24 Part XIII: Rough Edges of A Promising Piece
- 2017-08-15 Part XII: A New Breath
- 2017-07-31 Part X: Compiling Compilers
- 2017-07-31 Part XI: Test for Failures to not Fail The Test
- 2017-07-24 Part IX: Translators Needed
- 2017-07-16 Part VIII: Describe Distribution (or Vice Versa)
- 2017-07-09 Part VII: Organizing The [Intellectual] Mess
- 2017-06-26 Part VI: Discretely (sic) Dealing with Continuity
- 2017-06-21 Part V: An Expected (sic) Turn of Events
- 2017-06-16 Part IV: (Un)Filling The Box
- 2017-06-10 Part III: Computational Black Boxes
- 2017-05-28 Part II: One Interface to Rule Them All
- 2017-05-14 Part I: Modeling with numbers
- 2017-05-12 My participation on Google Summer of Code 2017
- 2016-08-29 Post GSoC 2016 - Part I: Handling Multiple Users (Almost...)
- 2016-08-18 Part XVI: Wrap Up: A Notebook of Experience
- 2016-08-16 Part XV: Learning to Read
- 2016-08-13 Part XIV: Getting [and Giving] information
- 2016-08-03 Part XIII: Learning History to Repeat It
- 2016-08-01 Part XII: Tools of The Trade
- 2016-07-24 Part XI: New Home, New Rules
- 2016-07-10 Part X: Better Call Scilab (but not in any way)
- 2016-06-26 Part IX: Please, have some Class...
- 2016-06-18 Part VIII: It's never too late to go back
- 2016-06-11 Part VII: May we see your credentials ?
- 2016-06-09 Part VI: 500 Letters
- 2016-05-29 Part V: Everything is about JSON
- 2016-05-28 Part IV: Jupyter ZeroMQ Sockets
- 2016-05-27 Part III: Work begins
- 2016-05-19 Part IIb: ZeroMQ: The C vs C++ debate
- 2016-05-18 Part IIa: Contributing to ZeroMQ
- 2016-05-11 Part II: ZeroMQ: The Swiss Knife of distributed computing
- 2016-04-25 Part I: Jupyter, Scilab, and why Matlab kinda sucks
- 2016-04-24 My participation on Google Summer of Code 2016