<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Zaher&apos;s Blog</title><description>It is where I share what I have been learning or doing.</description><link>https://zaher.dev/</link><language>en-US</language><item><title>Why I switched to Astro but not WordPress</title><link>https://zaher.dev/blog/why-i-switched-to-astro/</link><guid isPermaLink="true">https://zaher.dev/blog/why-i-switched-to-astro/</guid><description>In this post, I&apos;ll explain my reasons for switching to Astro instead of using WordPress.</description><pubDate>Sat, 08 Aug 2026 09:00:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/why-i-switched-to-astro.W6Fjn-g6.png" type="image/png"/><category>Personal</category><category>Development</category><category>Programming</category></item><item><title>Chorus: A Growing Collection of AI Agent Skills</title><link>https://zaher.dev/blog/chorus-multi-model-consensus-for-coding-agents/</link><guid isPermaLink="true">https://zaher.dev/blog/chorus-multi-model-consensus-for-coding-agents/</guid><description>Chorus is a collection of AI Agent Skills. It ships with consensus, a multi-model broker, and delegate, a local agent fan-out tool.</description><pubDate>Tue, 28 Jul 2026 10:00:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/chorus.DnTIgJUB.png" type="image/png"/><category>Development</category><category>AI</category></item><item><title>My new Wordpress plugins development workflow</title><link>https://zaher.dev/blog/my-new-wordpress-plugins-development-workflow/</link><guid isPermaLink="true">https://zaher.dev/blog/my-new-wordpress-plugins-development-workflow/</guid><description>I&apos;ll just explain the new way that I am planing to use for working with Wordpress plugins development</description><pubDate>Tue, 05 May 2026 06:54:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/358c103baa64fd5149850d152699cf7b.DIbpqxpQ.jpg" type="image/jpg"/><category>Development</category><category>PHP</category><category>Programming</category></item><item><title>Building a WordPress Plugin Entirely with AI Agents — In One Week</title><link>https://zaher.dev/blog/building-a-wordpress-plugin-with-ai-agents-in-one-week/</link><guid isPermaLink="true">https://zaher.dev/blog/building-a-wordpress-plugin-with-ai-agents-in-one-week/</guid><description>This is how I gave AI Agents the freedom to build something</description><pubDate>Tue, 03 Mar 2026 08:19:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/4cdbc59a76cc6a26a2e9dcfc35b8645d.CIroxtEl.png" type="image/png"/><category>Development</category><category>PHP</category></item><item><title>Using Kindle as weather display screen</title><link>https://zaher.dev/blog/using-kindle-as-weather-display-screen/</link><guid isPermaLink="true">https://zaher.dev/blog/using-kindle-as-weather-display-screen/</guid><description>In this post I&apos;ll explain how I turned my old Kindle to show the current weather in my area when its sleep</description><pubDate>Sun, 04 Jan 2026 09:34:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/f354d20c538c4b7c16e5535fd6953814.792RmDIN.jpeg" type="image/jpg"/><category>Personal</category></item><item><title>Host your own analytics with Umami, Supabase, Hetzner and K3s</title><link>https://zaher.dev/blog/host-your-own-analytics-with-umami-supabase-and-k3s/</link><guid isPermaLink="true">https://zaher.dev/blog/host-your-own-analytics-with-umami-supabase-and-k3s/</guid><description>We are going to explain how we can setup our own analytic server with the help of Umami, Supabase, Hetzner, and K3s.</description><pubDate>Sat, 28 Dec 2024 15:30:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/cd3a01c759023fc640906abd341b0671.BLTINB1f.jpeg" type="image/jpg"/><category>K3s</category><category>Kubernetes</category><category>Cloud</category></item><item><title>Cloudflare Workers with PostgreSQL: Full Example Using Hono.js</title><link>https://zaher.dev/blog/cloudflare-workers-honojs-and-postgres/</link><guid isPermaLink="true">https://zaher.dev/blog/cloudflare-workers-honojs-and-postgres/</guid><description>How to connect Cloudflare Workers to a PostgreSQL database using Hono.js. Complete edge-deployed API example with connection pooling.</description><pubDate>Sat, 04 May 2024 11:54:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/0457ea6a8c092e219bd64f674316302d.C1-k6aNG.jpg" type="image/jpg"/><category>Development</category><category>Cloud</category></item><item><title>K3s Certificate Rotation: Fix and Renew Expired Certificates</title><link>https://zaher.dev/blog/rotate-your-k3s-certificate/</link><guid isPermaLink="true">https://zaher.dev/blog/rotate-your-k3s-certificate/</guid><description>How to rotate and renew expired K3s certificates on your Kubernetes cluster. Fix certificate errors and keep your K3s nodes running.</description><pubDate>Mon, 01 Jan 2024 18:10:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/3f1b16b2a92d8a333e2b40937b337884.CrpKJbeu.jpg" type="image/jpg"/><category>K3s</category><category>Kubernetes</category><category>Cloud</category></item><item><title>K3s Storage Class with NFS: Complete Setup Guide</title><link>https://zaher.dev/blog/k3s-with-nfs-storage-class/</link><guid isPermaLink="true">https://zaher.dev/blog/k3s-with-nfs-storage-class/</guid><description>Learn how to configure K3s with an NFS storage class for persistent volumes. Step-by-step setup for Raspberry Pi and ARM clusters.</description><pubDate>Tue, 28 Nov 2023 17:41:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/b54659f944c8d7d48c173f7d9294caaf.De67vYRq.JPG" type="image/jpg"/><category>K3s</category><category>Kubernetes</category><category>Raspberry PI</category><category>Cloud</category></item><item><title>To Manage or To Host</title><link>https://zaher.dev/blog/to-manage-or-to-host/</link><guid isPermaLink="true">https://zaher.dev/blog/to-manage-or-to-host/</guid><description>Just a small talk about whether it is worth to host your services or to offload the services to other provider</description><pubDate>Mon, 03 Jul 2023 08:29:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/d039c4e39a8233bb1c4c615379bb97d6.B_qIErG3.jpeg" type="image/jpg"/><category>Development</category><category>Cloud</category></item><item><title>Local WordPress development on mac</title><link>https://zaher.dev/blog/local-wordpress-development-on-mac/</link><guid isPermaLink="true">https://zaher.dev/blog/local-wordpress-development-on-mac/</guid><description>An out-of-the-box way to create a composer-powered WordPress project for local development.</description><pubDate>Sun, 14 May 2023 13:21:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/d12fd6df73747d2f4827700dad02e553.BhOK9pqh.png" type="image/png"/><category>Development</category><category>PHP</category><category>Programming</category></item><item><title>New rules for reading books</title><link>https://zaher.dev/blog/new-rules-for-reading-books/</link><guid isPermaLink="true">https://zaher.dev/blog/new-rules-for-reading-books/</guid><description>After so many years trying to read as much as I can, I think I found my best reading rules ever</description><pubDate>Sun, 05 Feb 2023 16:21:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/c6fbb97bd661f3c16cf4c82fbc4d4ad6.0iNaGj55.jpg" type="image/jpg"/><category>Development</category><category>Personal</category></item><item><title>Mastodon on K3s - Part 3</title><link>https://zaher.dev/blog/mastodon-on-k3s-part-3/</link><guid isPermaLink="true">https://zaher.dev/blog/mastodon-on-k3s-part-3/</guid><description>I&apos;ll talk about the different yaml files that we will create, to install Mastodon, PostgreSQL and backup our database everyday.</description><pubDate>Thu, 12 Jan 2023 07:58:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/896e0dcad349769f091b9fbb4f6cda5a.DWpfCCuy.jpeg" type="image/jpg"/><category>K3s</category><category>Docker</category><category>Kubernetes</category><category>Cloud</category><category>Mastodon</category><category>Personal</category></item><item><title>Mastodon on K3s - Part 2</title><link>https://zaher.dev/blog/mastodon-on-k3s-part-2/</link><guid isPermaLink="true">https://zaher.dev/blog/mastodon-on-k3s-part-2/</guid><description>In this part I&apos;ll talk about configuring your servers so can connect your K3s instances together.</description><pubDate>Tue, 10 Jan 2023 05:55:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/896e0dcad349769f091b9fbb4f6cda5a.DWpfCCuy.jpeg" type="image/jpg"/><category>K3s</category><category>Kubernetes</category><category>Cloud</category><category>Mastodon</category><category>Personal</category></item><item><title>Mastodon on K3s - Part 1</title><link>https://zaher.dev/blog/mastodon-on-k3s-part-1/</link><guid isPermaLink="true">https://zaher.dev/blog/mastodon-on-k3s-part-1/</guid><description>In this part I&apos;ll list the hardware I use and the requirements you will need to run your own (personal) Mastodon instance.</description><pubDate>Mon, 09 Jan 2023 11:25:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/896e0dcad349769f091b9fbb4f6cda5a.DWpfCCuy.jpeg" type="image/jpg"/><category>K3s</category><category>Cloud</category><category>Mastodon</category><category>Personal</category><category>Linux</category></item><item><title>n8n.io on K3s &amp; Cloudflare tunnel</title><link>https://zaher.dev/blog/n8n-on-k3s-cloudflare-tunnel/</link><guid isPermaLink="true">https://zaher.dev/blog/n8n-on-k3s-cloudflare-tunnel/</guid><description>n8n is a workflow automation platform that doesn&apos;t box you in, that you never outgrow, so why not to try it locally</description><pubDate>Thu, 05 Jan 2023 05:06:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/5f39d3aed8b6499c5046fcce776270bf.CcR4S31f.png" type="image/png"/><category>K3s</category><category>Docker</category><category>Kubernetes</category><category>Raspberry PI</category><category>Development</category><category>Cloud</category></item><item><title>Kubernetes terminology</title><link>https://zaher.dev/blog/kubernetes-terminology/</link><guid isPermaLink="true">https://zaher.dev/blog/kubernetes-terminology/</guid><description>sometimes, you need a reference for the terminology</description><pubDate>Tue, 03 Jan 2023 18:12:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/9ae84d839547aec845bff94e71a95b9d.BhBNJhxt.png" type="image/png"/><category>K3s</category><category>Docker</category><category>Kubernetes</category><category>Development</category><category>Cloud</category></item><item><title>Backup Your PostgreSQL databases automatically</title><link>https://zaher.dev/blog/backup-your-postgresql-databases-automatically/</link><guid isPermaLink="true">https://zaher.dev/blog/backup-your-postgresql-databases-automatically/</guid><description>As we used the local storage for our postgresql service, we need a way to backup the data, this article will describe what we can do.</description><pubDate>Tue, 03 Jan 2023 05:10:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/2334213a861b91625a1ab7201cc7778b.BN67lSTR.png" type="image/png"/><category>K3s</category><category>Docker</category><category>Kubernetes</category><category>Raspberry PI</category><category>Development</category><category>Cloud</category></item><item><title>PostgreSQL on K3s</title><link>https://zaher.dev/blog/postgresql-on-k3s/</link><guid isPermaLink="true">https://zaher.dev/blog/postgresql-on-k3s/</guid><description>In this article I&apos;ll describe how you can get Postgres up and running on K3s fast</description><pubDate>Tue, 03 Jan 2023 04:31:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/7d13b90722ca6aa1623828db338695c6.CVdnIqEl.png" type="image/png"/><category>K3s</category><category>Docker</category><category>Kubernetes</category><category>Raspberry PI</category><category>Development</category><category>Cloud</category></item><item><title>Cloudflare Tunnel on K3s</title><link>https://zaher.dev/blog/cloudflare-tunnel-on-k3s/</link><guid isPermaLink="true">https://zaher.dev/blog/cloudflare-tunnel-on-k3s/</guid><description>I&apos;ll explain how to run Cloudflare tunnel on your K3s cluster, it is simple and easy as 1, 2  and 3 done.</description><pubDate>Wed, 28 Dec 2022 08:03:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/3290963987bc02528302ee59ca1b37a2.m1nE_DnN.png" type="image/png"/><category>K3s</category><category>Docker</category><category>Kubernetes</category><category>Raspberry PI</category><category>Development</category><category>Cloud</category></item><item><title>MySQL on K3s Cluster</title><link>https://zaher.dev/blog/mysql-on-k3s-cluster/</link><guid isPermaLink="true">https://zaher.dev/blog/mysql-on-k3s-cluster/</guid><description>Now that we have out cluster up and running, lets start by deploying a single instance of MySQL to it</description><pubDate>Wed, 21 Dec 2022 04:40:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/ac533c5910ee6412c1c6761b283c3d51.BkGADdOs.png" type="image/png"/><category>K3s</category><category>Docker</category><category>Kubernetes</category><category>Raspberry PI</category><category>Development</category><category>Cloud</category></item><item><title>K3s PI Cluster</title><link>https://zaher.dev/blog/k3s-pi-cluster/</link><guid isPermaLink="true">https://zaher.dev/blog/k3s-pi-cluster/</guid><description>How to install K3s on your own PI cluster</description><pubDate>Tue, 20 Dec 2022 05:20:00 GMT</pubDate><enclosure url="https://zaher.dev/_astro/k3s-pi-cluster.DP8JfTuQ.png" type="image/png"/><category>K3s</category><category>Docker</category><category>Kubernetes</category><category>Raspberry PI</category><category>Cloud</category><category>Linux</category></item></channel></rss>