<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>jaf.run · from another perspective</title><description>Essays by Jafran Hasan on developer tools, types, small languages, philosophy, religion, and field notes from the road.</description><link>https://jaf.run/</link><language>en-us</language><item><title>The shape of a good CLI</title><link>https://jaf.run/en/articles/the-shape-of-a-good-cli/</link><guid isPermaLink="true">https://jaf.run/en/articles/the-shape-of-a-good-cli/</guid><description>Most CLIs are accidents. They evolve from a script someone wrote on a Tuesday. The good ones share a small set of choices made early: about defaults, verbs, and how silence should feel.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><category>tools</category><category>design</category><category>dx</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>Static types for config files (and why your IDE hates you)</title><link>https://jaf.run/en/articles/static-types-for-config-files/</link><guid isPermaLink="true">https://jaf.run/en/articles/static-types-for-config-files/</guid><description>A YAML file is a typed object whose type is hidden in a wiki page from 2019. We can do better, and the fix is mostly about where the schema lives, not what language it&apos;s in.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><category>types</category><category>tooling</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>Notes on rebuilding my feed reader (again)</title><link>https://jaf.run/en/articles/notes-on-rebuilding-my-feed-reader/</link><guid isPermaLink="true">https://jaf.run/en/articles/notes-on-rebuilding-my-feed-reader/</guid><description>Third rewrite. Same UI, different engine. I keep arriving at the same shape: a list, a column, a single quiet keystroke for &apos;next&apos;.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate><category>side-projects</category><category>rss</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>Small models, big context: a practical note</title><link>https://jaf.run/en/articles/small-models-big-context/</link><guid isPermaLink="true">https://jaf.run/en/articles/small-models-big-context/</guid><description>An honest writeup of running a 7B model with a 200k context window in production for a month. What broke, what surprised me, what I&apos;d skip next time.</description><pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate><category>ml</category><category>infra</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>On believing things you cannot prove</title><link>https://jaf.run/en/articles/on-believing-things-you-cannot-prove/</link><guid isPermaLink="true">https://jaf.run/en/articles/on-believing-things-you-cannot-prove/</guid><description>Engineers are taught to distrust anything that can&apos;t be falsified. Faith, religious or otherwise, asks us to hold beliefs that resist that test. I&apos;ve come to think both habits live in the same person, and they should.</description><pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate><category>philosophy</category><category>religion</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>SSH as a protocol, not a shell</title><link>https://jaf.run/en/articles/ssh-as-a-protocol-not-a-shell/</link><guid isPermaLink="true">https://jaf.run/en/articles/ssh-as-a-protocol-not-a-shell/</guid><description>If you only use SSH to get a terminal, you&apos;re missing the more interesting half. A tour of port forwards, multiplexing, and using SSH as glue.</description><pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate><category>networks</category><category>unix</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>A monastery with wifi: notes from Bhutan</title><link>https://jaf.run/en/articles/a-monastery-with-wifi/</link><guid isPermaLink="true">https://jaf.run/en/articles/a-monastery-with-wifi/</guid><description>The monks at Tango Goemba have a small server room behind a thangka. I went looking for silence and found a quiet conversation about attention instead.</description><pubDate>Tue, 30 Dec 2025 00:00:00 GMT</pubDate><category>travel</category><category>religion</category><category>notes</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>A year of running everything from a laptop</title><link>https://jaf.run/en/articles/a-year-of-running-from-a-laptop/</link><guid isPermaLink="true">https://jaf.run/en/articles/a-year-of-running-from-a-laptop/</guid><description>No cloud. No VPS. A loud fan and a domain name. What I learned about uptime, electricity, and the difference between a hobby and a habit.</description><pubDate>Thu, 04 Dec 2025 00:00:00 GMT</pubDate><category>infra</category><category>side-projects</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>Stoicism is not a personality</title><link>https://jaf.run/en/articles/stoicism-is-not-a-personality/</link><guid isPermaLink="true">https://jaf.run/en/articles/stoicism-is-not-a-personality/</guid><description>The version of Stoicism that gets sold online is mostly aesthetic. The actual texts are stranger, quieter, and far more interested in other people than the LinkedIn version lets on.</description><pubDate>Wed, 12 Nov 2025 00:00:00 GMT</pubDate><category>philosophy</category><category>notes</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>The quiet keyboard shortcut</title><link>https://jaf.run/en/articles/the-quiet-keyboard-shortcut/</link><guid isPermaLink="true">https://jaf.run/en/articles/the-quiet-keyboard-shortcut/</guid><description>The best shortcut in any app I use is the one that does nothing. It just dismisses things. Esc, with care.</description><pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate><category>tools</category><category>dx</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>Two weeks of writing from a kissaten</title><link>https://jaf.run/en/articles/two-weeks-in-a-japanese-cafe/</link><guid isPermaLink="true">https://jaf.run/en/articles/two-weeks-in-a-japanese-cafe/</guid><description>I spent fourteen mornings in the same coffee shop in Kanazawa, ordering the same thing, in a language I barely speak. Here&apos;s what happens to a draft when you remove every variable but the page.</description><pubDate>Mon, 15 Sep 2025 00:00:00 GMT</pubDate><category>travel</category><category>writing</category><author>mail@jaf.run (Jafran Hasan)</author></item><item><title>A tiny language for todos</title><link>https://jaf.run/en/articles/a-tiny-language-for-todos/</link><guid isPermaLink="true">https://jaf.run/en/articles/a-tiny-language-for-todos/</guid><description>I built a parser for the way I already write todos in plain text. Tags, dates, priorities, and a single character for &apos;maybe&apos;.</description><pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate><category>side-projects</category><category>languages</category><author>mail@jaf.run (Jafran Hasan)</author></item></channel></rss>