Archives
All the articles I've archived.
Flux on Talos Linux: GitOps for a Homelab
How my homelab deploys about twenty apps from git with Flux on a two-node Talos cluster, and why Docker Compose hosts, k3s and Argo CD were set aside.
How I Run My Homelab in 2026: Proxmox, Kubernetes on Talos and Tailscale
Updated:My homelab today: one Proxmox host in a 16U rack, two Talos Linux VMs as a Kubernetes cluster, network tiers like a cloud VPC, and Tailscale as the only door.
My Homelab Is Written by Coding Agents
Updated:How coding agents write my homelab: the AGENTS.md files and skills they follow, the guardrails, the incidents that became rules, and the risk I accept.
Proxmox and Synology UPS Shutdown With NUT: Don't Trust the Low-Battery Flag
Updated:How a Proxmox host and a Synology NAS shut down in time on a PowerWalker UPS with NUT, why its 0% low-battery threshold can't be trusted, and the fix.
I Got Tired of aws sso login. So I Built a Terminal Dashboard That Never Lets My Credentials Die
awssesh, a terminal dashboard for AWS SSO profiles: live status and expiry for each, auto-refresh of pinned profiles, and credentials exported to your shell.
Why I Stopped Paying for Time-Tracking SaaS and Built Presto Instead
Presto, a self-hosted time tracker for freelancers: click worked days on a calendar, export monthly activity reports as PDF, and run it as one Docker image.
Quick Guide: Automating Tailscale Certificate Configuration on Synology DSM
A bash script, run as root over SSH, that issues a Tailscale certificate with tailscale cert and installs it as Synology DSM's default certificate.
Mastering Static Website Hosting on AWS with Terraform: A Step-by-Step Tutorial
Host a static website on AWS with Terraform: a private S3 bucket behind CloudFront with OAC, an ACM certificate, Route 53 DNS and a www redirect function.
Building a Todo App with TypeScript Using Clean Architecture: A Detailed Look at the Directory Structure
The directory layout of a TypeScript todo app in Clean (Hexagonal) Architecture: entities, use cases and repository interfaces in the core, TypeORM outside it.
Configuring a custom domain for AWS Lambda Function URLs
Put an AWS Lambda Function URL behind a custom domain with the Serverless Framework, using CloudFront, an ACM certificate and Route 53 instead of API Gateway.
A PHP Slugify Function with UTF-8 Support for Latin, Arabic, Chinese and More
A short PHP function that turns any UTF-8 string, in Latin, Arabic, Chinese or other scripts, into a URL slug, with an optional length limit.
Facebook Graph API Workaround: Get a Group's ID from Its URL
A PHP bot built on cURL and DOMXPath that logs in to Facebook and reads a group's numeric ID from its page, since the Graph API and FQL could not.
A Step-by-Step Tutorial on Building Your Own Safari Extension (Part 2)
Part 2 of the Safari extension tutorial: write the injected script, global page and popover of a visited links logger, then test and package it.
A Step-by-Step Tutorial on Building Your Own Safari Extension (Part 1)
Part 1 of a Safari extension tutorial: enable Extension Builder, then configure a visited links logger with a toolbar button, popover and injected scripts.
Feeling Nostalgic for the Amstrad CPC 6128
My memories of the Amstrad CPC 6128: the games I played, its green monitor and 3-inch floppies, and my first lines of Locomotive BASIC.
15 Java Video Tutorials for Beginners in Tunisian Dialect
Fifteen beginner Java video tutorials in Tunisian dialect by Mohamed Turki, from installing the JDK and Eclipse to classes, inheritance, interfaces and collections.
How Linux Is Built
A short Linux Foundation video, based on the "Who Writes Linux" report, on how the largest collaborative project in computing history is organized.
How to Deploy OpenACS (TR-069) on JBoss AS 5.1
Step-by-step instructions for running the OpenACS 0.4 beta TR-069 auto-configuration server on JBoss AS 5.1 GA with JDK 1.6 and MySQL on Linux.
The Tunisian Python Community Launches Its Web Portal
The Tunisian Python community put its web portal online in April 2012, with a coming-soon message and links to its Facebook and Twitter pages.
Photos from the Red Hat and Tritux SOA Seminar at the Hotel Concorde, Tunis
Photos from the March 2012 Red Hat and Tritux seminar on SOA and JBoss middleware at the Hotel Concorde in Tunis: the talks, the stands and the Tritux team.
What SOA Means for Information Systems: Red Hat Seminar, March 2012
Red Hat and its Tunisian partner Tritux held a seminar in Tunis in March 2012 on what service-oriented architecture (SOA) brings to enterprise information systems.
Customize the Unity Launcher on Ubuntu 11.04 and 11.10
Four steps to change the Unity launcher's icon size, speed, opacity and behavior on Ubuntu 11.04 and 11.10 with the CompizConfig Settings Manager.
A Quick Guide to Installing MySQL Server on Ubuntu Linux
Install the MySQL server and client on Ubuntu with apt-get, check that the service is running, set a root password and control starting at boot.