<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Azan Farooqi&apos;s Blog</title><description>Writing on things I&apos;ve built, broken, and learned from</description><link>https://blog.azan-n.com/</link><item><title>My contributions to the &apos;chai article&apos;</title><link>https://blog.azan-n.com/posts/20260510-my-contributions-to-the-chai-article</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260510-my-contributions-to-the-chai-article</guid><description>How I make nun chai at home</description><pubDate>Sat, 09 May 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>NixOS and Ente on Hetzner</title><link>https://blog.azan-n.com/posts/20260419-nixos-and-ente-on-hetzner</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260419-nixos-and-ente-on-hetzner</guid><description>My experience installing NixOS on a cheap Hetzner VPS and hosting Ente on it using Docker Compose</description><pubDate>Sat, 18 Apr 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>My attempts to use a CMS in 2026</title><link>https://blog.azan-n.com/posts/20260414-my-attempts-to-use-a-cms-in-2026</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260414-my-attempts-to-use-a-cms-in-2026</guid><description>CMS&apos; are difficult to get right and all my clients want a WYSIWYG</description><pubDate>Mon, 13 Apr 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Authorization is still quite broken</title><link>https://blog.azan-n.com/posts/20260404-authorization-is-still-quite-broken</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260404-authorization-is-still-quite-broken</guid><description>Modelling permissions in OpenFGA and why check() isn&apos;t enough</description><pubDate>Fri, 03 Apr 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Hot takes from IndieWebClub in the absence of Tanvi</title><link>https://blog.azan-n.com/posts/20260404-hot-takes-from-indiewebclub-in-the-absence-of-tanvi</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260404-hot-takes-from-indiewebclub-in-the-absence-of-tanvi</guid><description>Fifteen contrarian opinions about writing</description><pubDate>Fri, 03 Apr 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Markdown is actually not _that_ extensible</title><link>https://blog.azan-n.com/posts/20260404-markdown-is-actually-not-that-extensible</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260404-markdown-is-actually-not-that-extensible</guid><description>Where Markdown&apos;s HTML/directive hybrids fall apart</description><pubDate>Fri, 03 Apr 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Generating my resume programmatically</title><link>https://blog.azan-n.com/posts/20260321-generating-my-resume-programmatically</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260321-generating-my-resume-programmatically</guid><description>Moving from LaTeX to typst for my resume</description><pubDate>Fri, 20 Mar 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Music at hack4play with strudel.cc</title><link>https://blog.azan-n.com/posts/20260228-music-at-hack4play-with-strudelcc</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260228-music-at-hack4play-with-strudelcc</guid><description>Workshop notes from Kochi Bienalle&apos;s Forplay Society programme</description><pubDate>Sat, 21 Feb 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>A weeknote because Tanvi is scary - II</title><link>https://blog.azan-n.com/posts/20260221-a-weeknote-because-tanvi-is-scary-ii</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260221-a-weeknote-because-tanvi-is-scary-ii</guid><description>Workshops, an SMTP client in a Cloudflare Worker, and being tired</description><pubDate>Fri, 20 Feb 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Backing up my Obsidian store and open-sourcing my website</title><link>https://blog.azan-n.com/posts/20260217-backing-up-my-obsidian-store-and-open-sourcing-my-website</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260217-backing-up-my-obsidian-store-and-open-sourcing-my-website</guid><description>Restic on local and Cloudflare R2</description><pubDate>Mon, 16 Feb 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>A conversation about Chancenkarte</title><link>https://blog.azan-n.com/posts/20260204-a-conversation-about-chancenkarte</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260204-a-conversation-about-chancenkarte</guid><description>Notes from a colleague who moved to Germany on a Chancenkarte</description><pubDate>Tue, 03 Feb 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>A nice thing a stranger has done for me</title><link>https://blog.azan-n.com/posts/20260117-a-nice-thing-a-stranger-has-done-for-me</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260117-a-nice-thing-a-stranger-has-done-for-me</guid><description>A song lyric that gave me a reason to keep going</description><pubDate>Fri, 16 Jan 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>A weeknote because Tanvi is scary</title><link>https://blog.azan-n.com/posts/20260103-a-weeknote-because-tanvi-is-scary</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260103-a-weeknote-because-tanvi-is-scary</guid><description>Finishing a course, switching to swaywm, and losing a friend</description><pubDate>Fri, 02 Jan 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>All my download metrics in one place</title><link>https://blog.azan-n.com/posts/20260102-all-my-download-metrics-in-one-place</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20260102-all-my-download-metrics-in-one-place</guid><description>Trying to find a single view of package download stats across registries</description><pubDate>Thu, 01 Jan 2026 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>PROGA and how to &quot;protect&quot; consumers</title><link>https://blog.azan-n.com/posts/20251231-proga-and-how-to-protect-consumers</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20251231-proga-and-how-to-protect-consumers</guid><description>Prohibition over regulation in India&apos;s online gaming ban</description><pubDate>Mon, 29 Dec 2025 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>A case for regulator-backed open-source tools</title><link>https://blog.azan-n.com/posts/20251212-a-case-for-regulator-backed-open-source-tools</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20251212-a-case-for-regulator-backed-open-source-tools</guid><description>India&apos;s DPDPA needs open-source compliance tooling, not just rules</description><pubDate>Thu, 11 Dec 2025 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>The trash that is NextJS</title><link>https://blog.azan-n.com/posts/20251125-the-trash-that-is-nextjs</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20251125-the-trash-that-is-nextjs</guid><description>On why the App Router makes Next.js unusable for a real SPA</description><pubDate>Mon, 24 Nov 2025 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Music at IndiaFOSS with strudel.cc</title><link>https://blog.azan-n.com/posts/20250924-music-at-indiafoss-with-strudelcc</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20250924-music-at-indiafoss-with-strudelcc</guid><description>My notes about an impromptu live coding music performance at IndiaFOSS 2025</description><pubDate>Tue, 23 Sep 2025 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>A new set of ambigrams</title><link>https://blog.azan-n.com/posts/20250626-a-new-set-of-ambigrams</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20250626-a-new-set-of-ambigrams</guid><description>I made these for friends and stamps</description><pubDate>Wed, 25 Jun 2025 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Migrating from Notion to Obsidian</title><link>https://blog.azan-n.com/posts/20250425-migrating-from-notion-to-obsidian</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20250425-migrating-from-notion-to-obsidian</guid><description>My journey migrating my knowledge base from Notion to Obsidian</description><pubDate>Thu, 24 Apr 2025 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Cubic bezier curves, SVGs, and tone.js</title><link>https://blog.azan-n.com/posts/20250116-cubic-bezier-curves-svgs-and-tonejs</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20250116-cubic-bezier-curves-svgs-and-tonejs</guid><description>Sound generation that could very well have been a random number generator</description><pubDate>Wed, 15 Jan 2025 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Notion as a bookmarks app</title><link>https://blog.azan-n.com/posts/20240208-notion-as-a-bookmarks-app</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20240208-notion-as-a-bookmarks-app</guid><description>Using Notion as a powerful bookmarks manager and CMS</description><pubDate>Wed, 07 Feb 2024 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>I got PSM-I Certified</title><link>https://blog.azan-n.com/posts/20230927-i-got-psm-i-certified</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20230927-i-got-psm-i-certified</guid><description>On getting Scrum certified and what it actually took</description><pubDate>Tue, 26 Sep 2023 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>OpenAPI documentation and string templating</title><link>https://blog.azan-n.com/posts/20230818-openapi-documentation-and-string-templating</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20230818-openapi-documentation-and-string-templating</guid><description>One of the ways not to write a documentation builder</description><pubDate>Thu, 17 Aug 2023 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>An ambrigram of my name</title><link>https://blog.azan-n.com/posts/20230612-an-ambrigram-of-my-name</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20230612-an-ambrigram-of-my-name</guid><description>The process of creating a symbol for my name</description><pubDate>Sun, 11 Jun 2023 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>Ordering food in flights</title><link>https://blog.azan-n.com/posts/20230319-ordering-food-in-flights</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20230319-ordering-food-in-flights</guid><description>Navigating UX design for an airline meal service</description><pubDate>Sat, 18 Mar 2023 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item><item><title>All the ambigrams in my notebooks</title><link>https://blog.azan-n.com/posts/20220202-all-the-ambigrams-in-my-notebooks</link><guid isPermaLink="true">https://blog.azan-n.com/posts/20220202-all-the-ambigrams-in-my-notebooks</guid><description>A collection of hand-drawn ambigrams from personal notebooks</description><pubDate>Tue, 01 Feb 2022 18:30:00 GMT</pubDate><author>Azan Farooqi</author></item></channel></rss>