<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dgplug on Janusworx</title><link>https://janusworx.com/tags/dgplug/</link><description>Recent content in Dgplug on Janusworx</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>feedback@janusworx.com (Mario Jason Braganza)</managingEditor><webMaster>feedback@janusworx.com (Mario Jason Braganza)</webMaster><copyright>© 2026, Mario Jason Braganza</copyright><lastBuildDate>Fri, 02 Oct 2026 18:20:31 +0530</lastBuildDate><atom:link href="https://janusworx.com/tags/dgplug/index.xml" rel="self" type="application/rss+xml"/><item><title>Books I Read in September, 2026</title><link>https://janusworx.com/reading/books-i-read-in-september-2026/</link><pubDate>Fri, 02 Oct 2026 18:20:31 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/books-i-read-in-september-2026/</guid><description>&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/what-read-in-september-2026-writing-great-fiction-tgc.jpg" alt="cover image of a Great Courses course on Audible, called, Classic Novels: Meeting the Challenge of Great Literature by Arnold Weinstein" /&gt;&#10; &#10; &lt;figcaption&gt;via &lt;a href="https://www.audible.in/pd/Classic-Novels-Meeting-the-Challenge-of-Great-Literature-Audiobook/B07BGCFQX7" target="_blank" rel="noreferrer"&gt;Audible&lt;/a&gt;&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;p&gt;Crazy work month. Tonnes of travel.&lt;br&gt;&#10;So a lot of books this month are comfort rereads.&lt;br&gt;&#10;I’m averaging about ten books a month, so I’m assuming the habit and the consistency have come back. I’m so glad!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Classic Novels: Meeting the Challenge of Great Literature, Arnold Weinstein (The Great Courses)&#10; &lt;div id="classic-novels-meeting-the-challenge-of-great-literature-arnold-weinstein-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#classic-novels-meeting-the-challenge-of-great-literature-arnold-weinstein-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Like Professor Weinstein says, &lt;em&gt;“[the classics] challenge us to wake up, to enter into their depths, to partake of the&#10;life they contain.”&lt;/em&gt;&lt;br&gt;&#10;And so, the course goes into a wide ranging excursion, beginning first with what literature is, its importance and its relevance.&lt;br&gt;&#10;Why classics?&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Classic novels are books that invariably surprise us by destabilizing much that we thought firm and in place. It’s true that art embodies order, but at the same time, it explodes our paltry notions of order. It tells us that life is far more provocative and bristling and fascinating and unruly than our narrow definitions usually allow.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;as well as …&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;classic novels are not simply a means for us to experience faraway places. These texts still speak to us today, functioning as mirrors for us and for our moment. Moll Flanders, for example, speaks to the battle of women to find a legitimate place in society; Bleak House offers a frightening view of still-unsolved problems and crises of urban culture&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;After a few chapters of such discourse, it then spends a chapter each diving into classics&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; across the centuries, from 18th century France and Laclos’, &lt;em&gt;Liasons Dangereuses&lt;/em&gt; to 19th century Emily Brontë’s &lt;em&gt;Wuthering Heights&lt;/em&gt; and ending in the 20th century with Gabriel Garcia Marquez’s &lt;em&gt;One Hundred Years of Solitude&lt;/em&gt; with Defoe, and Balzac and Tolstoy and Dostoevsky and Conrad and Proust and Joyce and Woolf all making appearances.&lt;/p&gt;&#10;&lt;p&gt;Thoroughly enjoyable!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Writing Great Fiction: Storytelling Tips and Techniques, James Hynes (The Great Courses)&#10; &lt;div id="writing-great-fiction-storytelling-tips-and-techniques-james-hynes-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#writing-great-fiction-storytelling-tips-and-techniques-james-hynes-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This one felt like all the courses of the past few months, being brought into a coherent whole to serve as tools for writing. Round and Flat characters, dialogue, plotting, complex plotting, points of view, research and everything else that goes with it.&lt;br&gt;&#10;I loved one of Hynes’ reasons to write:&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;One final reason to write is to erase onself in the creative act. […] our live-wire awareness of everything around use and the constant hum of our own imaginations cause use to crave some sort of peace. Writing itself is an intensely self-conscious act, as you find yourself inhabiting the minds of your characters and forcing yourself to think about things that most people never think about at all. The paradox is that most writers find respite form this acute self-consciousness in the act of writing itself.&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;[…] This is not the same thing as reading for escape, where your mind switches off and lets the narrative play as if on a screen. Rather, it’s the experience of fully inhabiting another life or world, where your mind is fully engaged—but not as yourself.&lt;/p&gt;&#10;&lt;p&gt;[…] the most sublime experience in writing comes when you feel as if you are remembering the book, not creating it. It is as if the book is out there in the ether someplace, and you are simply recording what you have heard. When you’re finished, you feel relief that what’s on the page at last matches the melody in your head, the one only you can hear.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;How to Publish Your Book, Jane Friedman (The Great Courses)&#10; &lt;div id="how-to-publish-your-book-jane-friedman-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-to-publish-your-book-jane-friedman-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I really did go overboard this month with the Great Courses. This was the final one for the month.&lt;br&gt;&#10;If you ever wondered about the effort and toil required to write a book, then this lays it all out for you. In structured, &lt;em&gt;exhaustive&lt;/em&gt; detail.&lt;/p&gt;&#10;&lt;p&gt;Friedman leaves no stone unturned. The whole edifice that is the cathedral called book publishing is examined at length. What is fiction writing like? What goes into non fiction? What does an agent do for you? What are the various book lengths? What time frames are you looking at for various goals? What is the industry broadly like today? Is self publishing really the panacea that it seems? What is a platform? Is it just social media? Justice is done to all these topics, and more.&lt;/p&gt;&#10;&lt;p&gt;This also lets you decide on whether your dream of actually writing a book, is worth it after all? Or does it need to take a another shape or form?&lt;/p&gt;&#10;&lt;p&gt;I wish more books and courses were as well put together as this one was.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Punjab, Punjabis and Punjabiyat: Reflections on a Land and its People, Khushwant Singh&#10; &lt;div id="punjab-punjabis-and-punjabiyat-reflections-on-a-land-and-its-people-khushwant-singh" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#punjab-punjabis-and-punjabiyat-reflections-on-a-land-and-its-people-khushwant-singh" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Some history, about a people who have always fascinated me, since in way, I was brought up in my early working years by a coterie of folks who either were from, or were descendants of the people of the Punjab. Stories of partition (Burma from my grandfather and Punjab from an old neighbour) have also made me curious about the land and its history.&lt;br&gt;&#10;The first part is a rapid, sweeping history of the region, by one of its famous and controversial sons made sense. From its ancient origins to the founding of the Sikh faith, the beginnings of the language and its literature, its place in the British empire and the enduring spirit of its people. I was raised on Khushwant Singh’s columns&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; as a youngster, so reading this felt like coming home, in more ways than one.&lt;br&gt;&#10;The second and third parts are a series of essays, slices of life from Khushwant Singh’s life and experiences and biographies of various notables through time.&lt;/p&gt;&#10;&lt;p&gt;Loved the book. It gave me a really warm nostalgic feeling. Here’s Singh, on the monsoons in the region:&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Punjabis, who have to live through many months of intense heat every year, love the monsoon. It is the time for lovers’ trysts and the reunion of families. Guru Nanak went into raptures over it: ‘The season of the rains has come and my heart is full of joy…river and land are one expanse of water… The nights are dark. Frogs croak in contentment. Peacocks cry with joy. The papeeha calls peeooh peeooh. The fangs of serpents and the stings of mosquitoes are full of venom. The seas have burst their bounds in the ecstasy of fulfilment.’ Life begins afresh. There are new leaves on many trees and grass covers the barren ground. Mangoes ripen. The clamour of the koels and the brainfever bird is drowned in the song and laughter of girls on swings in the mango groves. By the time the monsoon is over, it is cool again.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Blood Over Bright Haven, M. L. Wang&#10; &lt;div id="blood-over-bright-haven-m-l-wang" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#blood-over-bright-haven-m-l-wang" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This felt like a modern spin on a short story from those old sci-fi stories from the 60s. Only less sexist. More sensitive. With more wisdom. And gorgeous prose.&lt;br&gt;&#10;It’s the standard schtick. Protected City. Wasteland earth. Salvation and safety lies within.&lt;br&gt;&#10;Or does it?&lt;/p&gt;&#10;&lt;p&gt;What the book is, is a standard plot, with pitch perfect execution. And like I said, lovely prose!&lt;br&gt;&#10;A few tidbits:&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Some last autumn in Thomil’s expression froze over.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;This was how the Caldonnae truly died.&lt;br&gt;&#10;In pain too big for two small souls to bear without corruption.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Sciona had already swept down the hall, a plan crackling on the kindling inside her.&lt;br&gt;&#10;Fire filled the void.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Address Unknown, Kathrine Kessman Taylor&#10; &lt;div id="address-unknown-kathrine-kessman-taylor" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#address-unknown-kathrine-kessman-taylor" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;An tiny, tiny, epistolary novellette set during the horrors of the second world war.&lt;br&gt;&#10;And a book that filled me, paradoxically with both tremendous sadness and cacklingly evil glee.&lt;br&gt;&#10;And that’s all I’ll tell you. &lt;a href="https://archive.org/details/addressunknownby0000unse" target="_blank" rel="noreferrer"&gt;Go read it yourself.&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;A Red Sun Also Rises, Mark Hodder&#10; &lt;div id="a-red-sun-also-rises-mark-hodder" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-red-sun-also-rises-mark-hodder" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;A story within a story. A red sun. Aliens of various kinds battling each other. Rip roaring fun!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;A Walk in the Woods: Rediscovering America on the Appalachian Trail, Bill Bryson&#10; &lt;div id="a-walk-in-the-woods-rediscovering-america-on-the-appalachian-trail-bill-bryson" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-walk-in-the-woods-rediscovering-america-on-the-appalachian-trail-bill-bryson" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Bill Bryson walks the Appalachian trail.&lt;br&gt;&#10;Bill Bryson is a fount of entertainment.&lt;br&gt;&#10;Bill Bryson wrote this book, combining the two statements above.&lt;/p&gt;&#10;&lt;p&gt;Live. Laugh. Love. Laugh some more. Get cranky. Get blisters. Roll on the floor laughing. Find out about a beautiful, wild part of the USA&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;, in a really entertaining manner from a Brit. Grin like a mad man as you remember something funny from the book.&lt;/p&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Copper Beeches&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 48&#10; &lt;div id="the-copper-beeches-sherlock--co-podcast-season-48" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-copper-beeches-sherlock--co-podcast-season-48" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Our intrepid trio mucking about the grounds of a mansion. Electric blue dresses. And a crabby, crabby woman.&lt;br&gt;&#10;There’ll be such a hole when this show ends! I love their interpretation of the canon.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Wit &amp;amp; Wisdom of Tyrion Lannister, George R. R. Martin&#10; &lt;div id="the-wit--wisdom-of-tyrion-lannister-george-r-r-martin" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-wit--wisdom-of-tyrion-lannister-george-r-r-martin" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;A collection of Tyrion quotes from &lt;a href="https://en.wikipedia.org/wiki/A_Song_of_Ice_and_Fire" target="_blank" rel="noreferrer"&gt;all the five books.&lt;/a&gt;&lt;br&gt;&#10;Here’s a few:&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;All dwarfs may be bastards, yet not all bastards need be dwarfs.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;I’m short, not blind.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;I have a tender spot in my heart for cripples and bastards and broken things.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;My mind is my weapon. My brother has his sword, King Robert has his warhammer, and I have my mind … and a mind needs books as a sword needs a whetstone if it is to keep its edge.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;A Lannister always pays his debts.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Made for a lovely end to the month.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;P.S. It’s been three years today, since I lost my younger sibling. &lt;a href="https://janusworx.com/personal/savio-38-years-in-memoriam/" &gt;I still miss him.&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Books I Read in September, 2026&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;occidental obviously. I still have to come across a course on Indian / Asian / African classics.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;and Karkaria and Suraiyya and Laxman&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:3"&gt;&#10;&lt;p&gt;which really is not that far from a highway.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>2026</title><link>https://janusworx.com/reading/2026/</link><pubDate>Thu, 01 Oct 2026 05:30:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/2026/</guid><description>&lt;div style="font-size: 85%; "&gt;&#10;&lt;p&gt;&lt;em&gt;&lt;strong&gt;What do all the stars and daggers after the book titles mean?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;¶ for &lt;a href="https://janusworx.com/lindy-books/" target="_blank" rel="noopener noreferrer"&gt;Lindy books&lt;/a&gt; &lt;br&gt;&#10;† for most non fiction&lt;br&gt;&#10;‡ for tech / work / study / reference stuff &lt;br&gt;&#10;# for alternate media (like audio or video)&lt;br&gt;&#10;numbers are footnotes&lt;br&gt;&#10;Some book titles might be repeated (in addition to the annual Lindy reads :)&lt;br&gt;&#10;After all, &lt;a href="https://janusworx.com/lindy-books/" target="_blank" rel="noopener noreferrer"&gt;we are what we re-read&lt;/a&gt; :)&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;January&#10; &lt;div id="january" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#january" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-january-2026/" &gt;&lt;em&gt;Thoughts and notes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, The Nazis at War, Parts I-IV&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Second Stain&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 37&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Man with the Twisted Lip&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 38&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.dancarlin.com/product/hardcore-history-73-mania-for-subjugation-iii/" target="_blank" rel="noreferrer"&gt;Mania for Subjugation III&lt;/a&gt;, Hardcore History, Episode 73&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Thin Man, Dashiell Hammett&lt;/li&gt;&#10;&lt;li&gt;Sister, Maiden, Monster, Lucy A. Snyder&lt;/li&gt;&#10;&lt;li&gt;Shattered Lands, Sam Dalrymple&lt;sup&gt;†&lt;/sup&gt;, &lt;a href="https://janusworx.com/reading/shattered-lands/" &gt;Related Post&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;The Psychology of Money, Morgan Housel&lt;sup&gt;†&lt;/sup&gt;, &lt;a href="https://janusworx.com/reading/the-psychology-of-money/" &gt;Related Post&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;History of the Alphabet, Kevin Stroud&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Play of Isaac, Margaret Frazer&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, Jack the Ripper, Parts I-IV&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Muskgrave Ritual&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 39&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;February&#10; &lt;div id="february" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#february" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-february-2026/" &gt;&lt;em&gt;Thoughts and notes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="13"&gt;&#10;&lt;li&gt;The Spy Who Came in from the Cold, John le Carré&lt;/li&gt;&#10;&lt;li&gt;The Novice’s Tale, Margaret Frazer&lt;/li&gt;&#10;&lt;li&gt;Beyond the Rift, Peter Watts&lt;/li&gt;&#10;&lt;li&gt;The Servant’s Tale, Margaret Frazer&lt;/li&gt;&#10;&lt;li&gt;Call for the Dead, John le Carré&lt;/li&gt;&#10;&lt;li&gt;A Murder of Quality, John le Carré&lt;/li&gt;&#10;&lt;li&gt;The Outlaw’s Tale, Margaret Frazer&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 381-390&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Girl with the Dragon Tattoo, Stieg Larsson&lt;/li&gt;&#10;&lt;li&gt;Falco, The Official Companion, Lindsey Davis&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;March&#10; &lt;div id="march" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#march" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-march-2026/" &gt;&lt;em&gt;Thoughts and notes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="23"&gt;&#10;&lt;li&gt;The Girl Who Played With Fire, Stieg Larsson&lt;/li&gt;&#10;&lt;li&gt;The Girl Who Kicked the Hornet’s Nest, Stieg Larsson&lt;/li&gt;&#10;&lt;li&gt;The Looking Glass War, John le Carré&lt;/li&gt;&#10;&lt;li&gt;Tinker, Tailor, Soldier, Spy, John le Carré&lt;/li&gt;&#10;&lt;li&gt;The Honourable Schoolboy, John le Carré&lt;/li&gt;&#10;&lt;li&gt;The Bear and the Nightingale, Katherine Arden&lt;/li&gt;&#10;&lt;li&gt;The Girl in the Tower, Katherine Arden&lt;/li&gt;&#10;&lt;li&gt;The Winter of the Witch, Katherine Arden&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;April&#10; &lt;div id="april" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#april" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-april-2026/" &gt;&lt;em&gt;Thoughts and notes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="31"&gt;&#10;&lt;li&gt;50 Literature Ideas, You Really Need to Know, John Sutherland&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 391-400&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Lincoln the Unknown, Dale Carnegie&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, The Bronze Age Apocalypse, Episodes 332-337&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, Indian Uprising 1857, Episodes 322-329&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Beryl Coronet&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 40&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Stockbroker’s Clerk&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 41&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Six Napoleons&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 42&lt;/li&gt;&#10;&lt;li&gt;Songteller, My Life in Lyrics, Dolly Parton&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, The Middle East: From the Arab Cold War to the Israeli Invasion of Lebanon, Episodes 346-353&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;May&#10; &lt;div id="may" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#may" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-may-2026/" &gt;&lt;em&gt;Thoughts and notes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="41"&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Three Garridebs&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 43&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Empty House&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 44&lt;/li&gt;&#10;&lt;li&gt;Smiley’s People, John le Carré&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, Simon Bolivar: the Liberator, Episodes 354-357&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.acquired.fm/episodes/vanguard" target="_blank" rel="noreferrer"&gt;Vanguard&lt;/a&gt;, Spring 2026, Episode 3, Acquired Podcast&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;June&#10; &lt;div id="june" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#june" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-june-2026/" &gt;&lt;em&gt;Thoughts and notes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="46"&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, The Fall of the Incas, Episodes 644-649&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, Spice Wars: The Battle of the East India Companies, Episodes 358-360&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Learning Object-Oriented Programming, Design and TDD with Pharo, Stéphane Ducasse &amp;amp; Damien Pollet&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Secret Pilgrim, John le Carré&lt;/li&gt;&#10;&lt;li&gt;Control, Andy Diggle, Angela Cruickshank, Andrea Mutti &amp;amp; Vladimir Popov&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://fs.blog/knowledge-project-podcast/outliers-chung-ju-yung/" target="_blank" rel="noreferrer"&gt;Chung Ju-yung &amp;amp; Hyundai&lt;/a&gt;, Farnam Street Podcast&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Art of Reading, Timothy Spurgin (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Steve Jobs in Exile, Geoffrey Cain&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Data Structures the Fun Way, Jeremy Kubica&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Platform Decay, Martha Wells&lt;/li&gt;&#10;&lt;li&gt;Apple: The First 50 Years, David Pogue&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;July&#10; &lt;div id="july" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#july" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-july-2026/" &gt;&lt;em&gt;Thoughts and notes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="57"&gt;&#10;&lt;li&gt;Analysis and Critique, Dorsey Armstrong, (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;D’Aulaires’ Book of Greek Myths, Ingri &amp;amp; Edgar Parin d’Aulaire&lt;/li&gt;&#10;&lt;li&gt;A World is Born, Leigh Bracket&lt;/li&gt;&#10;&lt;li&gt;Becoming a Great Essayist, Jennifer Cognard-Black, (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Writing Down the Bones, Natalie Goldberg&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EAe6hdB4uDM" target="_blank" rel="noreferrer"&gt;How to Read a Book&lt;/a&gt;: The Art of Reading &amp;amp; Dialogues about Books, Mortimer Adler &amp;amp; Charles Van Doren&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Greek Interpreter&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 45&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Engineer’s Thumb&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 46&lt;/li&gt;&#10;&lt;li&gt;Pirates of Venus, Edgar Rice Burroughs&lt;/li&gt;&#10;&lt;li&gt;Death of an Expert Witness, P. D. James&lt;/li&gt;&#10;&lt;li&gt;Joyce’s Ulysses, James A. W. Hefferman, (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Shakespeare: Comedies, Histories and Tragedies, Peter Saccio, (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;August&#10; &lt;div id="august" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#august" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-august-2026/" &gt;&lt;em&gt;Thoughts and notes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="69"&gt;&#10;&lt;li&gt;Absolution by Murder, Peter Tremayne&lt;/li&gt;&#10;&lt;li&gt;Writing for Developers, Piotr Sarna &amp;amp; Cynthia Dunlop&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Disney, &lt;a href="https://www.acquired.fm/episodes/the-walt-disney-company" target="_blank" rel="noreferrer"&gt;Part I&lt;/a&gt; &amp;amp; &lt;a href="https://www.acquired.fm/episodes/disney-the-renaissance-and-the-empire" target="_blank" rel="noreferrer"&gt;Part II&lt;/a&gt;, Acquired Podcast&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;How to Read and Understand Shakespeare, Marc C. Conner (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Building Great Sentences, Brooks Landon (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Twelfth Night, or What You Will, William Shakespeare&lt;/li&gt;&#10;&lt;li&gt;Classical Mythology, Elizabeth Vandiver (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Boscombe Valley Mystery&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 47&lt;/li&gt;&#10;&lt;li&gt;The Silver Pigs, Lindsey Davis&lt;/li&gt;&#10;&lt;li&gt;Shadows in Bronze, Lindsey Davis&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.dancarlin.com/product/hardcore-history-74-mania-for-subjugation-iv/" target="_blank" rel="noreferrer"&gt;Mania for Subjugation IV&lt;/a&gt;, Hardcore History, Episode 74&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Dante’s Divine Comedy, William R. Cook &amp;amp; Ronald B. Herzman (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;September&#10; &lt;div id="september" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#september" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-september-2026/" &gt;&lt;em&gt;Thoughts and notes&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="81"&gt;&#10;&lt;li&gt;Classic Novels: Meeting the Challenge of Great Literature, Arnold Weinstein (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Writing Great Fiction: Storytelling Tips and Techniques, James Hynes (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Blood Over Bright Haven, M. L. Wang&lt;/li&gt;&#10;&lt;li&gt;Punjab, Punjabis and Punjabiyat: Reflections on a Land and its People, Khushwant Singh&lt;/li&gt;&#10;&lt;li&gt;How to Publish Your Book, Jane Friedman (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Address Unknown, Kathrine Kessman Taylor&lt;/li&gt;&#10;&lt;li&gt;A Red Sun Also Rises, Mark Hodder&lt;/li&gt;&#10;&lt;li&gt;A Walk in the Woods: Rediscovering America on the Appalachian Trail, Bill Bryson&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Copper Beeches&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 48&lt;/li&gt;&#10;&lt;li&gt;The Wit &amp;amp; Wisdom of Tyrion Lannister, George R. R. Martin&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.acquired.fm/episodes/home-depot" target="_blank" rel="noreferrer"&gt;The Home Depot&lt;/a&gt;, Acquired Podcast&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;October&#10; &lt;div id="october" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#october" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="92"&gt;&#10;&lt;li&gt;Writing Creative Nonfiction, Tilar J. Mazzeo (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;</description></item><item><title>15 (Love’s Not Time’s Fool … )</title><link>https://janusworx.com/personal/15/</link><pubDate>Thu, 10 Sep 2026 05:30:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/personal/15/</guid><description>&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/happy-anniversary-15-a.jpg" alt="Photo of Abby and me in church under a floral arch" /&gt;&#10; &#10; &lt;figcaption&gt;&lt;a href="https://www.youtube.com/watch?v=XW5nIlIfR5s" target="_blank" rel="noreferrer"&gt;Somewhere, under the rainbow … 🎶 🎶&lt;/a&gt;&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;div style="text-align: center"&gt; &#10;&lt;p&gt;Let me not to the marriage of true minds&lt;br&gt;&#10;Admit impediments. Love is not love&lt;br&gt;&#10;Which alters when it alteration finds,&lt;br&gt;&#10;Or bends with the remover to remove:&lt;br&gt;&#10;O, no! it is an ever-fixed mark,&lt;br&gt;&#10;That looks on tempests and is never shaken;&lt;br&gt;&#10;It is the star to every wandering bark,&lt;br&gt;&#10;Whose worth’s unknown, although his height be taken.&lt;br&gt;&#10;Love’s not Time’s fool, though rosy lips and cheeks&lt;br&gt;&#10;Within his bending sickle’s compass come;&lt;br&gt;&#10;Love alters not with his brief hours and weeks,&lt;br&gt;&#10;But bears it out even to the edge of doom.&lt;br&gt;&#10;    If this be error and upon me proved,&lt;br&gt;&#10;    I never writ, nor no man ever loved.&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;— &lt;a href="https://en.wikipedia.org/wiki/Sonnet_116" target="_blank" rel="noreferrer"&gt;the Bard&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;div style="text-align: center"&gt; To many many more years, together 🤗 &lt;/div&gt; &#10;&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/happy-anniversary-15-b.jpg" alt="Diptych of Abby and me, on joyride" /&gt;&#10; &#10; &lt;figcaption&gt;&lt;a href="https://www.youtube.com/watch?v=3-AXs-tR_oI" target="_blank" rel="noreferrer"&gt;You and me, Sunday driving, not arriving … 🎶 🎶&lt;/a&gt;&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: 15 (Love’s Not Time’s Fool … )&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Books I Read in August, 2026</title><link>https://janusworx.com/reading/books-i-read-in-august-2026/</link><pubDate>Tue, 01 Sep 2026 12:30:54 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/books-i-read-in-august-2026/</guid><description>&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/what-i-read-in-august-2026-dantes-divine-comedy-tgc.jpg" alt="cover image of a Great Courses course on Audible, called, Dante’s Divine Comedy by William R. Cook and Ronald B. Herzman" /&gt;&#10; &#10; &lt;figcaption&gt;via &lt;a href="https://www.audible.in/pd/Dantes-Divine-Comedy-Audiobook/B07B8W19HN" target="_blank" rel="noreferrer"&gt;Audible&lt;/a&gt;&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;p&gt;Lots of work this month.&lt;br&gt;&#10;Tried to keep reading on an even keel, on slow regular cadence in addition to reading in the cracks of time.&lt;br&gt;&#10;Coffee and Audiobooks in the morning are such a pleasure.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Building Great Sentences, Brooks Landon (The Great Courses)&#10; &lt;div id="building-great-sentences-brooks-landon-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#building-great-sentences-brooks-landon-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;While learning about Danté&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; is defintitely more important and why I did &lt;em&gt;this&lt;/em&gt; course, &lt;em&gt;Building Great Sentences&lt;/em&gt;, will probably be the biggest skill I pick up this year.&lt;br&gt;&#10;I loved it so much that I bought both, the &lt;a href="https://www.kobo.com/in/en/ebook/building-great-sentences" target="_blank" rel="noreferrer"&gt;book&lt;/a&gt; and the &lt;a href="https://shop.thegreatcourses.com/building-great-sentences-exploring-the-writers-craft" target="_blank" rel="noreferrer"&gt;course&lt;/a&gt;.&lt;br&gt;&#10;It finally unveiled to me, just what was involved in constructing a beautiful sentence, and why the aim is always to write &lt;em&gt;longer&lt;/em&gt; sentences. The trick, &lt;a href="https://youtu.be/ObGVA1WOqyE?si=PR6UbVRTOAq2qVDs&amp;amp;t=65" target="_blank" rel="noreferrer"&gt;the turn&lt;/a&gt;, if it be called that, is the skill involved in &lt;em&gt;constructing&lt;/em&gt; the long sentence, using the best possible vocabulary and rhythm to deliver the prestige: a beautiful line of prose.&lt;/p&gt;&#10;&lt;p&gt;Word choices, depth of clauses both vertical and horizontal, the inseparability of form from content, the importance of rhetoric over grammar and much, much more. For folks like me, who want some tools, (of the folks studying and writing good literature,) to express themselves more eloquently, this book really is godsent.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Writing for Developers, Piotr Sarna &amp;amp; Cynthia Dunlop&#10; &lt;div id="writing-for-developers-piotr-sarna--cynthia-dunlop" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#writing-for-developers-piotr-sarna--cynthia-dunlop" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This gave me another set of skills, that of writing technical blogs. Not that I am going to use this on the current blog, (I am defintitely not the target audience) but this is another set of knives in the toolbelt.&lt;br&gt;&#10;Lots of tips and tricks and scaffolding and templates and handholding on how to write a “modern” technical blog. Specially helpful for folks, who use English as their secondary, tertiary or quaternary language and yet have to write blog posts or documentation to support their code.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Disney, &lt;a href="https://www.acquired.fm/episodes/the-walt-disney-company" target="_blank" rel="noreferrer"&gt;Part I&lt;/a&gt; &amp;amp; &lt;a href="https://www.acquired.fm/episodes/disney-the-renaissance-and-the-empire" target="_blank" rel="noreferrer"&gt;Part II&lt;/a&gt;, Acquired Podcast&#10; &lt;div id="disney-part-i--part-ii-acquired-podcast" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#disney-part-i--part-ii-acquired-podcast" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Lovely history of Disney and Co from Walt all the way to the modern day. I don’t know if there will be a follow up, but these episodes cover a fairly large block of time. Leans hagiographic as Acquired is wont to do. Lots of Disney villainy, specially towards creative folk, is swept under the rug.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Boscombe Valley Mystery&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 47&#10; &lt;div id="the-boscombe-valley-mystery-sherlock--co-podcast-season-47" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-boscombe-valley-mystery-sherlock--co-podcast-season-47" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Dr. Watson gets into a funk, gets really grumpy, kills a fatuous, smug, arsehole and then gets thrown in the slammer.&lt;br&gt;&#10;Find out how our duo fares in Season 47! This one was on the lighter side; not too heavy (excepting the murder, of course.)&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Absolution by Murder, Peter Tremayne&#10; &lt;div id="absolution-by-murder-peter-tremayne" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#absolution-by-murder-peter-tremayne" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Sister Fidelma, the Irish nun, solves a murder mystery at the dawn of Christianity in seventh century Northumbria. For someone so ancient, Sister Fidelma comes across as quite modern. I love the writing and the history and the exposition. I love the world. And while you’ll probably see the murderer from a mile away, I also love that the cause seems both quite modern as well as something as old as time. Very, very, enjoyable.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Silver Pigs &amp;amp; Shadows in Bronze, Lindsey Davis&#10; &lt;div id="the-silver-pigs--shadows-in-bronze-lindsey-davis" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-silver-pigs--shadows-in-bronze-lindsey-davis" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;And now, to go even further back in time, to the Roman Empire to solve even more murder!&lt;br&gt;&#10;Nero is dead. Three more emperors die in quick succession before commonplace Vespasian wrests control to begin the Flavian dynasty.&lt;br&gt;&#10;And in the centre of this hot, boiling, odorous, unsettled mess that is the city of Rome, is informer&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; and later imperial agent, Falco. Contrary to modern noir tropes, Falco matches the messiness of Rome. He has a large family that is always underfoot, is social and works with everyone he possibly can.&lt;br&gt;&#10;The stories themselves range from Rome to ancient Britain to Magna Graecia (southern Italy) and back. There are all sorts of shenanigans. Mischief, murder, mayhem and everything in between. The two books have two murders, yes, but the bigger arc feels like a single novel. These c(sh)ould be read like a duology.&#10;The language is beautiful. It feels very much like how I would write, if I could write well. It’s slightly curt, just like me. There are plenty of things left unsaid for folks to find if they wish to. I &lt;em&gt;&lt;strong&gt;loved&lt;/strong&gt;&lt;/em&gt; it!&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;“Lie still, Falco; don’t make such a fuss…”&#10;The dependable vindictiveness of Helena’s voice swung with me through delirium. To a freed slave, tyranny can be oddly comforting.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;I have no intention of describing what happened next. It is private between me, the senator’s daughter, and the gardener’s horse.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;[Reading this below, on my &lt;a href="https://janusworx.com/personal/75-years-in-memoriam/" &gt;father’s birthday&lt;/a&gt; … this really struck home — mjb]&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;My mother’s face would never age. Only her skin had grown tired in recent years, so it no longer fitted properly on her bones. After I came back from Britain she seemed smaller than before. Her black-rimmed eyes would stay bright and sharp-witted to the day she died. One day that would happen, and though I now spent so much effort fending off her encroachments, when she was gone I would be desolate.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;I bought a pancake stuffed with hot minced pork which I ate as I walked. A watchdog wagged his tail at me but I told him to take his smiling fangs elsewhere.&lt;br&gt;&#10;Life is unfair. Too unfair, too often, to ignore a friendly grin; I went back and shared my pancake with the dog.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Sometimes I stood at the sea’s lisping edge …&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;How to Read and Understand Shakespeare, Marc C. Conner (The Great Courses)&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&#10; &lt;div id="how-to-read-and-understand-shakespeare-marc-c-conner-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-to-read-and-understand-shakespeare-marc-c-conner-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;More study on how to engage with the bard. This course focuses on the tropes and techniques across Shakespeare’s plays and helps us see them, so that we can enjoy and engage with the plays even more. Here’s one called …&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;h4 class="relative group"&gt;Words, Words, Words!&#10; &lt;div id="words-words-words" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#words-words-words" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;p&gt;One of the essential keys for unlocking Shakespeare is the way he uses words. We will call this the “words, words, words” tool because when Hamlet is asked what he is reading, he responds, &lt;em&gt;“Words, words, words.”&lt;/em&gt;&lt;br&gt;&#10;How does Shakespeare use these words? Shakespeare uses language in figurative ways, meaning that the language is representative, symbolic, metaphorical; in other words, he uses words to mean something other than their literal meaning.&lt;/p&gt;&#10;&lt;p&gt;Pay close attention to how Shakespeare explores and exploits the many meanings of words. Where does he make puns—that is, highlight the double meanings of words? Where does he employ obviously poetical language, and where does he use language that is quite ordinary and familiar? What does he gain by this? How does he use particular aspects of language—the speech of lower classes, prose versus poetry, high poetic language of true love, the Shakespearean sonnet, etc.—to attain his meanings? What do readers need to know in order to understand Shakespeare’s language?&lt;/p&gt;&#10;&lt;p&gt;Romeo looks up and sees a light. Well, sure, Juliet’s bedroom candle is burning. However, Romeo does not stop at that literal meaning. The window, he says, is the eastern horizon, and the light he beholds is the sun rising—which, he says, is Juliet herself.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;What is gained by using language in this way?&lt;/strong&gt;&lt;br&gt;&#10;What is gained is precisely a surplus of meaning—larger significances than the literal words would allow.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;If Romeo is telling us that Juliet is now his sun, this means that she has a cosmic significance to him, and indeed, a few lines later, he compares her eyes to stars and says that they could burn “so bright that birds would sing and think it were not night.”&lt;/li&gt;&#10;&lt;li&gt;Juliet even becomes a goddess to Romeo, just as primitive people once worshiped the sun. Indeed, later in the play, Juliet calls Romeo “the god of my idolatry,” which is a dangerous confusion of the love one gives to a person with the love one gives to God.&lt;/li&gt;&#10;&lt;li&gt;In almost the very last line of the play, the prince says, because these young lovers are now dead, “The sun for sorrow will not show his head”—as if the light that was embodied in Juliet has now been extinguished. All of these meanings are suggested in the first small comparison Romeo makes with his language: “It is the east and Juliet is the sun.”&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Romeo says one thing and means many things. It’s one of the major tools to keep in mind with Shakespeare: His language means more than one thing and works on more than one level of meaning.&lt;/p&gt;&#10;&lt;p&gt;Romeo says: “It is my lady, O, it is my love!” This simply means that the girl he beholds is the girl he adores.&#10;Shakespeare alternates lines fraught with condensed, poetic meaning with lines that mean pretty much exactly what they say. Usually, the characters that are most interesting move back and forth between figurative language and literal language.&lt;/p&gt;&#10;&lt;p&gt;When Juliet first speaks from the balcony, her initial words are a succinct statement of the whole problem of the play: that she is of the Capulet family and Romeo is a Montague, the sworn enemies of the Capulets.&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;O Romeo, Romeo, wherefore art thou Romeo?&lt;br&gt;&#10;Deny thy father and refuse thy name.&lt;br&gt;&#10;Or if thou wilt not, be but sworn my love&lt;br&gt;&#10;And I’ll no longer be a Capulet.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;em&gt;“Wherefore art thou Romeo”&lt;/em&gt; means “Why are you named Romeo?”&lt;br&gt;&#10;This problem of the name strikes Juliet as an odd thing: If she loves Romeo and Romeo loves her, why should mere names be such a problem?&#10;She moves into her own meditation on, in fact, language itself.&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;What’s in a name? That which we call a rose&lt;br&gt;&#10;By any other word would smell as sweet;&lt;br&gt;&#10;So Romeo would, were he not Romeo call’d,&lt;br&gt;&#10;Retain that dear perfection which he owes&lt;br&gt;&#10;Without that title. Romeo, doff thy name,&lt;br&gt;&#10;And for thy name, which is no part of thee,&lt;br&gt;&#10;Take all myself.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Juliet is taking on the very problem of Shakespeare’s words:&#10;Why use one word rather than another? What difference does the word make? What’s in a name? If this play tells us anything, it tells us that we cannot simply abandon the meanings words have. Romeo and Juliet struggle mightily to escape the fate that their family names demand, and the tragedy of the play is that they cannot do it. Words, Shakespeare tells us, are of enormous, life-changing, world-shaping importance, which is another reason why Shakespeare tries to bring out their power through his figurative language.&lt;/p&gt;&#10;&lt;p&gt;Shakespeare’s central focus on language also takes the form of an extended conceit, or poetic analogy, such as when Romeo meets Juliet at the ball. Pay close attention to how this comparison in words functions. What does the comparison tell you about Romeo and how he feels toward Juliet? What does Shakespeare gain by using language in this way?&lt;/p&gt;&#10;&lt;p&gt;Shakespeare’s language can at times depend on archaic or lost words for a contemporary audience. Readers need to look up some of his strange or historically distant words. Think about how these words contribute to Shakespeare’s meaning.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Twelfth Night, or What You Will, William Shakespeare&#10; &lt;div id="twelfth-night-or-what-you-will-william-shakespeare" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#twelfth-night-or-what-you-will-william-shakespeare" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;So I finally took all that Shakespeare learning and tried to read my first Shakespeare.&lt;br&gt;&#10;I watched the play first and then went on to read it. &lt;a href="https://www.youtube.com/@ShakespeareNetwork" target="_blank" rel="noreferrer"&gt;Shakespeare Network&lt;/a&gt; is an splendid place for lots of really good performances.&lt;br&gt;&#10;The play is lovely. Now I know, why Shakespeare is Shakespeare and why the plays have been copied and adapted over and over, over the millenia.&lt;/p&gt;&#10;&lt;p&gt;I loved the language. I loved the prose and the poetry. I loved the characters. I loved the play. And I’m going to love rereading this again next month.&lt;br&gt;&#10;I read the Arden edition of the play which has copious notes and context, which I haven’t read yet. Going through those and then reading the play again, should be fun.&lt;/p&gt;&#10;&lt;p&gt;A thought that struck me reading this, is that things of art, of beauty, of remembrance come from hard, blue collar work.&lt;br&gt;&#10;The product might be enduring and beautifully wrought, but it’s made in the dirt. By flawed, human people crafting things bit by bit. Shakespeare struck me as such a man.&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;&#10;One example of his earthy vulgarity was Malvolio finding the planted letter and then going: &lt;em&gt;“By my life, this is my lady’s hand. These be her very C’s, her U’s and her T’s, and thus makes she her great P’s.”&lt;/em&gt;&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://www.dancarlin.com/product/hardcore-history-74-mania-for-subjugation-iv/" target="_blank" rel="noreferrer"&gt;Mania for Subjugation IV&lt;/a&gt;, Hardcore History, Episode 74&#10; &lt;div id="mania-for-subjugation-iv-hardcore-history-episode-74" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mania-for-subjugation-iv-hardcore-history-episode-74" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Four very enjoyable hours. Alexander takes Turkey. Darius the Third, escapes.&lt;br&gt;&#10;And that is all I will tell you about this episode!&lt;br&gt;&#10;The history is known. What you have to experience is how Dan brings it alive :)&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Classical Mythology, Elizabeth Vandiver (The Great Courses)&#10; &lt;div id="classical-mythology-elizabeth-vandiver-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#classical-mythology-elizabeth-vandiver-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I found another primer on the classical myths of the Occidental world.&lt;br&gt;&#10;This is the big girl edition of &lt;em&gt;&lt;a href="https://janusworx.com/reading/books-i-read-in-july-2026/#daulaires-book-of-greek-myths-ingri--edgar-parin-daulaire" &gt;D’Aulaires’ Book of Greek Myths&lt;/a&gt;&lt;/em&gt; that I read last month.&lt;br&gt;&#10;Elizabeth Vandiver covers all the big stories, and grounds them in history wherever possible.&lt;br&gt;&#10;I loved her definition of a myth: &lt;em&gt;“traditional stories, a society tells itself that encode or represent the world-view, beliefs, principles, and often fears of that society.”&lt;/em&gt; When seen through this lens, lots of “weird” things about myths suddenly start to make sense. She also makes the point that no culture, thinks of their myth as myth. To them it’s just the daily truth; an account of the way things really are.&lt;br&gt;&#10;This was a wonderful introduction to the old western world. I just wish I can find something like this for India (the subcontinent as a whole) as well!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Dante’s Divine Comedy, William R. Cook &amp;amp; Ronald B. Herzman (The Great Courses)&#10; &lt;div id="dantes-divine-comedy-william-r-cook--ronald-b-herzman-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#dantes-divine-comedy-william-r-cook--ronald-b-herzman-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is the one that I really sank my teeth into, because I have had a copy of the Comedy in my shelves for years and I have been scared to go read it. And then to add to it, I bought myself a handmade coffee table edition of the Comedy (with gorgeous Gustave Dore artwork) in French, earlier this year.&lt;br&gt;&#10;So Cook and Herzman were my guides through Dante’s voyage through the Inferno, Purgatario and Paradiso.&lt;br&gt;&#10;And in a word, &lt;em&gt;&lt;strong&gt;this&lt;/strong&gt;&lt;/em&gt; was what I was looking for all my life.&lt;br&gt;&#10;Something based on the Christian faith I was born into, and the Greek and Latin&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt; myths I grew up with, the philosophers whose quotes were pounded into my head as a kid&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref"&gt;5&lt;/a&gt;&lt;/sup&gt;, all painstakingly crafted with symmetry in a gorgeously fashioned poetic structure.&lt;br&gt;&#10;And going through the course, I realised that Danté “spiced” things up by adding gossip from all over in his day and age. There are popes and politicians and poets and pariahs, saints and sinners, and of course the Devil and God.&lt;br&gt;&#10;I might never get to reading it in all its poetic glory in Italian, but at least I can now read it in English and French. Twice is nice :)&lt;br&gt;&#10;Also someday, I hope to make a pilgrimage to Florence and Ravenna.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;P.S. If you want to watch a Shakespeare play, and you don’t know which one, &lt;a href="https://goodticklebrain.com/home/2016/4/18/which-shakespeare-play-should-i-see-an-illustrated-flowchart" target="_blank" rel="noreferrer"&gt;here’s a handy-dandy flowchart from Good Tickle Brain.&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Books I Read in August, 2026&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;lower down the page&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;read, Detective&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:3"&gt;&#10;&lt;p&gt;Feynman was another. My dad, another.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:4"&gt;&#10;&lt;p&gt;the site is called Janusworx because Janus is the Roman god of liminal spaces. And I loved that idea :)&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:5"&gt;&#10;&lt;p&gt;Aquinas and Augustine.&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Note to Self, Make Time for Notes</title><link>https://janusworx.com/reading/note-to-self-make-time-for-notes/</link><pubDate>Sat, 15 Aug 2026 19:23:51 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/note-to-self-make-time-for-notes/</guid><description>&lt;br&gt;&#10;&#10;&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Me!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/note-to-self-make-time-for-notes.jpg" alt="Photo of my dirty scribbles, attempting to make notes from a book titled, Building Great Sentences" /&gt;&#10; &#10; &lt;figcaption&gt;My scribbles from “Building Great Sentences”&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;Dear future Jason,&lt;br&gt;&#10;Please dedicate time, so that everything we learn can properly put into their appropriate places.&lt;/p&gt;&#10;&lt;p&gt;It comes to bite us in the arse otherwise, when we either can’t find what we want or get exhausted trying to tackle a mountain of illegible scribbles, or just plain abandon stuff. Makes us sad.&lt;/p&gt;&#10;&lt;p&gt;Specially considering that we’re going to tackle several large things now, please give yourself the time and energy and attention it takes to write down what you did. If not evening, then in the morning.&lt;/p&gt;&#10;&lt;p&gt;Considering that our reading now hews ever more towards the oldies, towards things slow and wise, becoming less escapist and more thoughtful, we ought to treat it with the reverence it deserves.&lt;/p&gt;&#10;&lt;p&gt;P.S. It’ll help your back as well!&lt;/p&gt;&#10;&lt;p&gt;P.P.S Stop comparing yourself to your younger friends and colleagues who burn bright. Be deliberate. Be intentional.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Note to Self, Make Time for Notes&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Books I Read in July, 2026</title><link>https://janusworx.com/reading/books-i-read-in-july-2026/</link><pubDate>Fri, 31 Jul 2026 23:45:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/books-i-read-in-july-2026/</guid><description>&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/what-i-read-in-july-2026-shakespeare-cht-tgc.jpg" alt="cover image of a Great Courses course on Audible, called, Shakespeare: Comedies, Histories and Tragedies by Peter Saccio" /&gt;&#10; &#10; &lt;figcaption&gt;via &lt;a href="https://www.audible.in/pd/William-Shakespeare-Comedies-Histories-and-Tragedies-Audiobook/B06XS3Y2LH" target="_blank" rel="noreferrer"&gt;Audible&lt;/a&gt;&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;p&gt;Same situation as last month. Occupied with personal issues. So lots of reading got done.&lt;br&gt;&#10;The themes for the forseeable future though, are&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;to keep going back into the past to find gems that I can escape into,&lt;/li&gt;&#10;&lt;li&gt;and to find literary gems with exquisite prose and literary techniques that I enjoy, no matter new or old.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Death of an Expert Witness, P. D. James&#10; &lt;div id="death-of-an-expert-witness-p-d-james" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#death-of-an-expert-witness-p-d-james" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I somehow stumbled into what I’d call cozy Le Carré.&lt;br&gt;&#10;It’s ostensibly a murder mystery, but it’s as bleak as any Le Carré as I’ve ever read.&lt;br&gt;&#10;Slow, deliberate, pacing and lovely prose. Multiple points of view. Each one pretty detailed. Somehow it’s more a character study than detective fiction. And it’s lovely. The ending was so inhumane to my eyes; to have a life extinguished just like that was monstrous and nihilistic and random all at once. I don’t think I’ll be reading any more of P. D. James. One Le Carré in my life, is enough.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Writing Down the Bones, Natalie Goldberg&#10; &lt;div id="writing-down-the-bones-natalie-goldberg" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#writing-down-the-bones-natalie-goldberg" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This, along with the next few books are my learn to write better section.&lt;br&gt;&#10;Writing down the bones speaks in the same vein as Anne Lamott’s, Bird by Bird.&lt;br&gt;&#10;Start small. Write consistently. The work and the journey, are all that you can controly. Learn to love your craft.&lt;br&gt;&#10;It’s aimed at folks like me, not the pros. Basic writing advice. Delivered in a gentle and encouraging voice.&lt;br&gt;&#10;I loved it.&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;One of the main aims in writing practice is to learn to trust your own mind and body; to grow patient and nonaggressive.&lt;br&gt;&#10;Art lives in the Big World. One poem or story doesn’t matter one way or the other.&lt;br&gt;&#10;It’s the process of writing and life that matters. Too many writers have written great books and gone insane or alcoholic or killed themselves. This process teaches about sanity. We are trying to become sane along with our poems and stories&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Our senses by themselves are dumb. They take in experience, but they need the richness of sifting for a while through our consciousness and through our whole bodies.&lt;br&gt;&#10;I call this “composting.”&lt;br&gt;&#10;Our bodies are garbage heaps: we collect experience, and from the decomposition of the thrown-out eggshells, spinach leaves, coffee grinds, and old steak bones of our minds come nitrogen, heat, and very fertile soil. Out of this fertile soil bloom our poems and stories.&lt;br&gt;&#10;But this does not come all at once. It takes time.&lt;br&gt;&#10;Continue to turn over and over the organic details of your life until some of them fall through the garbage of discursive thoughts to the solid ground of black soil.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://www.youtube.com/watch?v=EAe6hdB4uDM" target="_blank" rel="noreferrer"&gt;How to Read a Book&lt;/a&gt;: The Art of Reading &amp;amp; Dialogues about Books, Mortimer Adler &amp;amp; Charles Van Doren&#10; &lt;div id="how-to-read-a-book-the-art-of-reading--dialogues-about-books-mortimer-adler--charles-van-doren" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-to-read-a-book-the-art-of-reading--dialogues-about-books-mortimer-adler--charles-van-doren" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This was a life changing book for me. It taught me to look at reading differently.&lt;br&gt;&#10;As an art. &lt;em&gt;&lt;strong&gt;And&lt;/strong&gt;&lt;/em&gt; an craft. Before this, I was just an organic reader, and read whatever came my way.&lt;br&gt;&#10;How to Read a Book gave me a greater appreciation for books and for reading, and gave me the tools to tackle “difficult” books.&lt;br&gt;&#10;What I have linked to above though, is a three hour video of the two authors, sitting and having fireside chats. It compresses the ideas in the book into a &lt;a href="https://www.youtube.com/watch?v=EAe6hdB4uDM" target="_blank" rel="noreferrer"&gt;three hour video.&lt;/a&gt;&lt;br&gt;&#10;If a vintage video of two white men, sitting at a desk, smoking cigars and talking about books appeals to you, then this is just the ticket. Even if it does not, and you love reading, I’d urge you to still give it a chance. The ideas are good.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://shop.thegreatcourses.com/analysis-and-critique-how-to-engage-and-write-about-anything" target="_blank" rel="noreferrer"&gt;Analysis and Critique&lt;/a&gt;, Dorsey Armstrong, (The Great Courses)&#10; &lt;div id="analysis-and-critique-dorsey-armstrong-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#analysis-and-critique-dorsey-armstrong-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This course is what I’d describe as a good allrounder.&lt;br&gt;&#10;It deconstructs prose and teaches the basics of reading and writing.&lt;br&gt;&#10;How to read effectively, how to find your own voice, how to &lt;em&gt;develop&lt;/em&gt; your taste and your voice, how to write, knowing your audience … Dorsey Armstrong tackles it all and does it efficently and effectively.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://shop.thegreatcourses.com/becoming-a-great-essayist" target="_blank" rel="noreferrer"&gt;Becoming a Great Essayist&lt;/a&gt;, Jennifer Cognard-Black, (The Great Courses)&#10; &lt;div id="becoming-a-great-essayist-jennifer-cognard-black-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#becoming-a-great-essayist-jennifer-cognard-black-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;A course on writing essays, in the form of lessons that are very thoughtful and … “essayic”.&lt;br&gt;&#10;This one goes deep into writing short non fiction of all shapes and sizes. Memoir, Epistolary, Polemics, funny essays, specialised essays, you name it.&lt;br&gt;&#10;It taught me how to visualise things and write them down. It taught me that I cannot ever hope to write everything about everything; that one is constrained by their innate humanness and by nature at large.&lt;br&gt;&#10;Lots of mental models on writing and observing, all in a tidy, neat, package.&#10;Practicing these lessons, I hope, &lt;em&gt;I hope&lt;/em&gt; … that I’ll be able to write better posts here.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;Sherlock &amp;amp; Co. Podcast&lt;/a&gt;&#10; &lt;div id="sherlock--co-podcast" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sherlock--co-podcast" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;These are my greatest allies in escapism right now! Where would I be without the merry company of Ametxazurra, Watson &amp;amp; Holmes?&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;The Greek Interpreter, Season 45&lt;/strong&gt;&lt;br&gt;&#10;We meet Mycroft! Murder and mayhem ensue! ’Nuff said!&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;The Engineer’s Thumb, Season 46&lt;/strong&gt;&lt;br&gt;&#10;This is their spin on King’s IT, without the supernatural aspect. It’s dark, a woman gets her finger amputated&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;, and it has multiple points of view.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://www.gutenberg.org/ebooks/22544" target="_blank" rel="noreferrer"&gt;A World is Born&lt;/a&gt;, Leigh Brackett&#10; &lt;div id="a-world-is-born-leigh-brackett" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-world-is-born-leigh-brackett" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;A short novella, set on the slave gulags of Mercury! You can &lt;a href="https://www.gutenberg.org/ebooks/22544" target="_blank" rel="noreferrer"&gt;read it on Gutenberg.&lt;/a&gt;&lt;br&gt;&#10;It’s thrilling and formulaic, yes, but it is thrilling and formulaic with great execution. Like Robert Rodriguez and Sin City.&lt;br&gt;&#10;I wanted Leigh Brackett to have the heroine have more agency, but she was writing to the beats of the time. If you like old Clarke and Asimov stuff, you’ll love this.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Pirates of Venus, Edgar Rice Burroughs&#10; &lt;div id="pirates-of-venus-edgar-rice-burroughs" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pirates-of-venus-edgar-rice-burroughs" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I want to read the Mars novels again, but there are too many of them, so I decided to read his Venus novels. There are only three of these. Burroughs, most of you would know from Tarzan. So take an 80s action movie with himbos and transplant them to other worlds, use wildly inappropriate stereotypes&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; and florid yet relentless, driven, prose.&lt;/p&gt;&#10;&lt;p&gt;Carson Napier, shoots for Mars in his spacship, but miscalculates and then is driven towards the sun and crash lands on Venus.&lt;br&gt;&#10;Venus has life! There are humans there as well! And all sorts of strange flora and fauna.&lt;/p&gt;&#10;&lt;p&gt;For all its flaws, it’s great fun! Old sci-fi was quite something! :)&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;D’Aulaires’ Book of Greek Myths, Ingri &amp;amp; Edgar Parin d’Aulaire&#10; &lt;div id="daulaires-book-of-greek-myths-ingri--edgar-parin-daulaire" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#daulaires-book-of-greek-myths-ingri--edgar-parin-daulaire" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Yes, I’ve been swept up in Greek classic myth fever as well! But it owes less to Nolan’s Odyssey and more to the &lt;a href="https://www.youtube.com/@Lady.of.the.Library/videos" target="_blank" rel="noreferrer"&gt;Lady of the Library’s (Cinzia DuBois) videos&lt;/a&gt; on the classics.&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#10;&lt;p&gt;Anyway, I just wanted my head screwed on straight, with respect to the various gods and goddesses, and the titans and the nymphs, before I started with the Illiad.&lt;/p&gt;&#10;&lt;p&gt;This book tells you all! It purports to be a children’s book, but when has that ever stopped me?&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref"&gt;5&lt;/a&gt;&lt;/sup&gt; 😂 It’s a slim book with gorgeous art.&lt;br&gt;&#10;I will always remember the day I read it, as a wonderful memory.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://www.audible.in/pd/Joyces-Ulysses-Audiobook/B06XS51L63" target="_blank" rel="noreferrer"&gt;Joyce’s Ulysses&lt;/a&gt;, James A. W. Hefferman, (The Great Courses)&#10; &lt;div id="joyces-ulysses-james-a-w-hefferman-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#joyces-ulysses-james-a-w-hefferman-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is my preparation for tackling &lt;a href="https://en.wikipedia.org/wiki/Ulysses_%28novel%29" target="_blank" rel="noreferrer"&gt;the modern version of the Odyssey&lt;/a&gt;.&lt;br&gt;&#10;I want to enjoy the first time I read Joyce. I know it will be a head scratcher&lt;sup id="fnref:6"&gt;&lt;a href="#fn:6" class="footnote-ref" role="doc-noteref"&gt;6&lt;/a&gt;&lt;/sup&gt;, but I felt it would be less of a head scratcher if I learnt about the mores and customs and the what’s what of early twentieth century Dublin. I started it on &lt;a href="https://en.wikipedia.org/wiki/Bloomsday" target="_blank" rel="noreferrer"&gt;Bloomsday&lt;/a&gt;, and finished it this month. I want to someday learn to use allegory as well as Joyce did with this book.&lt;/p&gt;&#10;&lt;p&gt;Hefferman was excellent at taking the fear of tackling Joyce, right out of my mind. He was so engaging, I was sad, everytime I had to lay the book down.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://www.audible.in/pd/William-Shakespeare-Comedies-Histories-and-Tragedies-Audiobook/B06XS3Y2LH" target="_blank" rel="noreferrer"&gt;Shakespeare: Comedies, Histories and Tragedies&lt;/a&gt;, Peter Saccio, (The Great Courses)&#10; &lt;div id="shakespeare-comedies-histories-and-tragedies-peter-saccio-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#shakespeare-comedies-histories-and-tragedies-peter-saccio-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;And finally, why not shoot for the stars, when it comes to beautiful language, and tackle Shakespeare? So, Peter Saccio was my guide through slightly less than half of his plays. He tackles all the hits. Julius Caesar, Macbeth, Hamlet, Romeo and Juliet, Othello, they’re all in here.&lt;sup id="fnref:7"&gt;&lt;a href="#fn:7" class="footnote-ref" role="doc-noteref"&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#10;&lt;p&gt;Context, history, the meaning of difficult words, actually acting out portions of the plays … Peter Saccio is a genius. The hours just flew by, when I was listening to his voice. He really made Shakespeare come alive for me.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;P.S. Speaking of something that matches everything I’m looking for, Sara Bareilles’ new video, &lt;a href="https://www.youtube.com/watch?v=YLAaFRQLk28" target="_blank" rel="noreferrer"&gt;Still Crying&lt;/a&gt; is it.&lt;br&gt;&#10;It escapes into an ole timey video, with a slow doo wop melody, with beautiful lines &lt;em&gt;(Teach me how to see again. Touch me with technicolor rain)&lt;/em&gt; and rendered with exquisite craft. Her voice is an instrument!&lt;br&gt;&#10;&lt;a href="https://www.youtube.com/watch?v=YLAaFRQLk28" target="_blank" rel="noreferrer"&gt;It’s a lovely, lovely song.&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Books I Read in July, 2026&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;as opposed to a little boy and his poor arm, in the original&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;which even the 80s movies had&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:3"&gt;&#10;&lt;p&gt;Burroughs, of course is no Verne. There is more fi, than there is sci in his stories :) Burroughs in Venus is also not as good as Burroughs in Mars!&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:4"&gt;&#10;&lt;p&gt;Yes, there might have been a few more well timed videos to go with the movie, but the lady is amazing and has been speaking about the classics for quite a while now.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:5"&gt;&#10;&lt;p&gt;and honestly, it isn’t just for kids. Put simply, I think it works better for the parent, than the child.&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:6"&gt;&#10;&lt;p&gt;Reading Harrow the Ninth has been good prep for a story, that makes no sense&amp;#160;&lt;a href="#fnref:6" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:7"&gt;&#10;&lt;p&gt;I missed Coriolanus, the only Shakespeare play I have ever watched&amp;#160;&lt;a href="#fnref:7" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Smart Playlists in Quod Libet</title><link>https://janusworx.com/work/smart-playlists-in-quod-libet/</link><pubDate>Fri, 31 Jul 2026 17:20:13 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/smart-playlists-in-quod-libet/</guid><description>&lt;br&gt;&#10;&#10;&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Me!&lt;br&gt;&#10;Because, I read the documentation, figure things out and then promptly forget about just what it is, I figured out.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/smart-playlists-quodlibet.jpg" alt="Sepia picture of an old record player" /&gt;&#10; &#10; &lt;figcaption&gt;Photo by &lt;a href="https://unsplash.com/@phosleep?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" target="_blank" rel="noreferrer"&gt;Giovanni Randisi&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/black-and-gray-turntable-ocVCSAUIBLI?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" target="_blank" rel="noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I lost all my big data disk recently, along with all my music and photos (and all my code and documents and books.)&lt;br&gt;&#10;The system called it &lt;em&gt;&lt;strong&gt;Ironwolf.&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;&#10;So I bought a replacement, popped it in and restored the data.&lt;br&gt;&#10;I did not want to call this one Ironwolf, because I feel the name is jinxed. The old drive had always been flaky.&lt;/p&gt;&#10;&lt;p&gt;I wanted something stable, so that even if I did change it later, I could keep the same name to refer to the new one as well. So I have now very imaginatively christened it, &lt;em&gt;&lt;strong&gt;Bigdisk.&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;&#10;That leaves me with the problem of changing hundreds of references from &lt;em&gt;Ironwolf&lt;/em&gt; to &lt;em&gt;Bigdisk&lt;/em&gt; in hundreds of places. Hopefully I have to do it just this once now.&lt;/p&gt;&#10;&lt;p&gt;And that brings us back to music and my beloved Quod Libet music player.&lt;br&gt;&#10;I got my song library back without much trouble, by pointing Quod Libet to the new disk.&lt;br&gt;&#10;But I lost all the playlists which I had painstakingly created.&lt;br&gt;&#10;Granted there were only about twenty something of them, but they’d be such a pain to recreate. And I started bemoaning the lack of iTunes-like smart playlists all over again. If only Quod Libet supported them!&lt;/p&gt;&#10;&lt;p&gt;On a lark, I decided to check the documentation.&lt;br&gt;&#10;Reading it scratched some old memory in my head.&lt;br&gt;&#10;Like I’ve seen this page before. I’ve done this before.&lt;br&gt;&#10;And lo and behold!&lt;br&gt;&#10;Quod Libet &lt;em&gt;&lt;strong&gt;does&lt;/strong&gt;&lt;/em&gt; support smart playlists.&lt;br&gt;&#10;And I had &lt;em&gt;already created three of them,&lt;/em&gt; all those years ago!&lt;br&gt;&#10;I must have forgotten about them and then created manual playlists like a mad man.&lt;br&gt;&#10;Fifteen minutes of work, and I had all my playlists back. The &lt;a href="https://quodlibet.readthedocs.io/en/latest/guide/searching.html#searching" target="_blank" rel="noreferrer"&gt;search page&lt;/a&gt; really helped!&lt;br&gt;&#10;This should keep me from losing my playlists again 🤞&lt;/p&gt;&#10;&lt;p&gt;And now, so that I will not forget again; quoting verbatim from &lt;a href="https://quodlibet.readthedocs.io/en/latest/guide/browse/playlists.html#dynamic-playlists" target="_blank" rel="noreferrer"&gt;Quod Libet’s documentation page&lt;/a&gt; as of 2026-07-31:&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Dynamic Playlists&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;You may wonder whether Quod Libet doesn’t have so-called “dynamic” or “smart” playlists as you may know them from other music players, that is, playlists that automatically update themselves for example to always contain all songs from a certain artist that you have in your library.&lt;/p&gt;&#10;&lt;p&gt;In fact, QL does have this functionality, but it is implemented via the search functionality and hence located in the search browser, not in the playlists browser.&lt;/p&gt;&#10;&lt;p&gt;Creating a dynamic playlist:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Go to the search browser, (either using View or Music -&amp;gt; Browse Library).&lt;/li&gt;&#10;&lt;li&gt;Enter what you want to search for (see &lt;a href="https://quodlibet.readthedocs.io/en/latest/guide/searching.html#searching" target="_blank" rel="noreferrer"&gt;the section about searching&lt;/a&gt; for QL’s powerful search options), for example artist = radiohead. Optionally, click on search to test your search and modify it until you’re happy.&lt;/li&gt;&#10;&lt;li&gt;Click the arrow next to the search box on the right, to open the drop-down menu. You will see a history of some recent searches (if you have searched before), followed by Edit saved values… .” Clicking on this, you will be presented with a dialogue box. The Value field has been pre-filled with your current search. If you wish, enter a name in the Name field (if you leave it blank, QL will name it for you). Click Add.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;You have now created a dynamic playlist, via a saved search. To play, just go to the search browser, click on the arrow to the right of the field and select your saved search from the list.&lt;/p&gt;&#10;&lt;p&gt;If you want to create several of such saved searches at once, you may find it more convenient to edit a text file instead of clicking through the GUI. To do so, you can edit the configuration text file &lt;code&gt;~/.quodlibet/lists/queries.saved&lt;/code&gt;.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post? &lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Smart Playlists in Quod Libet&#10;%22" &gt;feedback at this domain&lt;/a&gt;. &lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Moved From Papermod to Blowfish</title><link>https://janusworx.com/work/moved-from-papermod-to-blowfish/</link><pubDate>Fri, 24 Jul 2026 08:30:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/moved-from-papermod-to-blowfish/</guid><description>&lt;br&gt;&#10;&#10;&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Me.&lt;br&gt;&#10;This is a sorta-kinda living document, a record of my idiosyncratic decisions to first move to, and then bend the Blowfish theme to my needs.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update (2026-07-24) :&lt;/strong&gt;&lt;/em&gt; &lt;a href="https://janusworx.com/work/moved-from-papermod-to-blowfish/#rss" &gt;RSS updates&lt;/a&gt;, &lt;a href="https://janusworx.com/work/moved-from-papermod-to-blowfish/#miscellanea" &gt;Miscellanea&lt;/a&gt;, some editing.&lt;/p&gt;&#10;&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/moved-from-papermod-to-blowfish_logo.png" alt="Blowfish Hugo theme logo, a pufferfish in blue and white" /&gt;&#10; &#10; &lt;figcaption&gt;Blowfish theme logo&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I changed my blog theme from &lt;a href="https://adityatelange.github.io/hugo-PaperMod/" target="_blank" rel="noreferrer"&gt;Papermod&lt;/a&gt; to &lt;a href="https://blowfish.page" target="_blank" rel="noreferrer"&gt;Blowfish&lt;/a&gt;.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Why move to &lt;a href="https://blowfish.page" target="_blank" rel="noreferrer"&gt;Blowfish&lt;/a&gt;?&#10; &lt;div id="why-move-to-blowfish" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-move-to-blowfish" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://adityatelange.github.io/hugo-PaperMod/" target="_blank" rel="noreferrer"&gt;Papermod&lt;/a&gt;, to my mind, is perfection. And I outgrew it. That’s all there is to the why.&lt;br&gt;&#10;Papermod caters to the needs of a blog, and I think my blog is slowly turning into a multi section website.&lt;br&gt;&#10;I want menus, and possibly submenus and Papermod does not do them.&lt;br&gt;&#10;The finished outcome, while not as pretty and uniform as the old Papermod site, makes writing and managing it all, much simpler.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;Blowfish specific things for future Jason to note.&#10; &lt;div id="blowfish-specific-things-for-future-jason-to-note" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#blowfish-specific-things-for-future-jason-to-note" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Big Picture things&#10; &lt;div id="big-picture-things" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#big-picture-things" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The theme does a lot. Most of which I don’t think I need.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The aim is to match what my site looked with Papermod, as closely as possible.&lt;/li&gt;&#10;&lt;li&gt;Everything CSS is in &lt;code&gt;assets/css/custom.css&lt;/code&gt;, rather than multiple CSS files as it was with Papermod.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://janusworx.com/work/you-can-now-search-this-blog/" &gt;Pagefind&lt;/a&gt; powers search on the site. The inbuilt search is disabled in &lt;code&gt;main.toml&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Footnotes use &lt;a href="https://janusworx.com/work/note-to-self-footnotes-using-littlefoot.js/" &gt;Littlefoot&lt;/a&gt;; so they appear as popups, and the need to scroll up and down the page is reduced.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Configuration&#10; &lt;div id="configuration" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#configuration" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Blowfish separates everything out in its config. Lots of &lt;code&gt;toml&lt;/code&gt; files in there.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Base config is in &lt;code&gt;hugo.toml&lt;/code&gt;, theme parameters are in &lt;code&gt;params.toml&lt;/code&gt;, menus in &lt;code&gt;menus.XX.toml&lt;/code&gt; and language + translation related stuff is in &lt;code&gt;languages.XX.toml&lt;/code&gt; &lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;main.toml&lt;/code&gt; sets the theme, the &lt;code&gt;baseURL&lt;/code&gt; and I’ve added a section to limit RSS entries to only the last 50 items.&lt;/li&gt;&#10;&lt;li&gt;The author parameters along with the social link set, as well as the logo, are in &lt;code&gt;languages.XX.toml&lt;/code&gt;. I have duplicated them. One for &lt;code&gt;EN&lt;/code&gt; and one for &lt;code&gt;FR&lt;/code&gt;. The logo that it requires, is in the &lt;code&gt;assets/logo&lt;/code&gt; directory.&lt;/li&gt;&#10;&lt;li&gt;Menus and submenus in &lt;code&gt;menus.XX.toml&lt;/code&gt;. Duplicated. The English menus have English names and the French, French ones.&lt;/li&gt;&#10;&lt;li&gt;Parameters; the header is set to basic. Every other option creates a sticky header of some sort. Lots of other changes. Most are self explanatory. Turned off “Hero” options everywhere, to stick to a plain, basic layout as much as possible.&lt;/li&gt;&#10;&lt;li&gt;My split of the various configuration files for environments (base, development &amp;amp; production) have stayed the same with no changes.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Content Structure&#10; &lt;div id="content-structure" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#content-structure" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Directories and subdirectories for each section.&lt;/li&gt;&#10;&lt;li&gt;Make sure each section has a corresponding &lt;code&gt;index.XX.md&lt;/code&gt; for static pages or &lt;code&gt;_index.XX.md&lt;/code&gt; for list pages. This, I think (but am not sure) has fixed my old, nagging issue of page navigation overflowing. I would keep going next, in the Talks section for example, and when I reached the end, it would show me another entry from some other section. Now the front/back buttons stay restricted to the section they are in.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Archetypes&#10; &lt;div id="archetypes" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#archetypes" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;All the archetypes have been slightly tweaked. They now also include a template line for an image. It uses the theme’s &lt;code&gt;figure&lt;/code&gt; shortcode for images.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;i18n (Internationalisation)&#10; &lt;div id="i18n-internationalisation" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#i18n-internationalisation" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The internationalisation options are easier here. Just defining a term somewhere and then referring to it here just works.&lt;br&gt;&#10;For e.g., I use &lt;code&gt;search_placeholder&lt;/code&gt; as a term in the &lt;code&gt;search&lt;/code&gt; layout and then in &lt;code&gt;i18n/en.yaml&lt;/code&gt; I have, &lt;code&gt;search_placeholder: &amp;quot;Search for something …&amp;quot;&lt;/code&gt; while &lt;code&gt;i18n/fr.yaml&lt;/code&gt; gives the same term a different spin, &lt;code&gt;search_placeholder: &amp;quot;Rechercher des articles …&amp;quot;&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Layout Overrides&#10; &lt;div id="layout-overrides" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#layout-overrides" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&#10;&lt;h4 class="relative group"&gt;RSS&#10; &lt;div id="rss" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#rss" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Have tweaked the RSS layout a teensy bit. My version is in &lt;code&gt;layouts/_default/rss.xml&lt;/code&gt;, which includes the full text of the post, instead of just a summary.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go-html-template" data-lang="go-html-template"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- &amp;lt;description&amp;gt;&lt;/span&gt;&lt;span class="cm"&gt;{{/* .Summary | transform.XMLEscape | safeHTML */}}&lt;/span&gt;&lt;span class="c"&gt;&amp;lt;/description&amp;gt; --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="na"&gt;.Content&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;transform&lt;/span&gt;&lt;span class="na"&gt;.XMLEscape&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;safeHTML&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Have restricted RSS feed generation for posts in the &lt;a href="https://janusworx.com/nm/" &gt;Notes and Miscellanea&lt;/a&gt; section. They won’t appear in the RSS feed unless I want them to. Most of them are just streams of consciousness, to help me get on with my day. Only a few are exceptions, that I want published.&lt;br&gt;&#10;I even disable sitemap generation for those “important to me, but useless for thee” posts with this bit of metadata in each post&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;sitemap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;disable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;So I have then taken advantage of this fact, to exclude these posts from having entries in the RSS feed, by telling Hugo to only look at posts where such a key does not exist; which basically, is everything else.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go-html-template" data-lang="go-html-template"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- &lt;/span&gt;&lt;span class="cm"&gt;{{/* range $pages */}}&lt;/span&gt;&lt;span class="c"&gt; --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;range&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;$pages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Sitemap.Disable&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;ne&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;true&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&#10;&lt;h4 class="relative group"&gt;Search&#10; &lt;div id="search" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#search" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;This pulls in the script and the styles for &lt;a href="https://janusworx.com/work/you-can-now-search-this-blog/" &gt;Pagefind&lt;/a&gt;, which I use for searching the blog. Layout is in &lt;code&gt;layouts/_default/search.html&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;Also note, then when working on search locally, first create an index with pagefind and move it to the static folder because our normal way of working is to render it all in memory.&#10;&lt;ul&gt;&#10;&lt;li&gt;do a &lt;code&gt;hugo build&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;then do &lt;code&gt;pagefind_extended --site public&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;then &lt;code&gt;mv public/pagefind static/pagefind&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;then &lt;code&gt;rm -rf public&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;and then start the hugo server like we normally do&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h4 class="relative group"&gt;Littlefoot&#10; &lt;div id="littlefoot" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#littlefoot" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Footnotes are powered by &lt;a href="https://janusworx.com/work/note-to-self-footnotes-using-littlefoot.js/" &gt;Littlefoot&lt;/a&gt;. Have used &lt;code&gt;layouts/partials/extend-footer.html&lt;/code&gt; to pull in the Littlefoot script and &lt;code&gt;layouts/partials/extend-footer.html&lt;/code&gt; to grab the CSS.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h4 class="relative group"&gt;Redirect&#10; &lt;div id="redirect" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#redirect" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;An old redirect template to redirect from one section to the other is still in place in the &lt;code&gt;layouts/redirect&lt;/code&gt; directory&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h4 class="relative group"&gt;Shortcodes&#10; &lt;div id="shortcodes" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#shortcodes" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Most of the old shortcodes made it over. Retired my image and caption shortcodes in favour of using Blowfish’s version. Also created an &lt;code&gt;hsgallery&lt;/code&gt; shortcode, so that I could continue using my old &lt;a href="https://github.com/mfg92/hugo-shortcode-gallery" target="_blank" rel="noreferrer"&gt;Hugo Shortcode Gallery&lt;/a&gt; to create image galleries. The &lt;code&gt;gallery&lt;/code&gt; shortcode conflicts with Blowfish’s own, which I don’t like and so won’t use.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Static + Tools&#10; &lt;div id="static--tools" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#static--tools" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Fonts and Littlefoot reside in the &lt;code&gt;static&lt;/code&gt; directory, along with all my images.&lt;/li&gt;&#10;&lt;li&gt;There’s also a &lt;code&gt;tools&lt;/code&gt; directory which contains the Pagefind binary. This does not get published obviously. But the Forgejo action uses this to generate an index for the site and then sends the whole thing off to the VM.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Themes&#10; &lt;div id="themes" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#themes" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Contains &lt;a href="https://blowfish.page" target="_blank" rel="noreferrer"&gt;Blowfish&lt;/a&gt; and &lt;a href="https://github.com/mfg92/hugo-shortcode-gallery" target="_blank" rel="noreferrer"&gt;Hugo Shortcode Gallery&lt;/a&gt;, added as &lt;code&gt;git&lt;/code&gt; submodules. I dropped Hugo Admonitions, because Blowfish has them already.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;CSS&#10; &lt;div id="css" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#css" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;All in &lt;code&gt;assets/css/custom.css&lt;/code&gt;&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Import fonts: Valkyrie for the site and Source Code Pro for code.&lt;/li&gt;&#10;&lt;li&gt;Tweaked the Janusworx up left on my site, and changed all the nav bar items to use Valkyrie Caps.&lt;/li&gt;&#10;&lt;li&gt;Dark mode links were not contrasty enough. So changed the colour and added an underline on hover.&lt;/li&gt;&#10;&lt;li&gt;Added a class to the figure tag, so I could center the pics I use.&lt;/li&gt;&#10;&lt;li&gt;Added an indent to the numbered list items on the Annual Book List pages, so that the numbers stay &lt;em&gt;under&lt;/em&gt; each month.&lt;/li&gt;&#10;&lt;li&gt;Style littlefoot footnotes, so that the button is slightly smaller and higher, and the notes use Valkyrie, along with a couple of other tiny tweaks.&lt;/li&gt;&#10;&lt;li&gt;Style the Blowfish box, and the results, on the search page&lt;/li&gt;&#10;&lt;li&gt;Main thing to note. Use &lt;code&gt;!important;&lt;/code&gt; liberally. Changes don’t always cascade down correctly.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Miscellanea&#10; &lt;div id="miscellanea" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#miscellanea" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&#10;&lt;h4 class="relative group"&gt;Go Templates:&#10; &lt;div id="go-templates" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#go-templates" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Use &lt;code&gt;```go-html-template&lt;/code&gt; as the language hint to the code fence to display Go template code correctly. (like I needed to in this post for e.g.)&lt;/li&gt;&#10;&lt;li&gt;If it is pure Go Template stuff with little to no html, another alternative is &lt;code&gt;```go-text-template &lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;I could not just comment out Go template code with HTML comment markers &lt;code&gt;&amp;lt;!-- --&amp;gt;&lt;/code&gt;. The Hugo live server kept crashing on me with weird EOF errors, until I figured this out. The Go template block needs a comment marker &lt;em&gt;inside&lt;/em&gt; the the &lt;code&gt;{{ … }}&lt;/code&gt; section like so, &lt;code&gt;{{/* … */}}&lt;/code&gt;.&lt;br&gt;&#10;E.g. &lt;code&gt;{{/* range $pages */}}&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Moved From Papermod to Blowfish&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;famous last words!&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;XX is the language code. I have EN for English and FR for French. So &lt;code&gt;menus.fr.toml&lt;/code&gt; for e.g.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:3"&gt;&#10;&lt;p&gt;I have modified the notes archetype, so this is always pre filled and set.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Happy Birthday Abbygail</title><link>https://janusworx.com/personal/happy-birthday-abbygail-4/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/personal/happy-birthday-abbygail-4/</guid><description>&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/happy-birthday-abbygail-4.jpg" alt="Picture of a beautiful woman standing under cherry blossoms in Paris, with the Eiffel tower in the background" /&gt;&#10; &#10; &lt;figcaption&gt;Abby, at her second favourite place in the world.&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;Love knows no difference between life and death.&lt;br&gt;&#10;The one who gives you a reason to live is also the one who takes your breath away.&lt;/p&gt;&#10;&lt;p&gt;جینے مرنے میں کچھ فرق نہیں فرق نہیں&lt;br&gt;&#10;اُسی کو دیکھ کر جیتے ہیں جس کافر پہ دم نکلے&lt;/p&gt;&#10;&lt;p&gt;(jeene marne mein kuchh farq nahi farq nahi&lt;br&gt;&#10;usi ko dekh kar jeete hain jis kafir pe dam nikle)&lt;/p&gt;&#10;&lt;p&gt;— &lt;a href="https://www.hindustantimes.com/lifestyle/art-culture/mirza-ghalib-224th-birth-anniversary-10-love-couplets-by-legendary-urdu-poet-101640589255326.html" target="_blank" rel="noreferrer"&gt;Ghalib&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Happy Birthday Abbygail&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>No More Stars</title><link>https://janusworx.com/reading/no-more-stars/</link><pubDate>Fri, 03 Jul 2026 12:35:20 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/no-more-stars/</guid><description>&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/no-more-stars.jpg" alt="Dark Sky with just a crescent moon and no stars" /&gt;&#10; &#10; &lt;figcaption&gt;Photo by &lt;a href="https://unsplash.com/@withluke?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" target="_blank" rel="noreferrer"&gt;Luke Stackpoole&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/closeup-photography-of-crescent-moon-TRXSkmJb40c?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" target="_blank" rel="noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/reading/2021/" &gt;The&lt;/a&gt; &lt;a href="https://janusworx.com/reading/2022/" &gt;old&lt;/a&gt; &lt;a href="https://janusworx.com/reading/2023/" &gt;annual&lt;/a&gt; &lt;a href="https://janusworx.com/reading/2024/" &gt;book&lt;/a&gt; &lt;a href="https://janusworx.com/reading/2025/" &gt;lists&lt;/a&gt; have used stars to mark the books I liked/loved.&lt;/p&gt;&#10;&lt;p&gt;But this year, I have been mostly only listing things that I love, because I’ve gotten into the habit of putting down the things that don’t hold my attention and moving on to something else. There’s a certain joy to throwing a book across the room with a “Nooooooooo! Not reading this one any more … Life’s too short! So there!”&lt;/p&gt;&#10;&lt;p&gt;Now, a title only goes on the list if I’ve finished the book &lt;em&gt;and&lt;/em&gt; I love/like it.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: No More Stars&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Books I Read in June, 2026</title><link>https://janusworx.com/reading/books-i-read-in-june-2026/</link><pubDate>Thu, 02 Jul 2026 09:33:57 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/books-i-read-in-june-2026/</guid><description>&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/what-i-read-in-june-2026-art-of-reading.jpg" alt="pile of old english classic books with a flower on top" /&gt;&#10; &#10; &lt;figcaption&gt;Photo by &lt;a href="https://unsplash.com/@_imd?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" target="_blank" rel="noreferrer"&gt;Zoe&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/a-gold-box-with-blue-flowers-qo6OCDyLR1U?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" target="_blank" rel="noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;p&gt;Got quite a bit of reading done this month, because there was little else to do with the root canal and other things that kept popping up. Reading kept me sane.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;: Spice Wars, The Battle of the East India Companies, Episodes 358-360&#10; &lt;div id="empire-podcast-spice-wars-the-battle-of-the-east-india-companies-episodes-358-360" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#empire-podcast-spice-wars-the-battle-of-the-east-india-companies-episodes-358-360" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;While India had the &lt;a href="https://en.wikipedia.org/wiki/East_India_Company" target="_blank" rel="noreferrer"&gt;EIC&lt;/a&gt; later, Indonesia and its surroundings were ground earlier under the boot of the &lt;a href="https://en.wikipedia.org/wiki/Dutch_East_India_Company" target="_blank" rel="noreferrer"&gt;VOC&lt;/a&gt;. According to &lt;a href="https://en.wikipedia.org/wiki/Dutch_East_India_Company#:~:text=Statistically," target="_blank" rel="noreferrer"&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Statistically, the VOC eclipsed all of its rivals in the Asian trade. Between 1602 and 1796, the VOC sent nearly a million Europeans to work in the Asia trade on 4,785 ships, and netted for their efforts more than 2.5 million tonnes of Asian trade goods and slaves. By contrast, the rest of Europe combined sent 882,412 people from 1500 to 1795. The fleet of the English, later British East India Company, the VOC&amp;rsquo;s nearest competitor, was a distant second to its total traffic, with 2,690 ships and one-fifth the tonnage of goods carried by the VOC. The VOC enjoyed huge profits from its spice monopoly through most of the 17th century.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;The series details the history of the two early corporate raiders and plunderers, and the carnage they wrought in South East Asia and the Indian subcontinent.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, The Fall of the Incas, Episodes 644-649&#10; &lt;div id="the-rest-is-history-the-fall-of-the-incas-episodes-644-649" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-rest-is-history-the-fall-of-the-incas-episodes-644-649" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I don’t know why but I always assumed South America was colonised east to west. This series along with the &lt;a href="https://janusworx.com/reading/books-i-read-in-may-2026/#empire-podcast-simon-bolivar-the-liberator-episodes-354-357" &gt;Simon Bolivar series last month&lt;/a&gt; gives me the idea, that it went from the Caribbean to Mexico and then downwards towards the top of South America and down the west coast. I should read more history about the continent.&lt;br&gt;&#10;This series, somehow, felt even more heart breaking than the Aztecs. The greed and the avarice and the deception and the desperate, brutish, violence of it all, should leave you shaking with rage.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Secret Pilgrim, John le Carré&#10; &lt;div id="the-secret-pilgrim-john-le-carré" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-secret-pilgrim-john-le-carr%c3%a9" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;The probably will be my last le Carré for a while. Too much bleakness, while real life is in a tumult is not good. A collection of stories big and small, with Smiley playing the framing device. This is more about Ned and his adventures in the service. I loved it.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Platform Decay, Martha Wells&#10; &lt;div id="platform-decay-martha-wells" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#platform-decay-martha-wells" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Yay! New Murderbot episode! Bought and read in a day flat. Not as good as the older Murderbots, but even a middling Murderbot book is much better than most other books. Loved it to bits. Plot is the same as every other Murderbot. Murderbot rescues someone. What else is new? Murberbot now has regular “check-ins” with its feelings.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Control, Andy Diggle, Angela Cruickshank, Andrea Mutti &amp;amp; Vladimir Popov&#10; &lt;div id="control-andy-diggle-angela-cruickshank-andrea-mutti--vladimir-popov" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#control-andy-diggle-angela-cruickshank-andrea-mutti--vladimir-popov" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;A modern hardboiled comic … err graphic novel. Cleaned out a lot of my comics. Most of the old ones have not aged well. And most of the new ones are just out there to shock you. Alan Moore really raised the bar. Nothing really comes close. His are the only ones I’ve held on to. V for Vendetta is the only one of two hardback I have. The other is my lovely Sandman series (written by the asshole who shall not be named, and illustrated by Keith, Dringenberg et al.)&lt;br&gt;&#10;Back to Control. This plays like an old potboiler. Detective is framed. Detective has to break the law to get justice and show her innocence. Pretty decent writing. But lovely art.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://www.youtube.com/watch?v=vPX6smnb4ro" target="_blank" rel="noreferrer"&gt;Chung Ju-yung &amp;amp; Hyundai&lt;/a&gt;, Farnam Street Podcast&#10; &lt;div id="chung-ju-yung--hyundai-farnam-street-podcast" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#chung-ju-yung--hyundai-farnam-street-podcast" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is Shane Parrish trying to pull an Acquired like episode. Really, really, really good.&lt;br&gt;&#10;The (hagiographic) story of Chung Ju-Yung’s life and how he built Hyundai and was a major driving force behind South Korea turning into one of the largest economies in the world.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Steve Jobs in Exile, Geoffrey Cain&#10; &lt;div id="steve-jobs-in-exile-geoffrey-cain" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#steve-jobs-in-exile-geoffrey-cain" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;If Becoming Steve Jobs, tracked Jobs and his personal growth through his Next years, this one fleshes out nearly everything Schlender talked about in his book. If you are interested in biographies or Steve Jobs, this is definitely worth a read. I bought it because this is the only era of Jobs’ life and career that I’m interested in. The turnaround of Apple was something started just as I entered the workforce and was something I lived through. The early Apple, I already know lots about. So I’ve always wanted to know what happened in the “lost decade.” Becoming Steve Jobs and Steve Jobs in Exile are a good duology to know everything about that era.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Apple: The First 50 Years, David Pogue&#10; &lt;div id="apple-the-first-50-years-david-pogue" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#apple-the-first-50-years-david-pogue" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;If you want an grand overview of Apple’s history, look no further. Pogue probably leveraged damn near every connection he must have had to write this. It’s a lovely history of the company. Gets a little sloggy in parts, but a good book nonetheless.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://books.pharo.org/" target="_blank" rel="noreferrer"&gt;Learning Object-Oriented Programming, Design and TDD with Pharo&lt;/a&gt;, Stéphane Ducasse &amp;amp; Damien Pollet&#10; &lt;div id="learning-object-oriented-programming-design-and-tdd-with-pharo-stéphane-ducasse--damien-pollet" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#learning-object-oriented-programming-design-and-tdd-with-pharo-st%c3%a9phane-ducasse--damien-pollet" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I just &lt;em&gt;had&lt;/em&gt; to understand what message passing meant, and what Objects were, in the way the original authors intended it. Pharo is a spiritual descendant of Smalltalk, and like Lisp, works in a self contained environment where darn near everything is an object and can be reconfigured. This book gave me a really good base on which to build my further programming knowledge when it comes to Object Oriented Programming. This book—along with others—is freely available on the Pharo website.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Data Structures the Fun Way, Jeremy Kubica&#10; &lt;div id="data-structures-the-fun-way-jeremy-kubica" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#data-structures-the-fun-way-jeremy-kubica" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Reading a No Starch book is always fun. And I read this to get a handle of just what the big picture was on Data Structures. This is a really good book that does that. Examples are clear. Ideas are well explained. And nothing gets too dreary. The coffee analogies are just … barista’s kiss!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Art of Reading, Timothy Spurgin (The Great Courses)&#10; &lt;div id="the-art-of-reading-timothy-spurgin-the-great-courses" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-art-of-reading-timothy-spurgin-the-great-courses" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is the companion to Adler’s, How to Read a Book. Adler is about the craft, while Spurgin is about the art. They both complement each other. Adler comes from how to use your mind to tackle the rectangular piece of dead tree in front of you, in a methodical manner. And once you have that, Spurgin then takes you on a journey of just how large the world of reading is. How to think about narration. And the basics of storytelling. Of plots and plotting. The rise of metafiction. What it means to read closely and carefully. And how even small details all contribute the the work as a whole. It truly has made me want to be, what Spurgin calls, &lt;em&gt;“an artful reader.”&lt;/em&gt;&lt;br&gt;&#10;This series of lectures was something I bought on a whim when I was trying to learn Mathematics via the Great Courses during Covid.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; And it just sat on the shelf, until I realised, I could just convert the videos to audio and then listen to them as I potter about the kitchen in the mornings. Halfway through the book, I also found that the Great Courses were available as audiobooks on Audible as well. So my wishlist is damn near full for the next two years now. 😂 So hopefully there will always be one of these courses I do every month. These are really lovely.&lt;br&gt;&#10;Going through this course, also &lt;em&gt;finally&lt;/em&gt; helped me clarify to myself, just what it is that I consider a really good book. It has to be beautifully written. And the writing has to match the world and the genre. It also makes me realise books like these are few and far between, so now it also makes me a more patient book buyer :)&lt;br&gt;&#10;Some examples: Richard Powers in The Overstory, Ursula K Leguin and Tamsyn Muir with all their works of fantasy, and Peter Watts too with his hard edged, dark, science fiction. And then there’s always the classics, which I am now slowly discovering and enjoying. Wish me luck!&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Books I Read in June, 2026&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&lt;br&gt;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;don’t ask why.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>You Can Now Search this Blog</title><link>https://janusworx.com/work/you-can-now-search-this-blog/</link><pubDate>Tue, 23 Jun 2026 14:24:24 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/you-can-now-search-this-blog/</guid><description>&lt;br&gt;&#10;&#10;&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Me. In case I want to retrace the big idea tomorrow&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/you-can-now-search-this-blog-pagefind.png" alt="Pagefind PNG logo" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;tldr: &lt;a href="https://janusworx.com/search" target="_blank" rel="noreferrer"&gt;https://janusworx.com/search&lt;/a&gt;&#10; &lt;div id="tldr" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tldr" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Being the lazyass that I am, I used to depend on search engine indexes to find something on my own blog. (First google, then DuckDuckGo.)&lt;br&gt;&#10;Kushal, having &lt;a href="https://search.kushaldas.in/" target="_blank" rel="noreferrer"&gt;https://search.kushaldas.in/&lt;/a&gt; has always made me jealous though.&lt;br&gt;&#10;And now, the days of finding something relevant on my blog, on the first search are long gone. Search engines today are a pale shadow of what they used to be. The current load of crap actually makes me long for the days of &lt;a href="https://en.wikipedia.org/wiki/AltaVista" target="_blank" rel="noreferrer"&gt;Altavista&lt;/a&gt;!&lt;/p&gt;&#10;&lt;p&gt;So, I decided to get off my butt, and go do something about it, because everytime I want something, my blog is one of the first places I search.&lt;br&gt;&#10;For e.g. when writing this post, I needed to look up how to add line numbers to my code blocks. &lt;a href="https://janusworx.com/work/line-numbers-in-hugo-codeblocks/" &gt;Search helped me find it&lt;/a&gt; :)&lt;/p&gt;&#10;&lt;p&gt;I went to the &lt;a href="https://gohugo.io/tools/search/" target="_blank" rel="noreferrer"&gt;Hugo website&lt;/a&gt; and decided to implement the first search tool&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; they suggested: &lt;em&gt;&lt;strong&gt;&lt;a href="https://pagefind.app" target="_blank" rel="noreferrer"&gt;Pagefind&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;.&lt;br&gt;&#10;Well, I did that since Pagefind took care of the only thing I’m anal about. It keeps everything local and under my control. If not, I’d have kept looking for something else.&lt;br&gt;&#10;What it (Pagefind) does, is parse the site, Hugo builds for me, and create a search index along with some more goodies (an api for search as well as UI components) in a bundle. The rendered html and the bundle together are now the artifact that my site is made up of.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;The Plan&#10; &lt;div id="the-plan" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-plan" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Get Pagefind and install it into a tools subdirectory in my blog’s directory, so I always have it handy (and the Forgejo action can get its grubby paws on it when it wants to run the publishing workflow)&lt;/li&gt;&#10;&lt;li&gt;Create an entry in my menu, so I can go clicky to a search page.&lt;/li&gt;&#10;&lt;li&gt;Create said search page.&lt;/li&gt;&#10;&lt;li&gt;Make search work.&lt;/li&gt;&#10;&lt;li&gt;Make the page resemble the rest of the blog as much as possible.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Installing it and wiring it all up&#10; &lt;div id="installing-it-and-wiring-it-all-up" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#installing-it-and-wiring-it-all-up" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&#10;&lt;h3 class="relative group"&gt;1. Installation&#10; &lt;div id="1-installation" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-installation" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is the easy part. Pagefind is a single binary, which I shoved into the &lt;code&gt;tools&lt;/code&gt; subdirectory.&lt;/p&gt;&#10;&#10;&lt;h3 class="relative group"&gt;2. Creating an entry for search in the navigation menu&#10; &lt;div id="2-creating-an-entry-for-search-in-the-navigation-menu" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-creating-an-entry-for-search-in-the-navigation-menu" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I edited my Hugo config (mine is called &lt;code&gt;hugo.yaml&lt;/code&gt;), and added &lt;code&gt;search&lt;/code&gt; as a menu item.&lt;br&gt;&#10;More shifted downwards, as did its weight.&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;menus&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;main&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# elided config&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;identifier&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;search&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;search&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;/search&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;identifier&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;more&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;more …&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;/more/&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;70&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;3. Creating the search page.&#10; &lt;div id="3-creating-the-search-page" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3-creating-the-search-page" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This was a two step process.&lt;/p&gt;&#10;&#10;&lt;h4 class="relative group"&gt;a. I needed a placeholder page that I could render some layout (a template) into.&#10; &lt;div id="a-i-needed-a-placeholder-page-that-i-could-render-some-layout-a-template-into" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-i-needed-a-placeholder-page-that-i-could-render-some-layout-a-template-into" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;p&gt;This was &lt;code&gt;search.md&lt;/code&gt; which lives in my &lt;code&gt;content&lt;/code&gt; directory.&#10;This is all it contains …&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;span class="lnt"&gt;3&#10;&lt;/span&gt;&lt;span class="lnt"&gt;4&#10;&lt;/span&gt;&lt;span class="lnt"&gt;5&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Search&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;layout&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;search&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;/search/&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;See the key that says &lt;code&gt;layout&lt;/code&gt; on line 3? This is looking for a layout called &lt;code&gt;search&lt;/code&gt; which is what we now create …&lt;/p&gt;&#10;&#10;&lt;h4 class="relative group"&gt;b. Creating the search layout.&#10; &lt;div id="b-creating-the-search-layout" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#b-creating-the-search-layout" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;p&gt;Papermod already ships with a layout called &lt;code&gt;search&lt;/code&gt;. Which I did not want, because it is meant for use with another local search engine called &lt;a href="https://lunrjs.com/" target="_blank" rel="noreferrer"&gt;lunr.js&lt;/a&gt;.&lt;br&gt;&#10;Hugo can override whatever file your theme provides, by letting you create your own versions of said file in the &lt;code&gt;layouts&lt;/code&gt; directory. Hugo will then look at &lt;em&gt;that&lt;/em&gt; instead of the theme’s file.&lt;br&gt;&#10;Over the years I’ve gotten dangerous enough by using &lt;a href="https://discourse.gohugo.io/t/how-to-override-a-themes-partials/47227" target="_blank" rel="noreferrer"&gt;Hugo’s lovely channel for discourse&lt;/a&gt;. Between that, and &lt;a href="https://gohugo.io/documentation/" target="_blank" rel="noreferrer"&gt;Hugo’s documentation&lt;/a&gt; as well as &lt;a href="https://pagefind.app/" target="_blank" rel="noreferrer"&gt;Pagefind’s own help page&lt;/a&gt;, I rustled up a layout file called &lt;code&gt;search.html&lt;/code&gt; which lives in my &lt;code&gt;layouts/_default&lt;/code&gt; directory. This is what it contains …&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go-html-template" data-lang="go-html-template"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;define&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/pagefind/pagefind-component-ui.css&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;module&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/pagefind/pagefind-component-ui.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;main&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;article&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-single&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;header&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-header&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-title&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="na"&gt;.Title&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;header&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;post-content search-content&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;pagefind-searchbox&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;searchbox&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;&#9;&#9; &lt;span class="na"&gt;autofocus&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;&#9;&#9; &lt;span class="na"&gt;shortcut&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;/&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;&#9;&#9; &lt;span class="na"&gt;placeholder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;&lt;/span&gt;&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;i18n&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;search_placeholder&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;pagefind-searchbox&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;article&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// we’re waiting for the pagefind-searchbox component to be registered &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;customElements&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;whenDefined&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;pagefind-searchbox&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;box&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;pagefind-searchbox&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// shadowRoot input, or a delegatesFocus component may expose it differently&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;tryFocus&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;box&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;shadowRoot&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;input&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;box&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;input&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;&lt;span class="c1"&gt;// search for input boxes in two different ways above&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;&lt;span class="c1"&gt;// and if it finds one focus it below&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;focus&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// component rendered but input not yet in DOM — wait one more frame&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9; &lt;span class="c1"&gt;// wait for the shado&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;requestAnimationFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;tryFocus&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;};&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;// try one more time&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;requestAnimationFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;tryFocus&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;This creates the box on the search page, ready to take input and show results.&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update (2026-06-24):&lt;/strong&gt;&lt;/em&gt; The eagle eyed amongst you, have figured out this code has changed between yesterday and today. I used Pagefind’s documentation to simplify what I had yesterday even more and then got one of the llms to write a script that focuses the input box when the page loads, so that we can just start typing in whatever we need to search.&lt;/p&gt;&#10;&#10;&lt;h3 class="relative group"&gt;4. Make the page resemble the rest of the blog as much as possible.&#10; &lt;div id="4-make-the-page-resemble-the-rest-of-the-blog-as-much-as-possible" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#4-make-the-page-resemble-the-rest-of-the-blog-as-much-as-possible" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Doing things a bit out of order and finishing up with the page first.&lt;br&gt;&#10;Leaned on Pagefind’s docs as well as Chatgpt, Claude and Gemini for this part to create a CSS file, that looks pretty native to my blog. I’ve called it &lt;code&gt;include-pagefind.css&lt;/code&gt; and it lives in the &lt;code&gt;assets/css/extended&lt;/code&gt; subdirectory.&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 2&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 3&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 4&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 5&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 6&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 7&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 8&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 9&#10;&lt;/span&gt;&lt;span class="lnt"&gt;10&#10;&lt;/span&gt;&lt;span class="lnt"&gt;11&#10;&lt;/span&gt;&lt;span class="lnt"&gt;12&#10;&lt;/span&gt;&lt;span class="lnt"&gt;13&#10;&lt;/span&gt;&lt;span class="lnt"&gt;14&#10;&lt;/span&gt;&lt;span class="lnt"&gt;15&#10;&lt;/span&gt;&lt;span class="lnt"&gt;16&#10;&lt;/span&gt;&lt;span class="lnt"&gt;17&#10;&lt;/span&gt;&lt;span class="lnt"&gt;18&#10;&lt;/span&gt;&lt;span class="lnt"&gt;19&#10;&lt;/span&gt;&lt;span class="lnt"&gt;20&#10;&lt;/span&gt;&lt;span class="lnt"&gt;21&#10;&lt;/span&gt;&lt;span class="lnt"&gt;22&#10;&lt;/span&gt;&lt;span class="lnt"&gt;23&#10;&lt;/span&gt;&lt;span class="lnt"&gt;24&#10;&lt;/span&gt;&lt;span class="lnt"&gt;25&#10;&lt;/span&gt;&lt;span class="lnt"&gt;26&#10;&lt;/span&gt;&lt;span class="lnt"&gt;27&#10;&lt;/span&gt;&lt;span class="lnt"&gt;28&#10;&lt;/span&gt;&lt;span class="lnt"&gt;29&#10;&lt;/span&gt;&lt;span class="lnt"&gt;30&#10;&lt;/span&gt;&lt;span class="lnt"&gt;31&#10;&lt;/span&gt;&lt;span class="lnt"&gt;32&#10;&lt;/span&gt;&lt;span class="lnt"&gt;33&#10;&lt;/span&gt;&lt;span class="lnt"&gt;34&#10;&lt;/span&gt;&lt;span class="lnt"&gt;35&#10;&lt;/span&gt;&lt;span class="lnt"&gt;36&#10;&lt;/span&gt;&lt;span class="lnt"&gt;37&#10;&lt;/span&gt;&lt;span class="lnt"&gt;38&#10;&lt;/span&gt;&lt;span class="lnt"&gt;39&#10;&lt;/span&gt;&lt;span class="lnt"&gt;40&#10;&lt;/span&gt;&lt;span class="lnt"&gt;41&#10;&lt;/span&gt;&lt;span class="lnt"&gt;42&#10;&lt;/span&gt;&lt;span class="lnt"&gt;43&#10;&lt;/span&gt;&lt;span class="lnt"&gt;44&#10;&lt;/span&gt;&lt;span class="lnt"&gt;45&#10;&lt;/span&gt;&lt;span class="lnt"&gt;46&#10;&lt;/span&gt;&lt;span class="lnt"&gt;47&#10;&lt;/span&gt;&lt;span class="lnt"&gt;48&#10;&lt;/span&gt;&lt;span class="lnt"&gt;49&#10;&lt;/span&gt;&lt;span class="lnt"&gt;50&#10;&lt;/span&gt;&lt;span class="lnt"&gt;51&#10;&lt;/span&gt;&lt;span class="lnt"&gt;52&#10;&lt;/span&gt;&lt;span class="lnt"&gt;53&#10;&lt;/span&gt;&lt;span class="lnt"&gt;54&#10;&lt;/span&gt;&lt;span class="lnt"&gt;55&#10;&lt;/span&gt;&lt;span class="lnt"&gt;56&#10;&lt;/span&gt;&lt;span class="lnt"&gt;57&#10;&lt;/span&gt;&lt;span class="lnt"&gt;58&#10;&lt;/span&gt;&lt;span class="lnt"&gt;59&#10;&lt;/span&gt;&lt;span class="lnt"&gt;60&#10;&lt;/span&gt;&lt;span class="lnt"&gt;61&#10;&lt;/span&gt;&lt;span class="lnt"&gt;62&#10;&lt;/span&gt;&lt;span class="lnt"&gt;63&#10;&lt;/span&gt;&lt;span class="lnt"&gt;64&#10;&lt;/span&gt;&lt;span class="lnt"&gt;65&#10;&lt;/span&gt;&lt;span class="lnt"&gt;66&#10;&lt;/span&gt;&lt;span class="lnt"&gt;67&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#9;&lt;span class="c"&gt;/* you don’t really need to use `pf-font`, &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&#9;if you don’t have a custom font.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&#9;for some reason, it wouldn’t render the font I specified here, &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&#9;so I forced it with `!important` */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-font&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;your-font-name-here&lt;/span&gt; &lt;span class="cp"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-text&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;primary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-text-secondary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;secondary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-text-muted&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;secondary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;border&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-border-focus&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;primary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-hover&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;tertiary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-mark&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;primary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-input-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;48&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-input-font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-result-title-font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-result-excerpt-font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.90&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-shadow-sm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-shadow-md&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--pf-shadow-lg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;search-content&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;pagefind-input&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;pagefind-summary&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;pagefind-results&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;pagefind-results&lt;/span&gt; &lt;span class="nt"&gt;a&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;text-decoration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;pagefind-results&lt;/span&gt; &lt;span class="nt"&gt;article&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;border&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="kt"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;pagefind-results&lt;/span&gt; &lt;span class="nt"&gt;article&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;tertiary&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;5. Make Search Work.&#10; &lt;div id="5-make-search-work" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#5-make-search-work" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is a 3 step process&lt;/p&gt;&#10;&#10;&lt;h4 class="relative group"&gt;a. Build the blog.&#10; &lt;div id="a-build-the-blog" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-build-the-blog" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;p&gt;Easy peasy. &lt;code&gt;hugo build&lt;/code&gt; and we have our blog rendered in the &lt;code&gt;public&lt;/code&gt; subdirectory.&lt;/p&gt;&#10;&#10;&lt;h4 class="relative group"&gt;b. Get Pagefind to create its index in the build directory.&#10; &lt;div id="b-get-pagefind-to-create-its-index-in-the-build-directory" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#b-get-pagefind-to-create-its-index-in-the-build-directory" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;p&gt;This is easy as well.&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./tools/pagefind --site public&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;and Pagefind creates a &lt;code&gt;pagefind&lt;/code&gt; subdirectory in our &lt;code&gt;public&lt;/code&gt; directory where it creates its search index after reading all the html.&lt;br&gt;&#10;All I need to do now, is just …&lt;/p&gt;&#10;&#10;&lt;h4 class="relative group"&gt;c. Publish!&#10; &lt;div id="c-publish" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#c-publish" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;p&gt;Ok, I lied a teensy bit. I don’t have to do &lt;em&gt;steps a.&lt;/em&gt; and &lt;em&gt;b.&lt;/em&gt; because they are part of &lt;em&gt;step c.&lt;/em&gt;&lt;br&gt;&#10;The Forgejo action checks out my committed files, pulls in Hugo from a private package repo, builds the site, then runs Pagefind to generate the index&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; and finally uses rysnc to sync it with the VM. Here’s the relevant section of the action.&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# lots of stuff elided …&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;jobs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;build-and-deploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;runs-on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;my-big-box&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;HUGO_VERSION&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ vars.HUGO_VERSION }}&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# lots of snipped stuff …&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Checkout the website repo&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;actions/checkout@v4&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;submodules&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;recursive&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;fetch-depth&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build website with Hugo&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;HUGO_ENVIRONMENT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;production&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; hugo \&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; --gc \&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; --minify&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build the Pagefind search index&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; tools/pagefind \&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; --site public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&lt;p&gt;I thought the indexing would take a lot of time and was hesitant to use it as part of a regularly run Forgejo action workflow, but several runs show that the index generation only increases the time by at a couple of seconds at most. This is amazing!&lt;/p&gt;&#10;&lt;p&gt;Now I can search my own words, on my own blog, to my hearts content!&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: You Can Now Search this Blog&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;as on 2026-06-23&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;this is why i chucked it into the tools subdirectory and committed it.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Books I Read in May, 2026</title><link>https://janusworx.com/reading/books-i-read-in-may-2026/</link><pubDate>Tue, 09 Jun 2026 15:17:30 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/books-i-read-in-may-2026/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/what-i-read-in-may-2026-simon-bolivar.jpg" alt="" /&gt;&#10; &#10; &lt;figcaption&gt;courtesy, Encyclopædia Britannica&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;p&gt;&lt;br&gt;&#10;&#10;Didn’t read as much as I wanted to. Too much, as they say, of life happened! Been reading in the small snatches of time that I get.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;Sherlock &amp;amp; Co. Podcast&lt;/a&gt;&#10; &lt;div id="sherlock--co-podcast" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sherlock--co-podcast" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;The Three Garridebs, Season 43&lt;/strong&gt;&lt;br&gt;&#10;Mariana (Mrs. Hudson) Ametxazurra (the amazing &lt;a href="https://www.martadasilva.com/" target="_blank" rel="noreferrer"&gt;Marta da Silva&lt;/a&gt;), helms this one.&lt;br&gt;&#10;Because John is, uhm, out of the picture somehow.&lt;br&gt;&#10;This one is not filler (even though I love their fluffy episodes very much, as well) and is a bit dark.&lt;br&gt;&#10;Addictive listening as usual.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;The Empty House, Season 44&lt;/strong&gt;&lt;br&gt;&#10;The House across No. 22B Baker Street is empty!&lt;br&gt;&#10;Is the spider still around?&lt;br&gt;&#10;Once again Mariana untangles the pieces. Also Sherlock creates a pillow fort!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://www.acquired.fm/episodes/vanguard" target="_blank" rel="noreferrer"&gt;Vanguard&lt;/a&gt;, Spring 2026, Episode 3, Acquired Podcast&#10; &lt;div id="vanguard-spring-2026-episode-3-acquired-podcast" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#vanguard-spring-2026-episode-3-acquired-podcast" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;St. Jack, needs no introduction to you folks if you invest in the markets (specially if you are a die hard Boglehead).&lt;br&gt;&#10;Jack Bogle took a very blue collar, common sense, attitude to investing.&lt;br&gt;&#10;And then, he brought it to the masses.&lt;br&gt;&#10;And &lt;em&gt;then,&lt;/em&gt; he spent the rest of his life, preaching it.&lt;br&gt;&#10;If you think index funds are the bees knees, you have Jack to thank!&lt;br&gt;&#10;The podcast goes through his life and reveals just &lt;em&gt;why&lt;/em&gt; Jack had to do things, the way he did them.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Smiley’s People, John le Carré&#10; &lt;div id="smileys-people-john-le-carré" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#smileys-people-john-le-carr%c3%a9" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;George spends &lt;em&gt;twenty years&lt;/em&gt; obsessing over a lighter and then when he actually gets it back, does not want it.&lt;br&gt;&#10;Well, that’s one way of spoiling the novel 😂&lt;br&gt;&#10;To me, it sort of put an end to one era of le Carré’s novels.&lt;br&gt;&#10;We end at another border crossing in Berlin and Smiley gets some form of closure.&lt;br&gt;&#10;If you enjoy bleak, nihilistic, yet well crafted novels, le Carré’s your man.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;: Simon Bolivar: the Liberator, Episodes 354-357&#10; &lt;div id="empire-podcast-simon-bolivar-the-liberator-episodes-354-357" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#empire-podcast-simon-bolivar-the-liberator-episodes-354-357" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;“Freedom is often the first casualty of war.”&lt;br&gt;&#10;— Gabriel García Márquez, The General in His Labyrinth&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;A rapid run, through the complex life of the man who led &lt;em&gt;&lt;strong&gt;six&lt;/strong&gt;&lt;/em&gt; countries to freedom! (ergo, El Libertador)&lt;br&gt;&#10;He wanted freedom, but mostly for his class, not for the underclass.&lt;br&gt;&#10;And yet to gain that freedom, he ranged so wide and rode thousands of miles on horseback, leading folks to call him Iron Ass!&lt;br&gt;&#10;He fought Spain and he fought the jungle and he fought tuberculosis.&lt;br&gt;&#10;He jailed and killed his own supporters out of paranoia.&lt;br&gt;&#10;He finally had to be stripped of power and yet remains one of South America’s biggest heroes.&lt;br&gt;&#10;Well worth a listen.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Books I Read in May, 2026&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;</description></item><item><title>Matthias Endler Built His Own Newsletter Setup</title><link>https://janusworx.com/work/matthias-endler-built-his-own-newsletter-setup/</link><pubDate>Fri, 22 May 2026 16:13:29 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/matthias-endler-built-his-own-newsletter-setup/</guid><description>&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Mostly me (confirmation bias. slight gloating 😂)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/matthias-endler-newsletter-setup-rust-in-production.jpg" alt="Rust in Production podcast logo" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I’m writing this post today, because I monkeyed with my &lt;a href="https://janusworx.com/work/found-mjml/" &gt;newsletter template&lt;/a&gt;. &lt;em&gt;&lt;strong&gt;Again!&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;&#10;So this post is just to make sure there are no more hiccoughs :)&lt;/p&gt;&#10;&lt;p&gt;Matthias Endler, he of the fantastic &lt;a href="https://corrode.dev/podcast/s06e04-rust4linux/" target="_blank" rel="noreferrer"&gt;Rust in Production podcast&lt;/a&gt; (and the Corrode rust consultancy) just published &lt;a href="https://endler.dev/2026/newsletter-setup/" target="_blank" rel="noreferrer"&gt;a post on his newsletter setup&lt;/a&gt; and how he went about building it.&lt;/p&gt;&#10;&lt;p&gt;His reasons (and his story) are really similar to mine.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;&#10;Tinyletter =&amp;gt; Mailchimp =&amp;gt;&lt;br&gt;&#10;Wanting to have a semblance of control after being burnt =&amp;gt; Self hosting!&lt;/p&gt;&#10;&lt;p&gt;He settled on &lt;a href="https://www.useplunk.com/" target="_blank" rel="noreferrer"&gt;Plunk&lt;/a&gt;, while I use my &lt;a href="https://sendy.co" target="_blank" rel="noreferrer"&gt;Sendy&lt;/a&gt; + Amazon SES combo. (they look pretty similar to me)&lt;br&gt;&#10;Newsletters live in a git controlled repo. Same.&lt;br&gt;&#10;Write in my favourite editor. Ditto.&lt;br&gt;&#10;One markdown file per letter. Same pinch!&lt;/p&gt;&#10;&lt;p&gt;The only difference, is his workflow is controlled by a fancy cli, while I depend on ye old copy &amp;amp; paste.&lt;/p&gt;&#10;&lt;p&gt;Having someone with a visible presence do this, hopefully serves as an inspiration to others.&lt;br&gt;&#10;I just wish more of my nerd kinfolk do this!&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Matthias Endler Built His Own Newsletter Setup&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;except for his audience ofcourse! Which is orders of magnitude larger than my dinky little circle of friends&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Change!</title><link>https://janusworx.com/personal/change-sara-bareilles/</link><pubDate>Fri, 22 May 2026 11:28:30 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/personal/change-sara-bareilles/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/change-sara-bareilles-DSCF2217.jpg" alt="Close up of cherry blossoms on a tree in Paris" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;&lt;em&gt;Distill a whole year down into a day&lt;/em&gt;&lt;br&gt;&#10;&lt;em&gt;Act like we all start over with a pristine slate&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;To get yourself a new life you&amp;rsquo;ve got to give the other one away&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;And I&amp;rsquo;m starting to believe, in the power of a name&lt;/em&gt;&lt;br&gt;&#10;&lt;em&gt;Cause it can&amp;rsquo;t be a mistake,&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;if I just call it change!&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;— &lt;a href="https://www.youtube.com/watch?v=Gv972gdiu58" target="_blank" rel="noreferrer"&gt;Sara Bareilles, December&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Change!&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Found MJML</title><link>https://janusworx.com/work/found-mjml/</link><pubDate>Thu, 21 May 2026 10:51:49 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/found-mjml/</guid><description>&lt;br&gt;&#10;&#10;&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Mostly me.&lt;br&gt;&#10;Also hopefully, other folks struggling with, or looking for a way to create email newsletters.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/mjml-logo.svg" alt="MJML SVG logo" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I recently upgraded &lt;a href="https://sendy.co/" target="_blank" rel="noreferrer"&gt;Sendy&lt;/a&gt;, the software, I’m using to create and send my newsletters.&lt;br&gt;&#10;(I don’t need the new shiny, or the extra features, but also those folks have been pretty good as far as pricing and functionality go, and I want them to stick around for a long time.)&lt;/p&gt;&#10;&lt;p&gt;The new release, in addition to a refreshed interface, now features a block WYSIWYG editor. And my old template (based on the venerable &lt;a href="https://github.com/internations/antwort" target="_blank" rel="noreferrer"&gt;Antwort&lt;/a&gt;) that I used to compose my emails broke. What used to be a predictable way of writing emails, now turned into something filled with papercuts. Everything would look alright, but everything was ever so subtly out of place.&lt;/p&gt;&#10;&lt;p&gt;So I went looking for something that I could live with long term once again.&lt;br&gt;&#10;Since all of this is a personal hobby and I only use all of this to send mail to a handful of my friends, most of the paid options go right out of the window, because. And because I am a control freak, hosted options aren’t a thing for me either.&lt;/p&gt;&#10;&lt;p&gt;Enter &lt;a href="https://mjml.io/" target="_blank" rel="noreferrer"&gt;MJML&lt;/a&gt;.&lt;br&gt;&#10;From their website:&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;MJML was created in early 2015 by a team of Mailjet developers while they were working on Passport, Mailjet’s drag-and-drop interface for creating responsive emails. Having been knee deep in email for five years, the Mailjet team saw two things: a) email HTML is antiquated and not developer friendly b) a growing trend of email being viewed on mobile and tablet and the number of screens is only increasing. This means that finding a way to code responsive email easily and quickly is pretty important. The team started by creating a new markup language that would abstract the complexity of responsive HTML and automatically generate it. And that’s how MJML was born.&lt;/p&gt;&#10;&lt;p&gt;After learning so much from our users, we wanted to give back to the community by sharing this open-source framework to make responsive email easier and redefine the coding experience once and for all.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;It works in the same vein as &lt;a href="https://revealjs.com/" target="_blank" rel="noreferrer"&gt;revealjs&lt;/a&gt;.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;&#10;You install the tool and use their semantic markup to write a document.&lt;br&gt;&#10;The MJML cli tool, in this case, then renders it to email worthy HTML.&lt;br&gt;&#10;The &lt;a href="https://documentation.mjml.io/#mjml-guide" target="_blank" rel="noreferrer"&gt;markup&lt;/a&gt; is simple and well thought out. Writing it is a breeze.&lt;br&gt;&#10;I used Timo Reymann’s &lt;a href="https://plugins.jetbrains.com/plugin/16418-mjml-support" target="_blank" rel="noreferrer"&gt;MJML plugin&lt;/a&gt; for Jetbrains editors to help me write, which makes things even easier, since it let’s me preview my work live.&lt;/p&gt;&#10;&lt;p&gt;I took one of their pretty templates, &lt;a href="https://mjml.io/try-it-live/templates/recast" target="_blank" rel="noreferrer"&gt;Recast&lt;/a&gt; and then stripped it down to meet my needs and match it as closely as I could to my old customised Antwort template.&lt;/p&gt;&#10;&lt;p&gt;Now all I do, is write, copy the HTML into the sendy editor and send. Life is good!&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Found MJML&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;Or does revealjs work in the same vein as mjml?&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Books I Read in April, 2026</title><link>https://janusworx.com/reading/books-i-read-in-april-2026/</link><pubDate>Sat, 16 May 2026 05:30:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/books-i-read-in-april-2026/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure class="mjb-img-center"&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/dolly-parton-songteller.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;br&gt;&#10;&#10;&lt;p&gt;April was as busy as March, with hardly any time, between returning from Kubecon, catching up with everything and then once again getting ready to visit a client in early May. Did get quite a bit reading done though.&lt;br&gt;&#10;As you can see above, I was enchanted by the magic of Dolly Parton all this month!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 391-400&#10; &lt;div id="deep-questions-cal-newport-episodes-391-400" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#deep-questions-cal-newport-episodes-391-400" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I’m going to stop counting these episodes as books now.&lt;br&gt;&#10;Cal’s getting more prolific and repetitive.&lt;br&gt;&#10;Neither of which are bad things at all.&lt;br&gt;&#10;But this means that I now listen to him, like I listen to my old songs or Ziglar tapes.&lt;br&gt;&#10;Just so that I can hear their voices and remember their principles.&lt;br&gt;&#10;400 seems to be a lovely place to stop counting.&lt;br&gt;&#10;His advice and work on the intersection of life and craft, is invaluable to me, and you can be sure, I’ll be listening as long as he is sharing his thoughts.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Lincoln the Unknown, Dale Carnegie&#10; &lt;div id="lincoln-the-unknown-dale-carnegie" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#lincoln-the-unknown-dale-carnegie" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is a book I read when I was a child and when I came across it in a flea market, I picked it up out of sheer delight and nostalgia.&lt;br&gt;&#10;It presents Lincoln as a moral guide with plenty of stories of his life, his family and his work. No critical or academic study here. It has quite a few facts and a great deal of hagiographic admiration as well.&lt;br&gt;&#10;I absolutely loved it!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;&#10; &lt;div id="empire-podcast" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#empire-podcast" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Indian Uprising 1857, Episodes 322-329&lt;/strong&gt;&lt;br&gt;&#10;The First War of Independence, the Indian Uprising of 1857, the Great Sepoy Mutiny, it goes by so many names.&lt;br&gt;&#10;This series goes into quite a bit of depth on the events upto and during the war for independence and presents many, many points of view.&lt;br&gt;&#10;This was a wonderful listen.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;The Bronze Age Apocalypse, Episodes 332-337&lt;/strong&gt;&lt;br&gt;&#10;A small series on a old civilisation extant in the Levant and its relationships with other places in the Mediterranean.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;The Middle East: From the Arab Cold War to the Israeli Invasion of Lebanon, Episodes 346-353&lt;/strong&gt;&lt;br&gt;&#10;If you want to know all the context for what’s happening in Iran now, go listen to this series. Very insightful.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Beryl Coronet, The Stockbroker’s Clerk, The Six Napoleons, &lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;Sherlock &amp;amp; Co. Podcast&lt;/a&gt;, Season 40, 41 &amp;amp; 42&#10; &lt;div id="the-beryl-coronet-the-stockbrokers-clerk-the-six-napoleons-sherlock--co-podcast-season-40-41--42" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-beryl-coronet-the-stockbrokers-clerk-the-six-napoleons-sherlock--co-podcast-season-40-41--42" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;A series of tiny adventures stringing along a much larger arc. Who is the Spider? Is it Moriarty lurking in the shadows? It’s getting thrillier and thrillier!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Literature Ideas, You Really Need to Know, John Sutherland&#10; &lt;div id="literature-ideas-you-really-need-to-know-john-sutherland" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#literature-ideas-you-really-need-to-know-john-sutherland" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Lots of concepts very simply explained and thought through. Everything I found here, will help me be more introspective about all future (good) books I read. I learned quite a lot. Here’s a bit about classics …&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;‘Classic’ – a debased term?&lt;/strong&gt;&lt;/em&gt; Eliot’s question (what is a classic?) remains tantalizing; and the abuses of the term he joked about are still everywhere. ‘Classic comedy’ is more likely to mean Carry On Up the Khyber than Aristophanes. Football matches, rock-and-roll and tea cakes are all given honorific ‘classic’ status (cigars are also labelled ‘Hamlet’ – but that, like nags called Dante, is something else).&lt;/p&gt;&#10;&lt;p&gt;Overused and abused as the term is, literature still needs it. Properly applied, the idea of ‘classic’ points towards something that we hold to be centrally important – although defining that something is tricky.&lt;/p&gt;&#10;&lt;p&gt;Eliot saw classics as fruit of the society in which they happened. ‘A classic,’ he told his Virgilian audience, ‘can only occur when a civilization is mature; when a language and a literature are mature. And it must be the work of a mature mind.’ He doubtless made this lofty statement in an auditorium where the blackout blinds were pulled down, as part of the protective measures against German bombers aiming to blast the assembled classicists to pieces. Whatever epithet one chose in 1944&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; for the civilization that had produced Virgil (currently under the heel of Mussolini), ‘mature’ would not be it.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The classic and empire:&lt;/strong&gt;&lt;/em&gt; [Frank] Kermode was sharper in his sociology than Eliot. It was not a civilization but an empire – with all the temporal (and, if necessary, brutal) cultural power imperialism implies – that supplied the foundation for the classic. If a language is, as linguists like to joke, a dialect with an army behind it, then classic literature is writing with an imperium behind it. This is easily enough tested with reference to the European Union, which currently has some 27 member countries.&#10;Which of those countries can be said to have classic literatures, as opposed to some impressive works of literature? The answer would be those which – before the twentieth-century winds of change blew – had great empires (Britain, France, Spain, Italy, Portugal, Germany, Holland, Austria, Belgium). Does Luxembourg have its classics? Or Moldova? Where are their Shakespeares, Racines or Cervantes?&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;In a brilliant critical move Kermode argues that it is the very pliability of the classic that is its essence. It ‘accommodates’ – makes itself at home – wherever and whenever it finds itself. It is the classic’s ability to be both antique, yet modern, its infinite – but never anarchic – plurality that defines it. A work like King Lear, Kermode argues, ‘subsists in change, by being patient of interpretation’. Every generation will read, or understand, King Lear differently insofar as every generation is different from its predecessors. No final version, or interpretation, of the play can be achieved. But every generation will find its own satisfactory interpretation. And the classic is tolerant of each and every different explanation of itself.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;The condensed idea&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;&#10;The classic is the gold standard of literature – but all that glistens is not classic&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Songteller: My Life in Lyrics, Dolly Parton&#10; &lt;div id="songteller-my-life-in-lyrics-dolly-parton" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#songteller-my-life-in-lyrics-dolly-parton" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I listened to this on audio first, because I wanted to hear Dolly sing, just as I wanted to hear Sara Bareilles tell of her songs in her book and Judi Dench speak of her perfomances in hers. And then I went and bought it as an ebook as well, because I wanted to see all the pictures as well :)&lt;br&gt;&#10;My childhood was Dolly Parton (and Kenny Rogers and Willie Nelson and other country artists). And I probably listened to her as she hit her stride as an extremely successful solo artist. Because I had no idea of her variety show on television and all her work with Porter Wagoner for close to two decades before her solo work, seventies onwards.&lt;br&gt;&#10;I loved hearing her voice, humming along and laughing along and telling stories of her dad and her husband and all her big family and the struggles she faced and the way she handled fame, showcased in short, rapid vignettes. If you love her music, this is a must listen. Dolly’s amazing!&lt;/p&gt;&#10;&lt;p&gt;Dolly, talking about her song, “The Sacrifice” as well as reminiscing on her journey.&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;This is a song that I wrote that just came out of my heart and soul, my gut. Sometimes you wonder if you’ve made all the wise choices. Would you do things differently if you could?&lt;/p&gt;&#10;&lt;p&gt;People say, “How come all of this success happened to you?” I say, “Because I sacrificed whatever I had to in order to get it.” You can’t veer off into this and that. You can’t lose your momentum if you’ve got a dream and a focus. I always felt like God was directing me. So I’m not going to let up until He says, “Stop.” I just keep going, like a horse with blinders on.&lt;/p&gt;&#10;&lt;p&gt;I wrote “The Sacrifice” because somebody asked me that question. Well, the answer is, I gave up time with family and friends. I gave up vacations for work. I “carried my pail.” Like the song says, “You don’t drink the water, if you don’t drill the well.” One of my favorite lines I ever wrote is, “I was gonna be rich, no matter how much it cost / And I was going to win, no matter how much I lost.”&lt;/p&gt;&#10;&lt;p&gt;It’s only in the wee hours, when you’re fading off to sleep, that you ask, “Is it worth the sacrifice?” I think I probably wouldn’t have done anything different, because I believe that this is what I was supposed to do. Who am I not to sacrifice to make things better for the people here that I am responsible for?&lt;/p&gt;&#10;&lt;p&gt;Yes, I would do it all again. No doubt about it.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Books I Read in April, 2026&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;Eliot was addressing the Virgil Society on the subject of classics in 1944&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;This text closes the audiobook. But I’ve chosen the paraphrased text from the ebook though. Dolly’s actual ramble while lovely to listen to, meanders somewhat before it gets to her very emphatic No doubt about it :)&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Kubernetes &amp; CNCF Awards</title><link>https://janusworx.com/work/kubernetes-cncf-awards/</link><pubDate>Mon, 20 Apr 2026 11:15:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/kubernetes-cncf-awards/</guid><description>&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Mostly me.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&#10;&#10;&lt;figure&gt;&#10;&lt;a href="https://janusworx.com/images/2026/cncf-k8s-awards.jpg"&gt;&lt;img style="display:flex;justify-content:center;" src="https://janusworx.com/images/2026/cncf-k8s-awards-s.jpg" alt="Diptych of two award photos"&gt;&lt;/a&gt;&#10;&lt;/figure&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;Click the image to embiggen!&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;This is a note of gratitude.&lt;br&gt;&#10;A tad late. But better late than never :)&lt;/p&gt;&#10;&lt;p&gt;I decided to get involved with the Kubernetes community on a lark about four years ago.&lt;br&gt;&#10;I wanted to learn about containers and orchestration, and I thought learning via joining the upstream community was it.&lt;/p&gt;&#10;&lt;p&gt;I was wrong 😂&lt;br&gt;&#10;Life got in the way and I only finally got around to learning it all last December.&lt;/p&gt;&#10;&lt;p&gt;But the community was interesting and helpful.&lt;br&gt;&#10;I got to learn the terms of art, by osmosis.&lt;br&gt;&#10;I got to see how a large community functions, how a large software project was run.&lt;/p&gt;&#10;&lt;p&gt;And in time, I got to pitch in and help a bit as well.&lt;br&gt;&#10;I pitched in with the Release Team for v1.25 to gain a sense of how a release comes about.&lt;br&gt;&#10;And a couple of years ago, I saw my good friend (and frequent collaborator) Priyanka buckling a bit under the weight of the work, in the &lt;a href="https://psaggu.com/about.html" target="_blank" rel="noreferrer"&gt;various roles&lt;/a&gt; she had assumed to help out in the community. I asked her if there was anyway I could help her, that did &lt;em&gt;not&lt;/em&gt; involve meetings or talking to people 😂&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&#10;And she asked me if I could pitch in and help with helping folks gain membership into various Kubernetes orgs on Github.&lt;/p&gt;&#10;&lt;p&gt;I ayed.&lt;/p&gt;&#10;&lt;p&gt;She taught me the ropes. And I became a &lt;a href="https://github.com/kubernetes/community/tree/main/github-management#new-membership-coordinator" target="_blank" rel="noreferrer"&gt;Github New Membership Coordinator&lt;/a&gt; for the Kubernetes project.&lt;/p&gt;&#10;&lt;p&gt;And all of this history to say, I’m grateful to Priyanka for this serendipitous opportunity.&lt;br&gt;&#10;I fell in love with the work.&lt;br&gt;&#10;For someone who has had to face a lot of cynicism in his real world day job, it’s been a lot of joy, welcoming folks into the project. It’s one of the happier parts of my day, when I sit at the desk to process the requests that come in.&lt;/p&gt;&#10;&lt;p&gt;I’m also grateful to the Kubernetes as well as the overarching CNCF communities for recognising what I do, for two successive years.&lt;br&gt;&#10;I was the recipient of the &lt;a href="https://www.kubernetes.dev/community/awards/2024/#:~:text=Jason%20Braganza" target="_blank" rel="noreferrer"&gt;Kubernetes Contributor award in 2024&lt;/a&gt; and the &lt;a href="https://www.cncf.io/announcements/2025/11/12/cncf-honors-innovators-and-defenders-with-2025-community-awards-at-kubecon-cloudnativecon-north-america/#:~:text=Mario%20Jason%20Braganza" target="_blank" rel="noreferrer"&gt;CNCF’s, Chop Wood Carry Water award in 2025&lt;/a&gt;.&lt;br&gt;&#10;I’m both, honoured and humbled.&lt;br&gt;&#10;I hope to contribute to this community, a while longer :)&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Kubernetes &amp;amp; CNCF Awards&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;I was well and truly burned out then&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Trying a Different Tack to Writing Work Posts</title><link>https://janusworx.com/work/trying-a-different-tack-to-writing-work-posts/</link><pubDate>Mon, 20 Apr 2026 11:00:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/trying-a-different-tack-to-writing-work-posts/</guid><description>&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;My tiny audience, who reads these posts via email or rss&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&#10;&#10;&lt;p&gt;My last post in this section / category was in &lt;a href="https://janusworx.com/work/the-big-plan-change-my-vm-to-be-gitops-driven/" &gt;December&lt;/a&gt;.&lt;br&gt;&#10;There ought to be more, because I learn so much every week.&lt;br&gt;&#10;Even in December, the massive move I did, needs documenting. (at least for me, if not for your reading)&lt;/p&gt;&#10;&lt;p&gt;So the new plan is to cut the &lt;em&gt;doing&lt;/em&gt; and the learning in half (or by a third). And use that time to write about what I learned.&lt;br&gt;&#10;I know this about myself. I write real good … sometimes. But to even get to that point, I have to write a &lt;em&gt;lot of drivel.&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;So, in essence, welcome to the drivel :)&lt;br&gt;&#10;The posts will get more frequent, so if that bothers you or I write about things that aren’t what you came to read me for, I won’t hold it against you if you choose to unsubscribe. I need to be able to write for me. And this is the only place where I can.&lt;/p&gt;&#10;&lt;p&gt;If you do decide to stay and read, as always, I’m grateful. I truly am.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Trying a Different Tack to Writing Work Posts&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Books I Read in March, 2026</title><link>https://janusworx.com/reading/books-i-read-in-march-2026/</link><pubDate>Thu, 16 Apr 2026 12:10:41 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/books-i-read-in-march-2026/</guid><description>&lt;br&gt;&#10;&#10;&lt;figure style="display:flex;justify-content:center;"&gt;&#10; &lt;figure&gt;&lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="low"&#10; alt=""&#10; src="https://janusworx.com/images/2026/the-bear-and-the-nightingale.jpg"&#10; &gt;&lt;/figure&gt;&#10;&lt;/figure&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;courtesy, &lt;a href="https://www.penguinrandomhouse.com/books/251789/the-bear-and-the-nightingale-by-katherine-arden/" target="_blank" rel="noreferrer"&gt;Penguin Random House&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;br&gt;&#10;&#10;&lt;p&gt;Between getting ready for Kubecon EU, 2026 (&lt;a href="https://janusworx.com/images/2026/KCEU2026-Fantastic-KEPS-Poster-PS-MJB.jpg" &gt;creating my poster&lt;/a&gt;) and getting ready for Kubecon EU, 2026 (dealing with all the travel sutff), March was a busy month.&lt;br&gt;&#10;Did get quite a bit of reading done. Did not have enough time to listen to my favourite history podcasts though :)&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Girl Who Played With Fire and The Girl Who Kicked the Hornet’s Nest, Stieg Larsson&#10; &lt;div id="the-girl-who-played-with-fire-and-the-girl-who-kicked-the-hornets-nest-stieg-larsson" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-girl-who-played-with-fire-and-the-girl-who-kicked-the-hornets-nest-stieg-larsson" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is a pattern that I now see everywhere when I now read a trilogy (or series).&lt;br&gt;&#10;The first book sets up the world, the rest of them then just tell a very good story set in that world. Millennium (this series) is a very good example of this trope. The Girl with the Dragon Tattoo (which I read last month) sets up the bleak, colourless, cold, misogynistic world. And now Fire and Hornet’s Nest tell a single long story in that world. These should have been one book.&lt;/p&gt;&#10;&lt;p&gt;This time the focus is on Salander and her life. Something’s happened in the past, which leaves her broken. In the meanwhile, there are old men dying in hospitals, gang members getting beat up and stuff happening at the highest levels of government. How do all of these events tie together?&lt;br&gt;&#10;It’s immersive and wonderfully told. Lisbeth Salander is fire, like the title suggests!&lt;br&gt;&#10;I hope some other similar heroine catches my attention soon!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Looking Glass War, Tinker, Tailor, Soldier, Spy and The Honourable Schoolboy, John le Carré&#10; &lt;div id="the-looking-glass-war-tinker-tailor-soldier-spy-and-the-honourable-schoolboy-john-le-carré" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-looking-glass-war-tinker-tailor-soldier-spy-and-the-honourable-schoolboy-john-le-carr%c3%a9" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;More greedy old men trying to hang on to power.&lt;br&gt;&#10;MI6 is compromised, by the wily and smart, anti-Smiley, Karla. Who is the mole leaking British secrets to Russia?&lt;br&gt;&#10;An empathetic gangster, and an honourable schoolboy have a standoff at an island outside Hong Kong.&lt;/p&gt;&#10;&lt;p&gt;Le Carré was the one who saw and taught me how British influence waned on the world stage when all the while, the system still hung on to dreams of their “glory” days. He also taught me how to see in shades of grey.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Bear and the Nightingale, The Girl in the Tower and The Winter of the Witch (Winternight trilogy), Katherine Arden&#10; &lt;div id="the-bear-and-the-nightingale-the-girl-in-the-tower-and-the-winter-of-the-witch-winternight-trilogy-katherine-arden" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-bear-and-the-nightingale-the-girl-in-the-tower-and-the-winter-of-the-witch-winternight-trilogy-katherine-arden" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;I do not know what you should choose. Every time you take one path, you must live with the memory of the other: of a life left unchosen.&lt;br&gt;&#10;Decide as seems best, one course or the other; each way will have its bitter with its sweet.”&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Here is a clearing on the border between winter and spring. Once Vasya would have said that the cusp of spring was a moment.&lt;br&gt;&#10;But now she knew that it was also a place, at the edge of the lands of winter.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;I read these in two weeks in the bracing cold of Europe.&lt;br&gt;&#10;And once again, this felt like a duology rather than a set of three. The Bear and the Nightingale sets up the world while the Girl in the Tower and the Winter of the Witch feel like a long and beautiful story set in that world.&lt;br&gt;&#10;I had read a big book of Russian folk tales as a child, and they still linger in my heart and soul to this day. I don’t remember what it was called or who wrote it, save for the fact that it was a big grey hardback with a wolf head embossed on the cover. But I read about phoenixes and big grey wolves and Tsars and Baba Yaga and Vasilisa and so many wonderful characters and stories then.&lt;br&gt;&#10;Arden takes all of them (and more that I did not read about) and weaves a beautiful story through fable and history and time. She’s a lovely storyteller. The prose is lovely too! Nature comes alive. Old faith and tradtitons tangle with the new. All against the backdrop of cold wintry nights. I absolutely loved reading Vasilisa’s coming of age and finding her path through life, all the time being framed in events that were true yet beautifully enhanced by the fantastic. I hope these books entrance young folk, while also make them read and fall in love with the old tales as well.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Books I Read in March, 2026&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;</description></item><item><title>Books I Read in February, 2026</title><link>https://janusworx.com/reading/books-i-read-in-february-2026/</link><pubDate>Wed, 11 Mar 2026 11:30:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/books-i-read-in-february-2026/</guid><description>&lt;br&gt;&#10;&#10;&lt;figure style="display:flex;justify-content:center;"&gt;&#10; &lt;figure&gt;&lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="low"&#10; alt=""&#10; src="https://janusworx.com/images/2026/the-spy-who-came-in-from-the-cold.jpg"&#10; &gt;&lt;/figure&gt;&#10;&lt;/figure&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;from &lt;a href="https://picclick.it/Pan-THE-SPY-WHO-CAME-IN-FROM-THE-296332075807.html" target="_blank" rel="noreferrer"&gt;https://picclick.it/Pan-THE-SPY-WHO-CAME-IN-FROM-THE-296332075807.html&lt;/a&gt;, via DuckDuckGo&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;p&gt;&lt;br&gt;&#10;&#10;Better late than never, so let’s begin!&lt;br&gt;&#10;This month I moved from history to historical fiction.&lt;br&gt;&#10;From modern spy novels to medieval detective fiction, I had centuries worth of fun!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 381-390&#10; &lt;div id="deep-questions-cal-newport-episodes-381-390" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#deep-questions-cal-newport-episodes-381-390" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Some non fiction first.&lt;/p&gt;&#10;&lt;p&gt;I finished catching up with all the episodes of the podcast and now I’ll keep listing them as soon as I finish a batch of ten (around 8+ hours of listening to something counts as book length to me. Unless it’s a four hour Dan Carlin episode. &lt;em&gt;Those&lt;/em&gt; are dense 😂)&lt;br&gt;&#10;The new episodes hew toward philosopical discussions about how to live in a world that is slowly being infected with AI. What is true? What is art? Is AI really taking over the world? Is AI really an apt term for what we are seeing? Pretty interesting listen.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Beyond the Rift, Peter Watts&#10; &lt;div id="beyond-the-rift-peter-watts" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#beyond-the-rift-peter-watts" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Whenever I find my will to live becoming too strong, I read Peter Watts.&lt;br&gt;&#10;— &lt;a href="https://rifters.com/real/author.htm" target="_blank" rel="noreferrer"&gt;James Nicoll&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Watts is one of my favourite authors. I often wonder why he did not get popular.&lt;br&gt;&#10;The Rifters trilogy is my favourite science fiction series. Nothing has come close yet. Power is now taken from geothermal vents in the oceans. The only folks who can adapt to this environment are folks with psychological disorders. They’re given iron gills and other alterations to withstand deep sea pressure. Murder and mayhem ensue. Between the crazy beasts in the dark of the ocean and the crazies themselves.&lt;br&gt;&#10;Techno lingo mixed with poetry, crazy doomsday scenarios and lots of potty mouthedness! Nobody writes quite like him. Nobody writes what he does either. Hard biological sci-fi.&lt;br&gt;&#10;If you’d read the adventures of Lenie Clarke, then nothing about today’s creeping AI world and its dumb “intelligence” would surprise you. And that is precisely why I want to go read Starfish, Maelstrom and Behemoth once more. To see if the books still engage.&lt;br&gt;&#10;&lt;a href="https://www.rifters.com/real/shorts.htm" target="_blank" rel="noreferrer"&gt;You can too!&lt;/a&gt; The novels are available as ebooks in various formats for free on his website.&lt;br&gt;&#10;&lt;em&gt;(If you are going to print them, then caveat printor! These are chonky beasts.)&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;But all this is besides the point. Beyond the rift, is a lot of short stories in the world of the Rifters. It clears up, follows through or talks about other things in that setting. I loved it.&lt;/p&gt;&#10;&lt;p&gt;Pspsps, some short stories are available on the link I shared above as well!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Spy Who Came in from the Cold, John le Carré&#10; &lt;div id="the-spy-who-came-in-from-the-cold-john-le-carré" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-spy-who-came-in-from-the-cold-john-le-carr%c3%a9" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Daddy gave me a even more battered copy of the book, than the pic above.&lt;br&gt;&#10;I don’t know what possesed him to do that. I don’t know what his fascination with Le Carré (&amp;amp; Forsyth) was. For a man who would normally be pretty optimistic and generaly full of hope, to be suggesting I read a book with such a cold, inhospitable view of the world was quite out of character. But I loved reading all about Smiley and the circus. And I spent most of my boyhood, learning about WWII and the cold war world via Smiley and gang.&lt;/p&gt;&#10;&lt;p&gt;The book is a modern classic, though I don’t know why. Probably just a luck of the draw? I’m not complaining though. It’s a wonderful piece of spy drama.&lt;br&gt;&#10;On teensy flimsy actions, on such tiny wings does the world turn. What if Liz and Leamas didn’t get together? Would Smiley’s plan have worked then? A cynical yet bemused Le Carré would say yes and invent some other small thing that would have things just as bleak as they turned out to be.&lt;/p&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Call for the Dead and A Murder of Quality&#10; &lt;div id="call-for-the-dead-and-a-murder-of-quality" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#call-for-the-dead-and-a-murder-of-quality" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;These came before &lt;em&gt;Spy&lt;/em&gt; did, and read more like dark Christie novels. More detective than spy. Good fun!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Falco, The Official Companion, Lindsey Davis&#10; &lt;div id="falco-the-official-companion-lindsey-davis" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#falco-the-official-companion-lindsey-davis" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Medieval detective fiction is no longer enough. I’m now going to ancient Rome for some crime!&lt;br&gt;&#10;I found Lindsey Davis’ Falco who is a soldier turned detective in ancient Rome. (with some Britain thrown in.)&lt;br&gt;&#10;This book is a non fiction companion to the series and the world ala GRRM’s, &lt;em&gt;A World of Ice and Fire&lt;/em&gt;. These are Davis’ thoughts and recollections on how she created Falco, the history (actual and imagined) of the world at the time, the impetus behind why he behaves the he does and all sorts of other bits and bobs. She shares her day, her writing process and lots of intersting tidbits from here there and everywhere. This was tonnes of fun. I’m going into the series, really pumped!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Novice’s Tale, The Servant’s Tale, and The Outlaw’s Tale, Margaret Frazer&#10; &lt;div id="the-novices-tale-the-servants-tale-and-the-outlaws-tale-margaret-frazer" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-novices-tale-the-servants-tale-and-the-outlaws-tale-margaret-frazer" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I turned away from Frazer’s group of players in her Joliffe series (which I began last month) and went a few decades earlier to meet Dame Frevisse.&lt;br&gt;&#10;She is a hosteller when I meet her in the Novice’s tale, which solves the problem of how a nun in a convent, is able to meet and talk to people. She’s also Chaucer’s niece which gives her a wee bit of influence.&lt;br&gt;&#10;She reads like a more wonderfully written Sexton Blake. The way they solve crimes is not a coming together of what you may have observed, but something that is happens or is shown at the very end. I hope it gets better with the solution and the foreshadowing as I go deeper into the series. What makes me want to read though is the journey, Frazer takes us on and the conversations these people have and the expositon of the lives they lead. All &lt;em&gt;that&lt;/em&gt; is wonderfully done!&lt;/p&gt;&#10;&lt;p&gt;In &lt;em&gt;Novice&lt;/em&gt;, a crazy rich woman, comes to get her niece back from the convent where Frevisse is and then gets murdered.&lt;br&gt;&#10;&lt;em&gt;Servant&lt;/em&gt;, brings in Joliffe who I read last month into this world when his band of players come to the convent, bearing the dead body of a villager who they claim they found on the way. One of the players is blamed, and accusations fly across the three engaged parties. Who killed that loathsome villager?&lt;br&gt;&#10;&lt;em&gt;Outlaw&lt;/em&gt;, seems like an episode of a serious K drama, where the main cast takes off to Jeju island for a holiday and something happens there. Dame Frevisse is accompanying her fellow nun to her home for a baptism, when they are kidnapped! The kidnapper is Frevisse’s cousin! And then he’s murdered!&lt;/p&gt;&#10;&lt;p&gt;Frazer writes good page turners!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Girl with the Dragon Tattoo, Stieg Larsson&#10; &lt;div id="the-girl-with-the-dragon-tattoo-stieg-larsson" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-girl-with-the-dragon-tattoo-stieg-larsson" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Modern detective fiction! A journalist plays detective in this one.&lt;br&gt;&#10;Take a girl on the autistic spectrum, give her a really bad childhood, and have still be as normal as possible.&lt;br&gt;&#10;An old man, keeps getting flowers on his dead grand-daughter’s birthday for close to thirty years after she dies.&lt;br&gt;&#10;A self absorbed yet talented journalist who loses darn near everything and now has such a stain on his integrity that no one will believe him.&lt;br&gt;&#10;Bring them all together, add in a pile of dead bodies in the freezing countryside of Sweden and you have a thriller!&lt;br&gt;&#10;I read it when it was first published and I turned to it again. It still holds up. It’s a fun read.&lt;br&gt;&#10;Larsson supports women and is a feminist, yet does not quite know how to write women. He still makes the book work though.&lt;/p&gt;&#10;&lt;p&gt;Lisbeth Salander is a woman who hates men who hate women. And she really is badass!&lt;/p&gt;&#10;&lt;p&gt;More next month! À bientôt!&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Books I Read in February, 2026&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;</description></item><item><title>Books I Read in January, 2026</title><link>https://janusworx.com/reading/books-i-read-in-january-2026/</link><pubDate>Sun, 01 Feb 2026 12:15:39 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/books-i-read-in-january-2026/</guid><description>&lt;br&gt;&#10;&#10;&lt;figure style="display:flex;justify-content:center;"&gt;&#10; &lt;figure&gt;&lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="low"&#10; alt=""&#10; src="https://janusworx.com/images/2026/shattered-lands-s.jpg"&#10; &gt;&lt;/figure&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;This was a good reading month. I think I have become a history geek, thanks to podcasts and books and those are going to be what I read heavily for quite a while now.&#10;Some books intentionally read, some comfort reads.&lt;br&gt;&#10;All recommended.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Thin Man, Dashiell Hammett&#10; &lt;div id="the-thin-man-dashiell-hammett" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-thin-man-dashiell-hammett" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;A mystery whodunit. I am finally in my Noir phase. And enjoying it.&lt;br&gt;&#10;Drunk retired detective, socialite wife, multiple red herrings, 30s America, what’s not to like?!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, The Nazis at War, Hitler Strikes West, Parts I-IV&#10; &lt;div id="the-rest-is-history-the-nazis-at-war-hitler-strikes-west-parts-i-iv" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-rest-is-history-the-nazis-at-war-hitler-strikes-west-parts-i-iv" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Every year, the company of Holland and Sandbrook, walk through the events (slowly) of World Wars One and Two, in order to make up for the travesty of the coverage that they started the show with! Then entire French Revolution in 20 minutes if I remember correctly. 😂&#10;This time, they covered the events of Nazi Germany’s march on and upto the fallo of France. The duo are lovely when they are in flow and these episodes are worth a listen.&lt;/p&gt;&#10;&#10;&lt;h3 class="relative group"&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, Jack the Ripper, Parts I-IV&#10; &lt;div id="the-rest-is-history-jack-the-ripper-parts-i-iv" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-rest-is-history-jack-the-ripper-parts-i-iv" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;More from the podcast, this time covering the ghastly killings of the Whitechapel Murderer. Between reading about the events with morbid fascination as a child and then growing up and reading different versions of the events (I liked Alan Moore’s, From Hell if you are a comics person or the ITV miniseries featuring Michael Caine), I thought I had heard all and seen all. The duo surprised me by telling the story from distinct and different perspectives. One was how the media influenced the events, drawing parallels to today, and the other, more importantly, was the lives of the victims, and the events from their perspective leading to their sad demise. The series leaned heavily on a Hallie Rubenhold book, &lt;a href="https://en.wikipedia.org/wiki/The_Five:_The_Untold_Lives_of_the_Women_Killed_by_Jack_the_Ripper" target="_blank" rel="noreferrer"&gt;The Five&lt;/a&gt; to do that. I bought it and it is now on the pile. This probably is the least I felt I could to to erase young Jason’s fevered fascination with killers.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Second Stain, The Man with The Twisted Lip, and The Muskgrave Ritual, &lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;Sherlock &amp;amp; Co. Podcast&lt;/a&gt;, Seasons 37, 38 &amp;amp; 39&#10; &lt;div id="the-second-stain-the-man-with-the-twisted-lip-and-the-muskgrave-ritual-sherlock--co-podcast-seasons-37-38--39" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-second-stain-the-man-with-the-twisted-lip-and-the-muskgrave-ritual-sherlock--co-podcast-seasons-37-38--39" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is the other boyhood fascination that still remains. Sleuths and detectives and whodunits.&lt;br&gt;&#10;This series has several lovely takes on the original Doyle stories and are worth your time, if you want to be entertained! When they began, I felt their voices were too akin to the modern BBC series featuring Cumberbatch &amp;amp; Freeman, but now they’ve grown on me and the reverse feels true. Some stories are fun and relaxed and some taut all through. All of them are lovely.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Mania for Subjugation III, &lt;a href="https://www.dancarlin.com/hardcore-history-series/" target="_blank" rel="noreferrer"&gt;Hardcore History&lt;/a&gt;, Episode 73&#10; &lt;div id="mania-for-subjugation-iii-hardcore-history-episode-73" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mania-for-subjugation-iii-hardcore-history-episode-73" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is Alexander as never told before. In true Carlin style, you wait eight months to a year between episodes, but when they come, oh boy, do they deliver. We are at the third episode in the series and Alexander has just about started his journey to conquering the world as he knew it. If you want deeply researched history, Dan Carlin’s your man. The amount of books and time and work that goes into each episode is incredible. My only nitpick, is if he could be &lt;em&gt;more&lt;/em&gt; humane. The man comes from the other end, a wargamer who loves what-if scenarios (like young Jason with his fascination for murderers and sociopaths). He’s come a long way from his earlier episodes, but I wish for &lt;em&gt;just&lt;/em&gt; a little more humanity. The stories have enough pathos though and he always does them justice.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Sister, Maiden, Monster, Lucy A. Snyder&#10; &lt;div id="sister-maiden-monster-lucy-a-snyder" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#sister-maiden-monster-lucy-a-snyder" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I thoroughly disliked this one. This feels like someone read the Book of Revelations&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; when high and then based a sci-fi novella on it. &lt;a href="https://www.grimdarkmagazine.com/review-sister-maiden-monster-by-lucy-a-snyder/" target="_blank" rel="noreferrer"&gt;Deliciously unhinged&lt;/a&gt;, reads a review. It’s unhinged, alright.&lt;/p&gt;&#10;&lt;p&gt;I normally don’t mention or list books that I hate or do not finish or do not agree with. This is not that. This is a prime example of a “this is not for me” book. And this probably is the first book I read, that I felt this about. The writing is competent, but it did nothing for me. So no. Not for me. A pandemic rages through the world, and people get affected differently, in different manners. All gruesome.&lt;/p&gt;&#10;&lt;p&gt;I think only one person does horror, the way I want and love. And I remain grateful to the stories and work of Guillermo del Toro.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;The Psychology of Money, Morgan Housel&#10; &lt;div id="the-psychology-of-money-morgan-housel" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-psychology-of-money-morgan-housel" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;I loved the old timey self help folks. Carnegie, Ziglar et al. Simple truths told with lovely stories.&lt;br&gt;&#10;Housel is the modern form of that persona. Observations on how you think about money, what is wrong with it and suggestions on how one ought to actually think. All interspersed between engaging stories. I wrote &lt;a href="https://janusworx.com/reading/the-psychology-of-money/" &gt;a post about the book&lt;/a&gt;, if you want to know more.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Shattered Lands, Sam Dalrymple&#10; &lt;div id="shattered-lands-sam-dalrymple" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#shattered-lands-sam-dalrymple" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This soothed an itch, that’s been there since my childhood. Raised as I was, in the last remnants of empire and with a father and grandfather—who sometimes were sad about what was lost—I was always fascinated with British India. To learn about the length and breadth of the British Indian Empire, was both novel and yet unsurprising. &lt;a href="https://janusworx.com/reading/shattered-lands/" &gt;More thoughts in a post I wrote&lt;/a&gt; when I finished the book. If you love reading Indian History, this is a must get, must read book.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;History of the Alphabet, Kevin Stroud&#10; &lt;div id="history-of-the-alphabet-kevin-stroud" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#history-of-the-alphabet-kevin-stroud" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This one felt like I already had so many disparate pieces of some whole and Stroud made them all fit, to form a beautiful tapestry.&lt;br&gt;&#10;I’m following his &lt;a href="https://historyofenglishpodcast.com/" target="_blank" rel="noreferrer"&gt;History of English podcast&lt;/a&gt;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;, and I bought the History of the Alphabet to try and support him, not expecting much, but I was pleasantly surprised. Weaving through times and peoples, from Egypt to the Levant to Greece to Italy with the Eruscans and later the Romans, to France and beyond. It’s a lovely tale!&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;A Play of Isaac, Margaret Frazer&#10; &lt;div id="a-play-of-isaac-margaret-frazer" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-play-of-isaac-margaret-frazer" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is a lovely piece of historical detective fiction. Set in Oxford in the middle 15th century, it follows a company of players who are staging &lt;a href="https://en.wikipedia.org/wiki/The_Brome_play_of_Abraham_and_Isaac" target="_blank" rel="noreferrer"&gt;Abraham and Isaac&lt;/a&gt; for a local lord and someone dies at their doorstep.&lt;/p&gt;&#10;&lt;p&gt;More than this specific book itself, I want to write a bit about this class of author, whose writings I have really come to enjoy. I have no name for the kind of writing they do. But I love the prose to bits. Gail Lynn Brown (writing as Margaret Frazer), is the latest. The other two I found so far were Edith Pargeter (writing as Ellis Peters) and Rosemary Kirstein.&lt;br&gt;&#10;I found Edith first, with her monumental Cadfael series of books. By the time I was in book two, I was amazed by this man who could do nuance so perfectly (Of course, it turned out to be a woman 😂). But yes, it is the nuance, the way they do turns of phrase, the way they write their characters … I don’t know what binds them togther, what the likeness is. It can’t be genre, because while Pargeter and Brown write historical detective fiction, Kirstein does not.(She seems to have created a unique genre/niche of her own.)&lt;br&gt;&#10;So like I said, while I don’t know what unites them, I will continue to ravenously read everything they write. The writing is letter perfect to my mind and heart. I &lt;em&gt;enjoy&lt;/em&gt; them, with emphasis on &lt;em&gt;joy&lt;/em&gt;.&lt;/p&gt;&#10;&lt;p&gt;These are all for now. I hope you found something in the list above that tickled your fancy.&lt;br&gt;&#10;À demain!&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Books I Read in January, 2026&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;Which is already kooky in the first place&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;The language. Not the English people. There are a lot of peoples in this story :)&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>The Psychology of Money</title><link>https://janusworx.com/reading/the-psychology-of-money/</link><pubDate>Sat, 24 Jan 2026 15:36:56 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/the-psychology-of-money/</guid><description>&lt;figure style="display:flex;justify-content:center;"&gt;&#10; &lt;figure&gt;&lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="low"&#10; alt="Cover of the Psychology of Money"&#10; src="https://janusworx.com/images/2026/the-psychology-of-money.jpg"&#10; &gt;&lt;/figure&gt;&#10;&lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I heard Morgan Housel on the latest episode of the &lt;a href="https://www.youtube.com/watch?v=NWZZEa9BURw" target="_blank" rel="noreferrer"&gt;Shane Parrish&lt;/a&gt; podcast recently as well as a while ago on &lt;a href="https://www.youtube.com/watch?v=MgOxvGxDqB4" target="_blank" rel="noreferrer"&gt;Vishal Khandelwal&lt;/a&gt;’s podcast, and most of what he said resonated with what I learned and found out on my own independently over the years.&lt;br&gt;&#10;So I went and got his book.&lt;/p&gt;&#10;&lt;p&gt;Take the best of Taleb, Danny Kahneman, and your grandma, put them into story form with an earnest tone, and you get this book. It’s lovely.&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Realise that you’re unique. You have your scars. Realise that colours everything that you see and do.&lt;/li&gt;&#10;&lt;li&gt;Stop idolising individuals. The patterns lie in large numbers. Not in a single individual’s story, no matter how inspiring you think it is. You have no clue of which butterfly flapped its wings to create Bill Gates’ wealth.&lt;/li&gt;&#10;&lt;li&gt;The aim ought to be &lt;em&gt;&lt;strong&gt;enough.&lt;/strong&gt;&lt;/em&gt; Which you get to decide. But there has to be a point where you say enough.&lt;/li&gt;&#10;&lt;li&gt;The gains from compounding &lt;em&gt;occur at the end.&lt;/em&gt; The only reason Buffett has the money he has now (~90 billion dollars), is because he started investing at 10. Had he started at 30, he’d only be worth ~20 million. Like Housel says,&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Effectively all of Warren Buffett’s financial success can be tied to the financial base he built in his pubescent years and the longevity he maintained in his geriatric years.&lt;/p&gt;&#10;&lt;p&gt;His skill is investing, but his secret is time.&#10;That’s how compounding works.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;ol start="5"&gt;&#10;&lt;li&gt;Making money is one thing. It’s the keeping of the money that’s harder. How does one do this? Stay in the margins. Survive. And use &lt;a href="https://janusworx.com/reading/longform/antifragile/what-i-learnt-from-antifragile-ii/#the-barbell-heuristic-to-taking-risks" &gt;Taleb’s Barbell&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://janusworx.com/reading/longform/antifragile/what-i-learnt-from-antifragile-i/#optionality" &gt;Have options&lt;/a&gt;. You never know which one might pan out. Also realise that options are another way of saying that one of your individual bets could die for the sake of your bigger aim, and &lt;a href="https://janusworx.com/reading/longform/antifragile/what-i-learnt-from-antifragile-iii/#what-does-not-kill-me---antifragility-for-the-collective" &gt;you’ll still be ok&lt;/a&gt;. An individual stock might not work, but the index has always inched upwards for decades.&lt;/li&gt;&#10;&lt;li&gt;The best freedom, to paraphrase Taleb, is the ability to say, “Fuck this!” to things you don’t want to do. Or to actually quote him …&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&lt;p&gt;This kind of sum I’ve called in my vernacular “fuck you money” —a sum large enough to get most, if not all, of the advantages of wealth (the most important one being independence and the ability to only occupy your mind with matters that interest you) but not its side effects, such as having to attend a black-tie charity event and being forced to listen to a polite exposition of the details of a marble-rich house renovation. […] Beyond a certain level of opulence and independence, gents tend to be less and less personable and their conversation less and less interesting.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Housel puts it much more eloquently …&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The highest form of wealth is the ability to wake up every morning and say, “I can do whatever I want today.”&lt;/p&gt;&#10;&lt;p&gt;People want to become wealthier to make them happier. Happiness is a complicated subject because everyone’s different. But if there’s a common denominator in happiness—a universal fuel of joy—it’s that people want to control their lives.&lt;/p&gt;&#10;&lt;p&gt;The ability to do what you want, when you want, with who you want, for as long as you want, is priceless. It is the highest dividend money pays.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;ol start="8"&gt;&#10;&lt;li&gt;Stop playing the Keeping up with the Kumars&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;&#10;&lt;li&gt;Save money.&lt;/li&gt;&#10;&lt;li&gt;Being reasonable is greater than being rational.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&lt;p&gt;You’re not a spreadsheet. You’re a person.&#10;Do not aim to be coldly rational when making financial decisions. Aim to just be pretty reasonable. Reasonable is more realistic and you have a better chance of sticking with it for the long run, which is what matters most when managing money.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;ol start="11"&gt;&#10;&lt;li&gt;You cannot spend your time and energy watching the world and waiting for the “best” time to make a investment. Save money. Invest it. Let it compound.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://janusworx.com/personal/on-margin/" &gt;Margin of Safety&lt;/a&gt;. That ought to be one of the main weapons in your mental arsenal. Always have room for error. Always have slack.&lt;/li&gt;&#10;&lt;li&gt;You will change over time. Learn to be kind to your future self. Make sure you’re not wedded to past decisions. Make your circumstances adapt to you.&lt;/li&gt;&#10;&lt;li&gt;Nothing’s free. What are you willing to pay to get what you want?&lt;/li&gt;&#10;&lt;li&gt;Note to self: Learn Statistics. Learn probabilities. They’ll teach you more than stories that folks weave. And yet paradoxically, when you want to convince folks? Use stories. They are always more powerful!&lt;/li&gt;&#10;&lt;li&gt;Manage and invest your money in a way that helps you sleep at night.&lt;/li&gt;&#10;&lt;li&gt;The best “shortcut” to do better with your investments? Increase your time horizon and let compounding work for you.&lt;/li&gt;&#10;&lt;li&gt;What works for others will not work for you. They are not you. Make your own mistakes. And your own decisions. There is no single right answer; just the answer that works for you.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: The Psychology of Money&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;Deep cut silly joke, if you loved the Kumars and Goodness Gracious me.&lt;br&gt;&#10;&lt;a href="https://www.youtube.com/watch?v=hjWd9a8Ck8U" target="_blank" rel="noreferrer"&gt;The Jones at No. 42 were Indian&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Shattered Lands</title><link>https://janusworx.com/reading/shattered-lands/</link><pubDate>Mon, 19 Jan 2026 17:31:37 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/shattered-lands/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2026/shattered-lands.jpg" alt="Picture of the book, Shattered Lands" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I came across this little paradox of history when I read, “The Race for Paradise” &lt;a href="https://janusworx.com/reading/the-race-for-paradise/" &gt;in 2018&lt;/a&gt;.&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Bashir saw the strange spectacle of the Frankish&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; lord of Antioch marching alongside Muslim troops from the lord of Aleppo, arrayed in battle against the Sultan’s representative, the Muslim lord of Mosul, who marched with his own Frankish&lt;sup id="fnref1:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; allies from Edessa.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Close to eight hundred years later, history rhymed. From Sam Dalrymple’s, Shattered Lands …&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Communities divided between India and Burma like the Mizos and Chakma thus found themselves pulled into the war over Pakistan. Later India would send a battalion of Tibetan refugees against them, so that on the eastern front the battle over the future of the Islamic Republic of Pakistan ironically involved two rival Buddhist militias – neither of them Bengali.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;That’s always the zeitgeist apparently.&lt;br&gt;&#10;People are dorks.&lt;br&gt;&#10;Showing grace to folks “not like us” is hard.&lt;/p&gt;&#10;&lt;p&gt;Let me get the one nitpick out of the way first. It’s a bit rich for Sam to play doomsayer for modern Asia or roleplay a stern parent by expecting us to behave “propah”. He thinks its an irony that&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;in the twenty-first century it is easier for Indians, Pakistanis and Bangladeshis to meet in England, their former colonial power, than to meet in the subcontinent itself.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;The fact remains that Britain abandoned its Empire. They just upped sticks and left. With nothing left for us.&lt;br&gt;&#10;Yes it is sad that there are divisions. But leave the healing to us.&lt;br&gt;&#10;I don’t want the man&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; who stabbed me in the back, in the dark, and looted and raped everything of mine, to come and preach to me of forgiveness or how division is bad for us..&lt;/p&gt;&#10;&lt;p&gt;Sam says,&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The last decade has witnessed the decline of globalisation, the strengthening of borders and the resurgence of nationalism across the world. India’s Partitions are a dire warning for what such a future might hold.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;I sincerely hope this is a message to the nations of the “first world” to stop ravaging our lands and not for folks in Africa and Asia. Be really hypocritical if it wasn’t.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;And now to the rest of the book.&lt;br&gt;&#10;It’s a real tour de force of history.&lt;br&gt;&#10;Beginning in the late 1920s and ending in the mid 70s, the book traces the breakup of the British Indian Empire.&lt;br&gt;&#10;So many pieces of jumbled childhood memories, now make sense. The reason why so many Goans and Mangaloreans rushed to do labour in the erstwhile Trucial States in the mid 80s (modern UAE and other neighbouring countries). I have seen old Indian currency used in Aden (my relatives), as well as Indian currency that could be used in Saudi Arabia when folks went on the Haj (via friends). Why when I went to work in the Eastern part of my state (Maharashtra) in my younger years, the dialect and culture felt different (Because Dakhani. Because erstwhile Hyderabad). Why there used to be so many &lt;a href="https://en.wikipedia.org/wiki/State_Bank_of_India#Former_associate_banks" target="_blank" rel="noreferrer"&gt;State Banks&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;While I was fairly well informed about how Pakistan and Bangladesh came about, I wanted to learn more about of the Easternmost (Burma) and Westermost (Arabian States) flanks of the British Indian Empire. The book delivered in spades.&lt;br&gt;&#10;It’s extremely well researched, and Sam has the blood of his &lt;a href="https://williamdalrymple.com/" target="_blank" rel="noreferrer"&gt;ranconteur papa&lt;/a&gt; when relating this (hi)story.&lt;br&gt;&#10;The history I loved and related to the most, was Angami Zapu Phizo’s lifelong struggle (and failure) to build a Naga nation. Phizo keeps appearing in nearly every Partition story, trying his hardest. The Nagas were the best part of the book.&lt;/p&gt;&#10;&lt;p&gt;I have friends, who still reel from the partitions, who have left family on the other side, who have lost lands and property and freedom.&lt;br&gt;&#10;My father (born in 1942) as well as several other older friends (born in the 1930s) used to lament of all that was lost, without being able to articulate what and how.&lt;br&gt;&#10;This book made me realise how and just how much.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Shattered Lands&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;Christian&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href="#fnref1:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;England&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>2025</title><link>https://janusworx.com/reading/2025/</link><pubDate>Wed, 31 Dec 2025 11:59:00 -1200</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/2025/</guid><description>&lt;div style="font-size: 85%; "&gt;&#10;&lt;p&gt;&lt;em&gt;&lt;a href="https://janusworx.com/reading/" &gt;What do all the stars and daggers after the book titles mean?&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;br&gt;&#10;&#10;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Note to self, for this year: Read less, write more notes. Abandon more books.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&#10;&lt;h3 class="relative group"&gt;January&#10; &lt;div id="january" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#january" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Murder at the Vicarage, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Body in the Library, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Moving Finger, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Sleeping Murder, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Murder Is Announced, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;They Do It with Mirrors, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;My Horrible Career, John Arundel&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Veiled Lodger, &lt;a href="https://www.goalhangerpodcasts.com/sherlock" target="_blank" rel="noreferrer"&gt;Sherlock &amp;amp; Co. Podcast&lt;/a&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Hardcore History, &lt;a href="https://www.dancarlin.com/product/hardcore-history-72-mania-for-subjugation-ii/" target="_blank" rel="noreferrer"&gt;Mania for Subjugation II&lt;/a&gt;, Episode 72&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Pocket Full of Rye, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;4.50 from Paddington, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Mirror Crack’d From Side to Side, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;As You Wish: Inconceivable Tales from the Making of The Princess Bride, Cary Elwes &amp;amp; Joe Layden&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Caribbean Mystery, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;At Bertram’s Hotel, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Nemesis, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Miss Marple’s Final Cases, Agatha Christie&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;February&#10; &lt;div id="february" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#february" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="18"&gt;&#10;&lt;li&gt;A Shadow in Summer, Daniel Abraham&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;Black Peter&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 25&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://feeds.buzzsprout.com/2447316.rss" target="_blank" rel="noreferrer"&gt;On Writing with Brandon Sanderson&lt;/a&gt;, Episodes 1-4, Brandon Sanderson&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Betrayal in Winter, Daniel Abraham&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;I Will Judge You by Your Bookshelf, Grant Snider&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Art of Living, Grant Snider&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Shape of Ideas, Grant Snider&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;For the Love of Go, John Arundel&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Powerful Command-Line Applications in Go, Ricardo Gerardi&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Learning Go, Jon Bodner&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;An Autumn War, Daniel Abraham&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Price of Spring, Daniel Abraham&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Math for English Majors, Ben Orlin (&lt;a href="https://janusworx.com/reading/math-for-english-majors-ben-orlin/" &gt;Notes&lt;/a&gt;)&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, The Three Kings, Episodes 212–214&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;March&#10; &lt;div id="march" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#march" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="32"&gt;&#10;&lt;li&gt;Companion to the Count, Melissa Kendall&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;Wisteria Lodge&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 26&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Story of Love, Minerva Spencer&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Etiquette of Love, Minerva Spencer&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Very Bellamy Christmas, Minerva Spencer&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, The Rise and Fall of the Mughal Empire, Episodes 205–211, 215-222&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, Britain’s Last Colony, Episodes 229-230&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Head First Java (3&lt;sup&gt;rd&lt;/sup&gt; edition), Kathy Sierra, Bert Bates &amp;amp; Trisha Gee&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Head First Go, Jay McGavren&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, The French Revolution (Part II), Episodes 503–507&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, The French Revolution (Part III), Episodes 544-547&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.acquired.fm/episodes/tsmc-founder-morris-chang" target="_blank" rel="noreferrer"&gt;Morris Chang &amp;amp; TSMC&lt;/a&gt;, Spring 2025, Episode 1, Acquired Podcast&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.acquired.fm/episodes/rolex" target="_blank" rel="noreferrer"&gt;Rolex&lt;/a&gt;, Spring 2025, Episode 2, Acquired Podcast&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Head First C, Dawn Griffiths &amp;amp; David Griffiths&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;April&#10; &lt;div id="april" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#april" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="46"&gt;&#10;&lt;li&gt;Head First Learn to Code, Eric Freeman&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://feeds.buzzsprout.com/2447316.rss" target="_blank" rel="noreferrer"&gt;On Writing with Brandon Sanderson&lt;/a&gt;, Episodes 4.5-8, Brandon Sanderson&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Spellfire Thief, Sarah Hawke&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Thinking About Thinking, Grant Snider&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Disappearance of Lady Frances Carfax&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 28&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 01-10&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 11-20&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Unlovable, Darren Hayes&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;May&#10; &lt;div id="may" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#may" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="54"&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 21-30&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Dick Barton and the Secret Weapon, Edward J Mason&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Dick Barton and the Paris Adventure, Edward J Mason&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Dick Barton and the Cabatolin Diamonds, Edward J Mason&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Kill the Pharaoh, Victor Pemberton&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://feeds.buzzsprout.com/2447316.rss" target="_blank" rel="noreferrer"&gt;On Writing with Brandon Sanderson&lt;/a&gt;, Episodes 8-12, Brandon Sanderson&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 31-40&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Trial &amp;amp; Error (The Hardy Boys), Franklin W. Dixon&lt;/li&gt;&#10;&lt;li&gt;Understanding APIs and RESTful APIs Crash Course, Kalob Taulien (Udemy)&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;System Collapse, Martha Wells&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 31-40&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Sham Engagement, Fil Reid&lt;/li&gt;&#10;&lt;li&gt;A Hint of Scandar, Fil Reid&lt;/li&gt;&#10;&lt;li&gt;Gideon the Ninth, Tamsyn Muir&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 41-50&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 51-60&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Harrow the Ninth, Tamsyn Muir&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;June&#10; &lt;div id="june" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#june" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="71"&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 61-70&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 71-80&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Apple in China, Patrick McGee&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Dreaming of Elisabeth, Camilla Lackberg&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;An Elegant Death, Camilla Lackberg&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.acquired.fm/episodes/the-steve-ballmer-interview" target="_blank" rel="noreferrer"&gt;Steve Ballmer&lt;/a&gt;, Summer 2025, Episode 1, Acquired Podcast&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 81-90&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, Warlords of the West, The Rise and Fall of the Franks, Episodes 520-525&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, Heart of Darkness, Horror in the Congo, Episodes 538-541&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Antifragile, Nassim Nicholas Taleb&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Man and a Woman, Robin Schone&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 91-100&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;A Scandal in Bohemia&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 30&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;How to Read a Book, Mortimer J. Adler&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Secret Rules of the Terminal, Julia Evans&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Lover, Robin Schone&lt;/li&gt;&#10;&lt;li&gt;Slide:ology, Nancy Duarte&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;July&#10; &lt;div id="july" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#july" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="88"&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 101-110&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 111-120&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, 1066: The Norman Conquest of England, Episodes 548-557&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Emacs Writing Studio, Peter Prevos&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 121-130&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, The History of Ireland, Episodes 231-246&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Priory School&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 32&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Adventures of Johnny Bunko: The Last Career Guide You&amp;rsquo;ll Ever Need, Daniel H. Pink&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Sketchnote Handbook, Mike Rohde&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Business Etiquette, Ann Marie Sabath&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Dare to Tempt an Earl This Spring, Sara Adrien &amp;amp; Tanya Wilde&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;How to Lose Prince This Summer, Sara Adrien &amp;amp; Tanya Wilde&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, Victorian Narcos (The Opium Wars), Episodes 248-255&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 131-140&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Lost Islamic History, Firas Alkhateeb&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, Canada, Episodes 267-272&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 141-150&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;100 Tricks to Appear Smart in Meetings, Sarah Cooper&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;August&#10; &lt;div id="august" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#august" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="106"&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, The Panama Canal, Episodes 273-277&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 151-160&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Dick Barton and the Smash and Grab Raiders, Edward J Mason&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 161-170&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 171-180&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, Partitions (The Breakup of the Britisth &lt;em&gt;&lt;strong&gt;Indian&lt;/strong&gt;&lt;/em&gt; Empire), Episodes 278-283&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;I Do Everything I’m Told, Megan Fernandes&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 181-190&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;September&#10; &lt;div id="september" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#september" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="114"&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 191-200&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 201-210&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 211-220&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;300, Frank Miller&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;V for Vendetta, Alan Moore&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Killing Joke, Frank Miller&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Watchmen, Alan Moore&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Nona the Ninth, Tamsyn Muir&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 221-240&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, The Suez Crisis, Episodes 284-288&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, The Cholas, Episodes 289-290&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Vivian Maier: Street Photographer, John Maloof&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Vivian Maier: Out of the Shawdows, Richard Cahn &amp;amp; Michael Williams&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.udemy.com/course/mastering-fujfilm-camera-menus/" target="_blank" rel="noreferrer"&gt;Mastering Fujifilm Camera Menus&lt;/a&gt;, Joshua Chard&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.udemy.com/course/manual-mode-photography-for-beginers/" target="_blank" rel="noreferrer"&gt;Learn Manual Mode Photography in Under 1 Hour!&lt;/a&gt;, David Eastwell&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.udemy.com/course/street-photography-masterclass/" target="_blank" rel="noreferrer"&gt;Street Photography Masterclass&lt;/a&gt;, Adam Tan&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;October&#10; &lt;div id="october" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#october" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="130"&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 241-250&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, The First World War (1914–15), Episodes 594-599&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Picture Perfect Posing, Roberto Valenzuela&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Picture Perfect Practice, Roberto Valenzuela&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Alien Overlords Series, Theodora Taylor &amp;amp; Eve Vaughn&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, Greek Myths, Episodes 602-605&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 251-270&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 271-290&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;Abbey Grange&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 33&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Mazarin Stone&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 34&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Missing Three-Quarter&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 35&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;, Greek Myths, Episodes 602-605&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Talk Python in Production, Michael Kennedy &lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 291-310&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Classics of British Literature, John Sutherland (The Great Courses) Lectures 1-10&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Bootstrapping Microservices, Ashley Davis&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Book of Kubernetes, Alan Hohn&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.acquired.fm/episodes/" target="_blank" rel="noreferrer"&gt;Google&lt;/a&gt;, Summer 2025, Episodes 2 &amp;amp; 4 and Fall 2025, Episode 1, Acquired Podcast&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 311-330&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/in/podcast/empire/id1639561921" target="_blank" rel="noreferrer"&gt;Empire Podcast&lt;/a&gt;, Gaza! The History, Episodes 291-301&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Count of Monte Cristo, Alexandre Dumas&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;November&#10; &lt;div id="november" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#november" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="151"&gt;&#10;&lt;li&gt;Kathryn, Minerva Spencer&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 331-350&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Classics of British Literature, John Sutherland (The Great Courses) Lectures 11-31&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.acquired.fm/episodes/trader-joes" target="_blank" rel="noreferrer"&gt;Trader Joe’s&lt;/a&gt;, Fall 2025, Episode 2, Acquired Podcast&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;GitOps, Florian Beetz, Anja Kammer &amp;amp; Simon Harrer&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;GitOps Cookbook, Natale Vinto &amp;amp; Alex Soto Bueno&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;GitOps and Kubernetes, Yuen, Matyshentsev, Ekenstam &amp;amp; Suen&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Argo CD: Up &amp;amp; Running, Andrew Block &amp;amp; Christian Hernandez&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Leveraging Kustomize for Kubernetes Manifests, Brent Laster&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 331-350&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Classics of British Literature, John Sutherland (The Great Courses) Lectures 32-49&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Learning Helm, Butcher, Farina &amp;amp; Dolitsky&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Kubernetes Up and Running, Burns, Beda &amp;amp; Hightower&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Kubernetes Cookbook, Naik, Goasguen &amp;amp; Michaux&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 351-370&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Wisdom Takes Work, Ryan Holiday&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Right Thing, Right Now, Ryan Holiday&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Soul Harvest (Dread Knight #2), Sarah Hawke&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Dark Covenant (Dread Knight #3), Sarah Hawke&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Rebirth (Dread Knight #4), Sarah Hawke&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Talk of the Town, Jerry Pinto &amp;amp; Rahul Srivastava&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Penguin Classics Book, Henry Eliot&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Flux CD for Absolute Beginners, Yogesh Raheja&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Wide Angle Photography, Chris Marquardt&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Wanton Adventure, Ramona Elmes&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;A Translation of Desire, Ramona Elmes&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Psychology of Human Misjudgment, Charles T. Munger&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Laird’s Curse, Katy Baker&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Redemption of a Rakehell, April Moran&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Complete Yes Minister, Jonathan Lynn &amp;amp; Antony Jay&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 class="relative group"&gt;December&#10; &lt;div id="december" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#december" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol start="181"&gt;&#10;&lt;li&gt;The Complete Yes Prime Minister, Jonathan Lynn &amp;amp; Antony Jay&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.thedeeplife.com/listen/" target="_blank" rel="noreferrer"&gt;Deep Questions&lt;/a&gt;, Cal Newport, Episodes 371-380&lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Confessions of a Rakehell, April Moran&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Traefik API Gateway for Microservices: With Java and Python Microservices Deployed in Kubernetes, Rahul Sharma &amp;amp; Akshay Mathur &lt;sup&gt;*&lt;/sup&gt;&lt;sup&gt;‡&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/sherlock-co/id1710121792" target="_blank" rel="noreferrer"&gt;The Hound of the Baskervilles&lt;/a&gt;, Sherlock &amp;amp; Co. Podcast, Season 36&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.acquired.fm/episodes/coca-cola" target="_blank" rel="noreferrer"&gt;Coca Cola&lt;/a&gt;, Fall 2025, Episode 3, Acquired Podcast&lt;sup&gt;†&lt;/sup&gt;&lt;sup&gt;#&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;The Way of Kings, Brandon Sanderson&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Words of Radiance, Brandon Sanderson&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Edgedancer, Brandon Sanderson&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;li&gt;Altered Carbon, Richard Morgan&lt;sup&gt;*&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;</description></item><item><title>The Big Plan: Change My VM to Be Gitops Driven</title><link>https://janusworx.com/work/the-big-plan-change-my-vm-to-be-gitops-driven/</link><pubDate>Fri, 19 Dec 2025 18:00:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/the-big-plan-change-my-vm-to-be-gitops-driven/</guid><description>&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Me!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Update 2025-12-19: All done!&lt;/em&gt;&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I just finished a move from one Hetzner VM to another.&lt;br&gt;&#10;The type of VMs are the same, in fact.&lt;br&gt;&#10;It’s just that the new VM and all the software on it are entirely software driven. I kept logging my progress in my &lt;a href="https://janusworx.com/nm/" &gt;notes&lt;/a&gt;, copy pasting the plan from day to day and ticking things off.&lt;br&gt;&#10;Now that it’s done and I &lt;em&gt;still&lt;/em&gt; want to &lt;a href="https://janusworx.com/nm/2025-12-12/" &gt;refer to it regularly&lt;/a&gt;, as the rest of the services come over, I wanted a place to keep it. And so this post, it is.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;List of services that absolutely need to come over. Miscellaneous stuff later.&#10; &lt;div id="list-of-services-that-absolutely-need-to-come-over-miscellaneous-stuff-later" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#list-of-services-that-absolutely-need-to-come-over-miscellaneous-stuff-later" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; the main domain&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; french version of the website&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; the mastodon archive&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; the email distribution list&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; miniflux for rss feeds&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; joplin&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; baikal&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; &lt;del&gt;discourse&lt;/del&gt; (no more discourse!)&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; markdown editor (hedgedoc)&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; anki&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; huginn&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; syncthing&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; IRC: theLounge + znc (see if we can make do with a single service now &lt;em&gt;(2025-12-15: we could!)&lt;/em&gt;)&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; kanboard&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Certs, Move them over, or figure out a way to generate and renew them via Ansible&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;The Big Point of The Big Plan&#10; &lt;div id="the-big-point-of-the-big-plan" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-big-point-of-the-big-plan" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Save time and energy. Managing all the disparate services I use is taking more and more of my time. I need to claim that back, while being able to use said services.&lt;/li&gt;&#10;&lt;li&gt;Be gitops driven. Managing stuff gets easier. Tearing down things and rebuilding them gets easier&lt;/li&gt;&#10;&lt;li&gt;Have most everything I use, be in a Kubernetes cluster.&lt;/li&gt;&#10;&lt;li&gt;Be pragmatic enough to know that everything cannot be in a Kubernetes cluster and will have to live in the root VM&lt;/li&gt;&#10;&lt;li&gt;Have Flux CD manage everything in the cluster&lt;/li&gt;&#10;&lt;li&gt;Have Ansible Pull manage everything in the VM, acting as my single node. The point of doing this is not idempotency, rather to have everything in code; something that I can comment and uncomment and manipulate at will, something I can update at will and something that is documented. Never again will Future Jason have to scratch his head about, just how to go about doing something. &lt;em&gt;(Long term note to self: Have the discipline to write tasks and drive everything with Ansible, despite the ease of “just doing it at the command line”)&lt;/em&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h2 class="relative group"&gt;The Big Plan (&lt;em&gt;Done!&lt;/em&gt; 🎉🎉🎉)&#10; &lt;div id="the-big-plan-done-" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-big-plan-done-" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The plan is to redo the cluster again and do my own instance of&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; K3s&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Sealed Secrets&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Flux CD&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; &lt;del&gt;Certmanager&lt;/del&gt; (Not using it)&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; &lt;del&gt;Letsencrypt&lt;/del&gt; (using pre existing Letsencrypt certs)&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Get Traefik Ingress to work&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Figure out a way to get certs automatically into the cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;And once &lt;em&gt;that&lt;/em&gt; is done, figure out an app to move (Miniflux or Hedgedoc?); 2025-12-03: Kanboard it is!&lt;/li&gt;&#10;&lt;li&gt;Begin by moving (lifting and shifting in popular parlance) Kanboard to the cluster&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Cert will probably be needed (Wildcard cert works now, just like it does without the cluster)&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Convert a docker-compose to kubernetes manifests&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Learn how to configure an app with code&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Learn how to store data and back it up&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Figure out secrets, if there are any (for now sealed secrets ok, figure out vault and vault injection later)&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Learn how to tunnel through and reverse proxy&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Make Kubernetes manifests work with flux&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Figure out how to automate deployment of manual manifests&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Figure out how to migrate there if there is any in an old app&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Figue out how to automate updation of images in manual manifests&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Get another app (Miniflux) deployed&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Figure out what needs to happen as part of the lifecycle. What you want in the cluster, what stays out, do they intersect, how do updates of cluster happen? VM (node) updates as well?&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Then begin to think along the lines of Live Deploys. Prototype locally and once it works, migrate to production immediately&lt;/li&gt;&#10;&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Convert Kubernetes manifests to Helm Charts (optional, based on energy)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Go live! Git is source of truth. Two repos.&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; One for the Main node and its update&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Terraform will provision node and install package, setup firewall&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Figure out how to get Terraform to get the node talking to the git forge&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Structure repo, copy every thing node related there, and make sure stuff gets updated periodically and if possible, idempotantly, via ansible pull and a systemd timer&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; The other one for k3s and flux&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Convert everything I have done locally to run on prod. Add more steps as you do them below&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Unrelated. Long term. Optional. Just here so that I remember&#10; &lt;div id="unrelated-long-term-optional-just-here-so-that-i-remember" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#unrelated-long-term-optional-just-here-so-that-i-remember" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Get Moi publish script running&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; Redo Huginn Scenarios&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feedback@janusworx.com?subject=%22Feedback on post: The Big Plan: Change My VM to Be Gitops Driven&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;</description></item><item><title>Moved From Reeder to Readkit</title><link>https://janusworx.com/work/moved-from-reeder-to-readkit/</link><pubDate>Mon, 17 Nov 2025 08:59:16 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/moved-from-reeder-to-readkit/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/moved-from-reeder-to-readkit-00.jpg" alt=" " /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;I used &lt;a href="https://reederapp.com/" target="_blank" rel="noreferrer"&gt;Reeder&lt;/a&gt; for reading all my &lt;a href="https://en.wikipedia.org/wiki/RSS" target="_blank" rel="noreferrer"&gt;RSS feeds&lt;/a&gt; ever since the app launched over fifteen years ago. RSS is how I keep up with everything in the world outside and having a pleasant reading experience is very important to me.&lt;/p&gt;&#10;&lt;p&gt;It no longer serves that need for me.&lt;br&gt;&#10;For a long time, the way the app worked aligned with the way I want to read. Earlier this year though, the developer decided to take the app in a different direction, with a different reading experience. The older app is still available as Reeder Classic, but only a few months of use have shown me that the app is basically abandoned. The attention to detail is obviously now being applied to the new app.&lt;/p&gt;&#10;&lt;p&gt;Enter &lt;a href="https://readkit.app/" target="_blank" rel="noreferrer"&gt;ReadKit&lt;/a&gt;.&lt;br&gt;&#10;I had used it briefly during the &lt;a href="https://en.wikipedia.org/wiki/Google_Reader#Discontinuation" target="_blank" rel="noreferrer"&gt;Google Reader apocalypse&lt;/a&gt; when every feed reader was scrambling to find new backends to sync to. Reeder similarly had switched to local only mode and was taking a while before it supported other services.&lt;br&gt;&#10;ReadKit in the meanwhile already had support for Feedwrangler, and so I switched to it until Reeder came back to speed.&lt;/p&gt;&#10;&lt;p&gt;And I’ve switched to it for the foreseeable future.&lt;br&gt;&#10;It looks beautiful!&lt;br&gt;&#10;It does everything I want, shows everything the way and want and behaves just the way I want it to. The only knock I have against it, is that it does not feel as &lt;em&gt;fluid&lt;/em&gt; as Reeder does. But that’s nothing compared to the constant launch and relauch dance, I have to do with Reeder nowadays. Consistency and stability matter a lot to me.&lt;br&gt;&#10;Even better, it syncs natively with &lt;a href="https://miniflux.app/" target="_blank" rel="noreferrer"&gt;Miniflux&lt;/a&gt;, the service I use to actually fetch and read RSS feeds on my Linux desktop. No more Google Reader API!&lt;/p&gt;&#10;&lt;p&gt;This is a list of all my categories (with one of them expanded, click for a larger view)&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/images/2025/moved-from-reader-to-readkit-01-categories.jpg" &gt;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/moved-from-reader-to-readkit-01-categories.jpg" alt="Readkit App Screenshot" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;and this is a list of unread articles in a feed, alongside one that is open (once again, click to enlarge if you want to see details)&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/images/2025/moved-from-reader-to-readkit-02-feeds.jpg" &gt;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/moved-from-reader-to-readkit-02-feeds.jpg" alt="Readkit App Screenshot" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/a&gt;&#10;&lt;br&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;That gnawing feeling has now gone away from the back of my brain.&lt;br&gt;&#10;The experience of reading and catching up with the world is once again a &lt;em&gt;glorious&lt;/em&gt; experience thanks to ReadKit.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Moved From Reeder to Readkit&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][2].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;</description></item><item><title>Focus on How Long You Read, Not How Much, aka The Best Advice I Could Give You About Reading Lots of Books</title><link>https://janusworx.com/reading/focus-on-how-long-you-read-not-how-much/</link><pubDate>Fri, 14 Nov 2025 05:45:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/focus-on-how-long-you-read-not-how-much/</guid><description>&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Old Post&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;This is just an old post, about reading, that has moved from the personal section to here.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/reading/my-library.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;via a Tom Gauld Book&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;Ever so often, after one of my reading updates on &lt;a href="https://twitter.com/janusworx/status/1556169549640519682" target="_blank" rel="noreferrer"&gt;social media&lt;/a&gt;, some of my young friends ask me how I get so much &lt;a href="https://janusworx.com/reading/#2022" target="_blank" rel="noreferrer"&gt;reading&lt;/a&gt; done.&lt;/p&gt;&#10;&lt;p&gt;So, I decided to answer it here for posterity and then just point folk here.&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;You are not me.&lt;br&gt;&#10;a. I am a book worm.&lt;br&gt;&#10;b. I am much older than you, with lots more practice.&lt;/li&gt;&#10;&lt;li&gt;You most probably want to rush through a hard, technical book.&lt;br&gt;&#10;a. I find them as hard as you.&lt;br&gt;&#10;b. I read them at, as slow a pace as you.&lt;br&gt;&#10;c. I interleave the hard stuff, with a lot of easy, “I-Love-This” fiction&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://medium.com/the-mission/speed-reading-is-bullshit-f5acbee7f59e" target="_blank" rel="noreferrer"&gt;Speed Reading is Bullshit!&lt;/a&gt;&lt;br&gt;&#10;Once you read a lot of books, you can pattern match and speed up or slow down, through whole blocks and paras and chapters and pages.&lt;/li&gt;&#10;&lt;li&gt;Reading for studying’s sake is &lt;em&gt;work&lt;/em&gt; and unavoidable and not quite related to reading for reading’s sake.&lt;br&gt;&#10;a. These I pucker up and do anyway, just like taking bad medicine.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;The only things that matter, when it comes to reading are …&lt;/p&gt;&#10;&lt;div class="book-list"&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Be consistent. &lt;a href="https://fs.blog/twenty-five-pages-a-day/" target="_blank" rel="noreferrer"&gt;Read a little bit, daily.&lt;/a&gt;&lt;br&gt;&#10;The trick to reading a lot, is to read a little every day.&lt;/li&gt;&#10;&lt;li&gt;And the trick to reading a little every day is to, &lt;a href="https://janusworx.com/blog/atomic-habits/" target="_blank" rel="noreferrer"&gt;make it a habit.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Be curious. Read whatever you want. Read whenever you want. Read wherever you want.&lt;/li&gt;&#10;&lt;li&gt;Quit Books.&lt;br&gt;&#10;You don’t &lt;em&gt;have&lt;/em&gt; to finish it. You don’t &lt;em&gt;have&lt;/em&gt; to &lt;a href="https://fs.blog/shouldnt-slog-books/" target="_blank" rel="noreferrer"&gt;slog through it.&lt;/a&gt;&lt;br&gt;&#10;Set it down. Come back to it, tomorrow … or in a few decades.&lt;br&gt;&#10;Or just throw it out and forget all about it.&lt;/li&gt;&#10;&lt;li&gt;And if reading really becomes a sort of calling for you, &lt;a href="https://fs.blog/how-to-read-a-book/" target="_blank" rel="noreferrer"&gt;then learn how to do it properly.&lt;/a&gt;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;That’s about it for now. If I remember something more, I’ll come back and tack it on here.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;I forget which one!&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;totally optional. I learnt this really late in life and while it has enriched my reading experience, it had nothing to do with my love of reading.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Kubernetes, Note to Self: Need Load Balancer Installed on Bare Metal</title><link>https://janusworx.com/work/kubernetes-note-to-self-need-load-balancer-installed-on-bare-metal/</link><pubDate>Tue, 11 Nov 2025 07:37:54 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/kubernetes-note-to-self-need-load-balancer-installed-on-bare-metal/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/kubernetes.svg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Mostly me. Also other grizzly sysadmins who are learning devops like me.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;One thing that bit me when I was trying to expose my apps to the world when working on the home cluster, is that Kubernetes on bare metal—I was using Kind at the time—expects to talk to a load balancer service, which then talk to an actual load balancer. Which if you are using bare metal, you won’t usually have.&lt;br&gt;&#10;I had to then go expose a “NodePort” to gain access from outside.&lt;/p&gt;&#10;&lt;p&gt;So to expose my stuff in as “&lt;a href="https://www.scotthyoung.com/blog/2020/05/04/do-the-real-thing/" target="_blank" rel="noreferrer"&gt;real world&lt;/a&gt;” a way as possible, we need to:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Either install a load balancer implementation like &lt;a href="https://metallb.io/" target="_blank" rel="noreferrer"&gt;MetalLB&lt;/a&gt;. OR&lt;/li&gt;&#10;&lt;li&gt;Use a Kubernetes distribution that has a load balancer implementation built-in, like &lt;a href="https://k3s.io" target="_blank" rel="noreferrer"&gt;K3s&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;I chose option 2 and used K3s, because I am, as they say in popular parlance, using Kubernetes at the edge.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;&#10;In which case, I prefer to have as many batteries built-in as possible.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feedback@janusworx.com?subject=%22Feedback on post: Kubernetes, Note to Self: Need Load Balancer Installed on Bare Metal&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][2].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;Although, from the articles I’ve read, if you’re doing a multiple node cluster, then you’re better off using MetalLB.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>K3s: Move Data Folder</title><link>https://janusworx.com/work/k3s-move-data-folder/</link><pubDate>Mon, 10 Nov 2025 16:50:45 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/k3s-move-data-folder/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/k3s.svg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Intended Audience&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Mostly me. Also other grizzly sysadmins who are learning devops like me.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;h2 class="relative group"&gt;Problem&#10; &lt;div id="problem" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#problem" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;My main SSD is too small to hold all my kubernetes and K3s shenanigans. (It’s only about 512gb)&#10;So I need a way to move my K3s data folder out to my big HDD.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Solution&#10; &lt;div id="solution" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#solution" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="caution"&gt;&#10; &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;&#10; &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"&gt;&#10;&lt;path fill="currentColor" d="M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-2.8-5.6-5.6-11.2-9.8-16.8l-50.6 58.8s-81.4-103.6-87.1-110.6C133.1 243.8 112 273.2 112 306.8C112 375.4 162.6 416 225.7 416z"/&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="grow"&gt;&#10; Caution&#10; &lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;Before you do any of the following, make sure to stop the cluster with:&lt;br&gt;&#10;&lt;code&gt;sudo systemctl stop k3s&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;K3s supports having a&lt;a href="https://docs.k3s.io/cli/server#data" target="_blank" rel="noreferrer"&gt; custom data directory&lt;/a&gt;, by letting me specify a &lt;code&gt;data-dir&lt;/code&gt;.&lt;br&gt;&#10;I decided to specify it in the &lt;a href="https://docs.k3s.io/installation/configuration#configuration-file" target="_blank" rel="noreferrer"&gt;K3s &lt;code&gt;config&lt;/code&gt; file&lt;/a&gt; at &lt;code&gt;/etc/rancher/k3s/config&lt;/code&gt;.&lt;br&gt;&#10;If it isn’t there (as it wasn’t in my case), just create one. You’ll need to do this as the &lt;code&gt;root&lt;/code&gt; user.&lt;br&gt;&#10;This is what I now have in there.&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;data-dir: /BIGHDD/rancher/k3s&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;And then, I …&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Created a &lt;code&gt;rancher&lt;/code&gt; directory in my big hard disk. (&lt;code&gt;root&lt;/code&gt; owns it)&lt;/li&gt;&#10;&lt;li&gt;Ran rsync as the &lt;code&gt;root&lt;/code&gt; user: &lt;code&gt;rsync -a /var/lib/rancher/k3s/ /BIGHDD/rancher/k3s/&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Started up my cluster again with a &lt;code&gt;sudo systemctl start k3s&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feedback@janusworx.com?subject=%22Feedback on post: K3s: Move Data Folder&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][2].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;</description></item><item><title>Hugo Redirect From Post in One Section to Another</title><link>https://janusworx.com/work/hugo-redirect-from-post-in-one-section-to-another/</link><pubDate>Thu, 06 Nov 2025 08:34:36 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/hugo-redirect-from-post-in-one-section-to-another/</guid><description>&#10;&lt;h2 class="relative group"&gt;Problem&#10; &lt;div id="problem" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#problem" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;I have a post in one section of my site, say &lt;a href="https://janusworx.com/nm/2025-11-06/" &gt;notes and miscellanea&lt;/a&gt;&lt;br&gt;&#10;That is my canonical post.&lt;br&gt;&#10;But I also need it to show up in the work section of my site, possibly with a another name.&lt;br&gt;&#10;A Hugo &lt;code&gt;alias&lt;/code&gt; in the &lt;code&gt;yaml&lt;/code&gt; front matter does not work, since both sections exist and Hugo gets confused.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Solution&#10; &lt;div id="solution" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#solution" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Make sure &lt;code&gt;layouts/redirect/single.html&lt;/code&gt; exists within your Hugo folder structure and it contains just this line …&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-golang" data-lang="golang"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;template&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;alias.html&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dict&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Permalink&amp;#34;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;ol start="2"&gt;&#10;&lt;li&gt;Create your &lt;a href="https://janusworx.com/nm/2025-11-06/" &gt;original post&lt;/a&gt; as usual&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;Then&lt;/em&gt; go create a post in your &lt;em&gt;other&lt;/em&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; section with the following metadata:&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;&amp;lt;Your title here&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;#date autogenerated by my archetype. if missing, add date&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;date&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ld"&gt;2025-11-06T08:30:54&lt;/span&gt;&lt;span class="m"&gt;+05&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;30&lt;/span&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;redirect&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;&amp;lt;url-to-redirect-to&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;&amp;lt;Optional text, that will appear in the sectiones listing page&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;ol start="4"&gt;&#10;&lt;li&gt;The &lt;code&gt;date&lt;/code&gt; field is critical. The post might not appear where you expect it, if it’s absent.&lt;br&gt;&#10;If not date, then you might need to use &lt;code&gt;weight&lt;/code&gt;. One of the two is needed.&lt;/li&gt;&#10;&lt;li&gt;In my case, the metadata looked like this:&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;The Plan for My New Hetzner VM&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;date&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ld"&gt;2025-11-06T08:30:54&lt;/span&gt;&lt;span class="m"&gt;+05&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;30&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;redirect&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;/nm/2025-11-06/&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Alone and helpless, like you&amp;#39;ve lost your fight &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;ol start="6"&gt;&#10;&lt;li&gt;Done! You can see an entry for “The Plan for My New Hetzner VM” in my work section as you see in the pic below. &lt;a href="https://janusworx.com/work/the-plan-for-my-new-hetzner-vm/" &gt;Clicking that&lt;/a&gt; will redirect to the actual post in my &lt;a href="https://janusworx.com/nm/2025-11-06/" &gt;Notes and Miscellanea&lt;/a&gt; section!&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/hugo-redirect-from-post-in-one-section-to-another.png" alt="Hugo Section with Post entries" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;ol start="7"&gt;&#10;&lt;li&gt;Tada 🎉&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feedback@janusworx.com?subject=%22Feedback on post: Hugo Redirect From Post in One Section to Another&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][2].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;in my case, &lt;a href="https://janusworx.com/work/" &gt;work&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>The Plan for My New Hetzner VM</title><link>https://janusworx.com/work/the-plan-for-my-new-hetzner-vm/</link><pubDate>Thu, 06 Nov 2025 08:30:54 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/the-plan-for-my-new-hetzner-vm/</guid><description>&#10;&lt;h2 class="relative group"&gt;Update: &lt;a href="https://janusworx.com/nm/2025-12-11/" &gt;2025-12-11&lt;/a&gt;&#10; &lt;div id="update-2025-12-11" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#update-2025-12-11" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;em&gt;I got it done!&lt;/em&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Preamble&#10; &lt;div id="preamble" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#preamble" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;If this post is weird and stream of consciousness like, that’s by design.&lt;br&gt;&#10;You are seeing a &lt;a href="https://janusworx.com/" &gt;notes and miscellanea&lt;/a&gt; post, in the work category.&lt;br&gt;&#10;I want to be able to think through what I am doing. Mostly to clarify, document and explicitly state &lt;em&gt;&lt;strong&gt;what&lt;/strong&gt;&lt;/em&gt; I want. To avoid shifting goalposts (or rather to shift them intentionally, if need be.)&lt;br&gt;&#10;I’ll be updating and revising this post as I think and learn and experience things&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Goals&#10; &lt;div id="goals" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#goals" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Think about and write what I want to get done with my hetzner&lt;/li&gt;&#10;&lt;li&gt;For now, the how does not matter&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h2 class="relative group"&gt;What I want&#10; &lt;div id="what-i-want" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-i-want" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;A VM running K3s, that I can deploy my Hugo website to, as well all the apps that I choose to run on Janusworx&lt;/li&gt;&#10;&lt;li&gt;My main need with a cluster is the GitOps aspect. Not the scaling or redundancy.&#10;I want infrastructure as code and automated updates, as much as possible.&lt;/li&gt;&#10;&lt;li&gt;Everything goes through my Forgejo instance at home&lt;/li&gt;&#10;&lt;li&gt;I write a post and it should deploy to the website somehow&lt;/li&gt;&#10;&lt;li&gt;Apps that I put in there, either just my config files of already published images/deployments, or my own custom things, ought to be pushed to or pulled by the cluster and deployed. Upgrades should be a matter of manipulating code&lt;/li&gt;&#10;&lt;li&gt;Secrets should be self hosted, via environment variables or some self hosted solution. Never at a third party service&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;2025-11-06 09:35&#10; &lt;div id="2025-11-06-0935" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2025-11-06-0935" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Got tangled with Hugo in the morning.&lt;/li&gt;&#10;&lt;li&gt;I think I got the basics down, the VM comes up. K3s in installed, but in what order do I move my apps over?&lt;/li&gt;&#10;&lt;li&gt;Think I’ll the root domail last. And try beginning with the “simpler” apps first&lt;/li&gt;&#10;&lt;li&gt;Begin with familiarising myself with Helm&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;2025-11-06 10:06:&lt;/em&gt; Tea break&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;2025-11-06 13:06:&lt;/em&gt; Lunch break&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;2025-11-06 16:00&#10; &lt;div id="2025-11-06-1600" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2025-11-06-1600" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Back. Trying to port my dev terraform setup to production. It should &lt;em&gt;just&lt;/em&gt; work. But it does not.&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;2025-11-06 16:59:&lt;/em&gt; Solved. I had somehow borked my Terraform state. Nuked it. And then things started working again&lt;/li&gt;&#10;&lt;li&gt;Show stopper now. My GPG key has expired. Need to figure out how to sign my git commits with SSH now&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;2025-11-06 18:26:&lt;/em&gt; I &lt;em&gt;think&lt;/em&gt; I’ve licked it. Both Github and Forgejo don’t seem to be complaining. Let’s see what else I’ve broken over the coming days&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;2025-11-06 20:00:&lt;/em&gt; Done! My production cluster is up! &lt;em&gt;&lt;strong&gt;And&lt;/strong&gt;&lt;/em&gt; I can tear it down and build it up consistently. Now to work with it tomorrow.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feedback@janusworx.com?subject=%22Feedback on post: The Plan for My New Hetzner VM&#10;%22" &gt;feedback at this domain&lt;/a&gt;.&#10;&lt;br&gt;&#10;&lt;/p&gt;&#10;</description></item><item><title>Make a Ruckus: 001, Done! Or Are We? Thank you, Dave!</title><link>https://janusworx.com/work/make-a-ruckus-001/</link><pubDate>Sat, 20 Sep 2025 13:39:01 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/make-a-ruckus-001/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/ruckus-mabel.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;Cute wolf Mabel, who caused quite a Ruckus, courtesy David Beazley&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I had &lt;a href="https://janusworx.com/work/make-a-ruckus-000/" &gt;started this series&lt;/a&gt;, to catalogue my journey learning Rust whilst doing David Beazley’s, &lt;a href="https://dabeaz.com/ruckus.html" target="_blank" rel="noreferrer"&gt;Ruckus&lt;/a&gt; course.&lt;br&gt;&#10;And just like that, it’s over! 😂 The course is done, and I am already missing Dave and my fellow journey folk, Rodica, Yadu, Marko, Upul, Gabriela, and Eugene!&lt;br&gt;&#10;I never thought the end would be so bittersweet.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Worth it financially?&#10; &lt;div id="worth-it-financially" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#worth-it-financially" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Yes! Oh, dear God, yes!&lt;br&gt;&#10;To begin with, I never thought that Dave’s courses were expensive. Yes, they cost money, but he’s given so much away for free, that I was willing to save up and put my money where my mouth was.&lt;br&gt;&#10;I also think, I’ve figured out Dave’s schtick with the idea of what he teaches.&lt;br&gt;&#10;Take something, something hard, (Write a &lt;a href="https://dabeaz.com/compiler.html" target="_blank" rel="noreferrer"&gt;compiler&lt;/a&gt;? Figure out &lt;a href="https://dabeaz.com/raft.html" target="_blank" rel="noreferrer"&gt;distributed consensus&lt;/a&gt; in networked systems? &lt;a href="https://dabeaz.com/sicp.html" target="_blank" rel="noreferrer"&gt;The big ideas and paradigms&lt;/a&gt; in computing?); something that would take an average Joe, 4-6 months (or a college semester) to learn, and then compress it down to anything from a couple of days to a work week. Compress the time that is … not the knowledge.&lt;br&gt;&#10;Having &lt;em&gt;that&lt;/em&gt; much knowledge &lt;a href="https://www.youtube.com/watch?v=w_8NsPQBdV0" target="_blank" rel="noreferrer"&gt;dowloaded into your head&lt;/a&gt; in that short a time frame, is what (to use a Dave-ism) makes your brain explode.&lt;br&gt;&#10;And now having actually done it, I’m now swinging around to the price is just right or “He actually undercharges a bit” camp.&lt;br&gt;&#10;This is bloody addicting. I’m just going to save up and &lt;a href="https://dabeaz.com/courses.html" target="_blank" rel="noreferrer"&gt;do them all&lt;/a&gt; as and when I can over time. Like Neo answering Tank’s, “How about some more?”, with a &lt;em&gt;&lt;strong&gt;&lt;a href="https://youtu.be/w_8NsPQBdV0?t=41" target="_blank" rel="noreferrer"&gt;Hell yes!&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;Worth it for the knowledge I gained?&#10; &lt;div id="worth-it-for-the-knowledge-i-gained" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#worth-it-for-the-knowledge-i-gained" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Have I already said, Oh, dear God, Yes?! Doubly so, here!&lt;br&gt;&#10;Learning it myself, I realised that Rust had paradigms, teasing me at the edge of my vision, which I couldn’t quite see, frustrating my attempts to learn the language.&lt;br&gt;&#10;Python (C/OOP) is my &lt;a href="https://madhadron.com/programming/seven_ur_languages.html" target="_blank" rel="noreferrer"&gt;ur-language&lt;/a&gt;. Having that, made it easy to learn Go. Rust turned out to be a different beast altogether. Having the big ideas of Rust laid bare and then explained thoroughly was therefore, such an eye opening experience. And I learned it while doing something else, that is inherently hard. Dave makes it easy though, like I describe below.&lt;/p&gt;&#10;&lt;p&gt;I just wanted to learn Rust. I didn’t really want to write a small programming language.&lt;br&gt;&#10;But doing that, made me learn Rust without even realising it. He’s that good. The pedagogical method is that good.&lt;br&gt;&#10;Most big ideas were in there. Ownership and borrowing, check. Compare and contrast how things are done in other languages, double check. Macro magic, check and triple check.&lt;br&gt;&#10;The course was more focussed on the why of Rust, more than the more easily discoverable, how.&lt;br&gt;&#10;A fascinating mental model was looking at Rust like Earth. An inner strict core, surrounded by a more relaxed, friendlier outer shell.&lt;/p&gt;&#10;&lt;p&gt;Daily work was tremendously, mentally taxing. In a &lt;em&gt;&lt;strong&gt;good&lt;/strong&gt;&lt;/em&gt; way.&lt;br&gt;&#10;Dave keeps saying that minds explode due to the material. But no good Sir, that is not true!&lt;br&gt;&#10;To Dave I say, &lt;em&gt;“’Tis thou, Dave, who dost cause the explosions of brains!”&lt;/em&gt;&lt;br&gt;&#10;He starts with an innocent problem, something seemingly innocuous, and then lays his trap.&lt;br&gt;&#10;Simple solutions are shown not to work, teensy yet ghastly exceptions show up to trip you, dreadful scenarios that you’d never imagine, lie beneath the surface. And your mind gets wound up so tight, that when Dave finally has had his fun, takes pity on us and shows us the solution, it naturally goes, &lt;em&gt;&lt;strong&gt;Boom!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;I cannot wait, to have my brains exploded once again :)&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Am I done with this series?&#10; &lt;div id="am-i-done-with-this-series" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#am-i-done-with-this-series" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;No.&lt;br&gt;&#10;I jumped into the deep end of the pool, by attempting to learn Rust with a hard project at the same time.&lt;br&gt;&#10;So while I’ve learned a lot, there’s plenty of work to do.&lt;br&gt;&#10;While the others could do their programming exercises quickly, I have seriously lagged behind.&lt;br&gt;&#10;With the notes I’ve made and the resources that I have access to, I will attempt to redo this week myself over the coming months and write about it, and ponder, struggle, work through it here.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Dave as teacher and all round good egg&#10; &lt;div id="dave-as-teacher-and-all-round-good-egg" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#dave-as-teacher-and-all-round-good-egg" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;The man puts in tremendous amounts of work.&lt;br&gt;&#10;Every bit of the course, is planned and structured meticulously and then he just riffs off of the ideas.&lt;br&gt;&#10;There was a collaborative Github repo ready and waiting, there were video recordings ready as soon as the day was done.&lt;br&gt;&#10;Dave never pretends to have all the answers. 99% of the time, he does and hides it well, so we do the thinking, but the few times he didn’t, he let us know and then came back to us with answers and thoughts either in the next session or the next day.&lt;br&gt;&#10;Unfailingly polite, kind and generous to a fault, he fostered an extremely collaborative environment, in which, even when there were other folks much more learned and experienced than I; I never felt like a dunce. I never felt spoken down to.&lt;br&gt;&#10;All my kooky ideas were evaluated, and then Dave would point out why doing something like what I suggested wouldn’t quite work or why stuff would crash and burn or why what I suggested doing eeny, meeny, miny, moe was in fact, pretty good.&lt;br&gt;&#10;I learned not just &lt;em&gt;what&lt;/em&gt;, not just &lt;em&gt;how&lt;/em&gt;, but also &lt;em&gt;why&lt;/em&gt;.&lt;br&gt;&#10;And I learned it all in a place that was nice, and friendly, and warm, and kind.&lt;/p&gt;&#10;&lt;p&gt;Dave, thank you for all you do! I’m very grateful!&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Make a Ruckus: 001, Done! Or Are We? Thank you, Dave!&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][2].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;</description></item><item><title>Make a Ruckus: 000, The Motivation</title><link>https://janusworx.com/work/make-a-ruckus-000/</link><pubDate>Thu, 11 Sep 2025 13:47:52 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/make-a-ruckus-000/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/ruckus-wolf-howl.svg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;&lt;a href="https://commons.wikimedia.org/wiki/File:Wolf_howl_icon.svg" target="_blank" rel="noreferrer"&gt;Wolf howl, by Lorc&lt;/a&gt;, &lt;a href="https://creativecommons.org/licenses/by/3.0" target="_blank" rel="noreferrer"&gt;CC BY 3.0&lt;/a&gt;, via Wikimedia Commons&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I signed up for the latest cohort of &lt;a href="https://dabeaz.com/about.html" target="_blank" rel="noreferrer"&gt;David Beazley’s&lt;/a&gt;, &lt;a href="https://dabeaz.com/ruckus.html" target="_blank" rel="noreferrer"&gt;Ruckus&lt;/a&gt;.&lt;br&gt;&#10;The basic idea, behind Ruckus is to write a small interpreter in Rust!&lt;/p&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Why?&#10; &lt;div id="why" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;From the &lt;a href="https://dabeaz.com/ruckus.html" target="_blank" rel="noreferrer"&gt;Ruckus&lt;/a&gt; page:&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;This course tackles Rust by stepping back and thinking about it from the standpoint of a &amp;ldquo;programming languages&amp;rdquo; project. If Rust is really so different, how would you go about finding out how? Suffice to say, building a programming language will cut right to the heart of the matter.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;This is exactly how I learned Python. Only it took me an inordinately long time. And I didn’t even realise that I was doing it that way. While most of my friends were happy just using Python, I could not quite do it right, because I had no fundamentals&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;, and since my background has been tech support, hardware and people management, I needed to unlearn a ton of stuff.&lt;/p&gt;&#10;&lt;p&gt;I’m cautiously hoping Ruckus will help me do the same with Rust, only in a turbo charged manner.&lt;/p&gt;&#10;&lt;p&gt;Rust fascinates me. And I quite like my journey to its doorstep.&lt;br&gt;&#10;I learned writing for myself with Python. But when it came time to sharing my tiny projects with friends and family, I was a bit stumped.&lt;br&gt;&#10;I learned Go, just so I could give them a binary and then instruct them with a “just run this.”&lt;br&gt;&#10;And while that solved my distribution problem, Go’s type system made me realise, just how well suited a typed language is for collaboration.&lt;br&gt;&#10;Which brings me to Rust. Long term, this is the language&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;, I would love to write for performant code, because Rust’s big picture features (safe, performant, easy to distribute) are exactly what I want for all my tiny bits and bobs.&lt;/p&gt;&#10;&lt;p&gt;Which in turn brings me back to Ruckus.&lt;br&gt;&#10;Getting a teensy peek at how everything works underneath, while at the same time, getting a firm handle on the language seems like a fun challenge.&lt;br&gt;&#10;I also wanted to try what Cal Newport, calls a grand gesture in &lt;a href="https://calnewport.com/deep-work-rules-for-focused-success-in-a-distracted-world/" target="_blank" rel="noreferrer"&gt;Deep Work&lt;/a&gt;:&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The concept is simple: By leveraging a radical change to your normal environment, coupled perhaps with a significant investment of effort or money, all dedicated toward supporting a deep work task, you increase the perceived importance of the task. This boost in importance reduces your mind’s instinct to procrastinate and delivers an injection of motivation and energy.&lt;br&gt;&#10;[…] The dominant force is the psychology of committing so seriously to the task at hand. To put yourself in an exotic location to focus on a writing project, or to take a week off from work just to think, or to lock yourself in a hotel room until you complete an important invention: These gestures push your deep goal to a level of mental priority that helps unlock the needed mental resources. Sometimes to go deep, you must first go big.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;Make no mistake, my current state is that of an enthusiastic, ignorant newbie. How hard can it be? I’m woefully unprepared for what might come. The only thing I know, is that I &lt;em&gt;don’t&lt;/em&gt; know. I fully expect to be like the wolf above, losing my mind, howling at the moon and generally creating a ruckus.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Make a Ruckus: 000, The Motivation&#10;%22" &gt;feedback at this domain&lt;/a&gt; or &lt;a href="https://dc.janusworx.com/t/make-a-ruckus-000-the-motivation/159" target="_blank" rel="noreferrer"&gt;continue the discourse here&lt;/a&gt;.&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;I have &lt;em&gt;some&lt;/em&gt; now&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;I thought I could be pragmatic about the giant that stewards Go, but I realise that it’s something that’ll always stick in my craw. I have no issues using it with other folks or in a collaborative project. I just don’t want to use it for myself and my projects.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>14 (All is Possible!)</title><link>https://janusworx.com/personal/14/</link><pubDate>Wed, 10 Sep 2025 00:00:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/personal/14/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/happy-anniversary-14.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;How it started &lt;em&gt;&amp;amp;&lt;/em&gt; How it’s going!&lt;/p&gt;&#10;&lt;p&gt;Picture credits, Walter Pinto &lt;em&gt;&amp;amp;&lt;/em&gt; &lt;a href="https://psaggu.com/" target="_blank" rel="noreferrer"&gt;Priyanka Saggu&lt;/a&gt;&lt;br&gt;&#10;Click the pic, to make big!&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;center&gt;In love, as in dreams,&lt;br&gt; &#10;all is possible!&lt;br&gt;&lt;/center&gt; &#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I love you for completing me, in every possible way. I cannot imagine life without you! 😘&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: 14 (All is Possible!)&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][2].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;</description></item><item><title>How to Read a Book: 009, Elementary Reading, The First Level</title><link>https://janusworx.com/reading/how-to-read-a-book-009/</link><pubDate>Wed, 20 Aug 2025 18:16:23 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/how-to-read-a-book-009/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;image courtesy, &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;Simon &amp;amp; Schuster&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;The book now dives into &lt;a href="https://janusworx.com/reading/how-to-read-a-book-004/" &gt;the Four Levels of Reading&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;We tackle notes from the First Level of Reading, &lt;a href="https://janusworx.com/reading/how-to-read-a-book-004/#level-1-elementary-reading" &gt;Elementary Reading&lt;/a&gt;, today&lt;/p&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Stages of Learning to Read&#10; &lt;div id="stages-of-learning-to-read" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#stages-of-learning-to-read" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;1. First Stage of Learning to read (Reading Readiness)&lt;/strong&gt;&lt;br&gt;&#10;This begins, at birth, and continues normally until the age of about six or seven.&#10;Reading readiness includes several different kinds of preparation for learning to read.&lt;br&gt;&#10;Physical readiness involves good vision and hearing. Intellectual readiness involves a minimum level of visual perception such that the child can take in and remember an entire word and the letters that combine to form it.&lt;br&gt;&#10;Language readiness involves the ability to speak clearly and to use several sentences in correct order.&lt;br&gt;&#10;Personal readiness involves the ability to work with other children, to sustain attention, to follow directions, and the like.&lt;br&gt;&#10;General reading readiness is assessed by tests and is also estimated by teachers who are often skillful at discerning just when a pupil is ready to learn to read.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;2. Second Stage: Simple Material Reading&lt;/strong&gt;&#10;Children learn to read very simple materials.&lt;br&gt;&#10;They usually begin, by learning a few sight words, and typically manage to master perhaps three hundred to four hundred words by the end of the first year. Basic skills are introduced at this time, such as the use of context or meaning clues and the beginning sounds of words.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;The Miracle of Reading&lt;/strong&gt;&lt;br&gt;&#10;It is incidentally worth observing that something quite mysterious, almost magical, occurs during this stage.&lt;br&gt;&#10;At one moment in the course of her development the child, when faced with a series of symbols on a page, finds them quite meaningless. Not much later—perhaps only two or three weeks later—she has discovered meaning in them; she knows that they say “The cat sat on the hat.”&lt;br&gt;&#10;How this happens no one really knows, despite the efforts of philosophers and psychologists over two and a half millennia to study the phenomenon. Where does meaning come from? How is it that a French child would find the same meaning in the symbols “Le chat s’asseyait sur le chapeau”?&lt;br&gt;&#10;Indeed, this discovery of meaning in symbols may be the most astounding intellectual feat that any human being ever performs—and most humans perform it before they are seven years old!&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;3.Third Stage: Vocabulary Acquisition&lt;/strong&gt;&lt;br&gt;&#10;The third stage is characterized by rapid progress in vocabulary building and by increasing skill in “unlocking” the meaning of unfamiliar words through context clues.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;4. Fourth Stage: Assimilation&lt;/strong&gt;&lt;br&gt;&#10;Finally, the fourth stage is characterized by the refinement and enhancement of the skills previously acquired. Above all, the student begins to be able to assimilate his reading experiences—that is, to carry over concepts from one piece of writing to another, and to compare the views of different writers on the same subject. This, the mature stage of reading, should be reached by young persons in their early teens. Ideally, they should continue to build on it for the rest of their lives.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Stages and Levels&#10; &lt;div id="stages-and-levels" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#stages-and-levels" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;It is of paramount importance to recognize that the four stages outlined here are all stages of the first level of reading&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;The first stage of elementary reading—&lt;em&gt;&lt;strong&gt;reading readiness&lt;/strong&gt;&lt;/em&gt;—corresponds to pre-school and kindergarten experiences.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;The second stage—&lt;em&gt;&lt;strong&gt;word mastery&lt;/strong&gt;&lt;/em&gt;—corresponds to the first grade experience of the typical child (although many quite normal children are not “typical” in this sense), with the result that the child attains what we can call second-stage reading skills, or first grade ability in reading or first grade literacy.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;The third stage of elementary reading—&lt;em&gt;&lt;strong&gt;vocabulary growth and the utilization of context&lt;/strong&gt;&lt;/em&gt;—is typically (but not universally, even for normal children) acquired at about the end of the fourth grade of elementary school and results in what is variously called fourth grade, or functional, literacy—the ability, according to one common definition, to read traffic signs or picture captions fairly easily, to fill out the simpler government forms, and the like.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;The fourth and final stage of elementary reading is attained at about the time the pupil leaves or graduates from elementary school or junior high school. It is sometimes called eighth grade, ninth grade, or tenth grade literacy. The child is a “mature” reader in the sense that he is now capable of reading almost anything, but still in a relatively unsophisticated manner. In the simplest terms, he is mature enough to do high school work.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: How to Read a Book: 009, Elementary Reading, The First Level&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][2].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;&lt;p&gt;[2]:&lt;/p&gt;&#10;</description></item><item><title>How to Read a Book: 008, More On the Activity and the Art of Reading</title><link>https://janusworx.com/reading/how-to-read-a-book-008/</link><pubDate>Tue, 19 Aug 2025 14:40:20 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/how-to-read-a-book-008/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;image courtesy, &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;Simon &amp;amp; Schuster&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Enlightenment or Sophmore(istry)? Reading serves both. It’s the reader who is the difference&#10; &lt;div id="enlightenment-or-sophmoreistry-reading-serves-both-its-the-reader-who-is-the-difference" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#enlightenment-or-sophmoreistry-reading-serves-both-its-the-reader-who-is-the-difference" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;To be informed is to know simply that something is the case.&lt;br&gt;&#10;To be enlightened is to know, in addition, what it is all about: why it is the case, what its connections are with other facts, in what respects it is the same, in what respects it is different, and so forth.&lt;br&gt;&#10;This distinction is familiar in terms of the differences between being able to remember something and being able to explain it.&lt;br&gt;&#10;[…] you have gained nothing but information if you have exercised only your memory. You have not been enlightened. Enlightenment is achieved only when, in addition to knowing what an author says, you know what he means and why he says it.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;It is true, of course, that you should be able to remember what the author said as well as know what he meant. Being informed is prerequisite to being enlightened. The point, however, is not to stop at being informed.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Montaigne speaks of “an abecedarian ignorance that precedes knowledge, and a doctoral ignorance that comes after it.”&lt;br&gt;&#10;The first is the ignorance of those who, not knowing their ABC’s, cannot read at all.&lt;br&gt;&#10;The second is the ignorance of those who have misread many books.&lt;br&gt;&#10;They are, as Alexander Pope rightly calls them, bookful blockheads, ignorantly read. There have always been literate ignoramuses who have read too widely and not well. The Greeks had a name for such a mixture of learning and folly which might be applied to the bookish but poorly read of all ages. They are all sophomores.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Art of Reading&#10; &lt;div id="art-of-reading" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#art-of-reading" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The process whereby a mind, with nothing to operate on but the symbols of the readable matter, and with no help from outside, elevates itself by the power of its own operations. The mind passes from understanding less to understanding more. The skilled operations that cause this to happen are the various acts that constitute the art of reading.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;What is Reading? A couple of meanings …&#10; &lt;div id="what-is-reading-a-couple-of-meanings-" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-is-reading-a-couple-of-meanings-" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;em&gt;&lt;strong&gt;1. When you already know things&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The first sense is the one in which we speak of ourselves as reading newspapers, magazines, or anything else that, according to our skill and talents, is at once thoroughly intelligible to us.&lt;br&gt;&#10;Such things may increase our store of information, but they cannot improve our understanding, for our understanding was equal to them before we started. Otherwise, we would have felt the shock of puzzlement and perplexity that comes from getting in over our depth—that is, if we were both alert and honest&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;2. When you understand new things&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The second sense is the one in which a person tries to read something that at first he does not completely understand.&lt;br&gt;&#10;Here the thing to be read is initially better or higher than the reader. The writer is communicating something that can increase the reader’s understanding. Such communication between unequals must be possible, or else one person could never learn from another, either through speech or writing. Here by “learning” is meant understanding more, not remembering more information that has the same degree of intelligibility as other information you already possess.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;On Reading as Discovery&#10; &lt;div id="on-reading-as-discovery" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#on-reading-as-discovery" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The distinction between being informed vs being enlightened is familiar in terms of the differences between being able to remember something and being able to explain it.&lt;br&gt;&#10;Enlightenment is achieved only when, in addition to knowing what an author says, you know what he means and why he says it.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;To avoid error of assuming that to be widely read and to be well-read are the same thing—we must consider a certain distinction in types of learning.&lt;/p&gt;&#10;&lt;p&gt;In the history of education, people have often distinguished between learning by instruction and learning by discovery. Instruction occurs when one person teaches another through speech or writing. We can, however, gain knowledge without being taught. If this were not the case, and every teacher had to be taught what he in turn teaches others, there would be no beginning in the acquisition of knowledge. Hence, there must be discovery—the process of learning something by research, by investigation, or by reflection, without being taught.&lt;/p&gt;&#10;&lt;p&gt;Discovery stands to instruction as learning without a teacher stands to learning through the help of one. In both cases, the activity of learning goes on in the one who learns. It would be a mistake to suppose that discovery is active learning and instruction passive. There is no inactive learning, just as there is no inactive reading.&lt;br&gt;&#10;This is so true, in fact, that a better way to make the distinction clear is to call instruction “aided discovery.”&lt;/p&gt;&#10;&lt;p&gt;The difference between learning by instruction and learning by discovery—or, as we would prefer to say, between aided and unaided discovery—is primarily a difference in the materials on which the learner works. When he is being instructed—discovering with the help of a teacher—the learner acts on something communicated to her. She performs operations on discourse, written or oral. She learns by acts of reading or listening.&lt;br&gt;&#10;When, however, the learner proceeds without the help of any sort of teacher, the operations of learning are performed on nature or the world rather than on discourse. The rules of such learning constitute the art of unaided discovery. If we use the word “reading” loosely, we can say that discovery—strictly, unaided discovery—is the art of reading nature or the world, as instruction (being taught, or aided discovery) is the art of reading books or, to include listening, of learning from discourse.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Thinking is only one part of the activity of learning. One must also use one’s senses and imagination. One must observe, and remember, and construct imaginatively what cannot be observed. There is, again, a tendency to stress the role of these activities in the process of unaided discovery and to forget or minimize their place in the process of being taught through reading or listening. For example, many people assume that though a poet must use his imagination in writing a poem, they do not have to use their imagination in reading it.&lt;/p&gt;&#10;&lt;p&gt;The art of reading, in short, includes all of the same skills that are involved in the art of unaided discovery: keenness of observation, readily available memory, range of imagination, and, of course, an intellect trained in analysis and reflection. The reason for this is that reading in this sense is discovery, too—although with help instead of without it.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;On Present and Absent Teachers (Or as Munger would have put it, the eminent dead)&#10; &lt;div id="on-present-and-absent-teachers-or-as-munger-would-have-put-it-the-eminent-dead" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#on-present-and-absent-teachers-or-as-munger-would-have-put-it-the-eminent-dead" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;We have been proceeding as if reading and listening could both be treated as learning from teachers. To some extent that is true. Both are ways of being instructed, and for both one must be skilled in the art of being taught. Listening to a course of lectures, for example, is in many respects like reading a book; and listening to a poem is like reading it.&lt;br&gt;&#10;Yet there is good reason to place primary emphasis on reading, and let listening become a secondary concern. The reason is that listening is learning from a teacher who is present—a living teacher—while reading is learning from one who is absent.&lt;/p&gt;&#10;&lt;p&gt;If you ask a living teacher a question, she will probably answer you. If you are puzzled by what she says, you can save yourself the trouble of thinking by asking her what he means.&lt;br&gt;&#10;If, however, you ask a book a question, you must answer it yourself. In this respect a book is like nature or the world. When you question it, it answers you only to the extent that you do the work of thinking and analysis yourself.&lt;/p&gt;&#10;&lt;p&gt;This does not mean, of course, that if the living teacher answers your question, you have no further work. That is so only if the question is simply one of fact. But if you are seeking an explanation, you have to understand it or nothing has been explained to you. Nevertheless, with the living teacher available to you, you are given a lift in the direction of understanding her, as you are not when the teacher’s words in a book are all you have to go by.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;[…] (for us readers though) our continuing education depends mainly on books alone, read without a teacher’s help. Therefore if we are disposed to go on learning and discovering, we must know how to make books teach us well. Reading, like unaided discovery, is learning from an absent teacher.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: How to Read a Book: 008, More On the Activity and the Art of Reading&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][2].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;&lt;p&gt;[2]:&lt;/p&gt;&#10;</description></item><item><title>How to Read a Book: 007, Highlights from the Activity and the Art of Reading</title><link>https://janusworx.com/reading/how-to-read-a-book-007/</link><pubDate>Mon, 18 Aug 2025 18:55:42 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/how-to-read-a-book-007/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;image courtesy, &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;Simon &amp;amp; Schuster&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;Paraphrased and excerpted as usual …&lt;/p&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Thinking is vitally important, but the modern world does not let us …&#10; &lt;div id="thinking-is-vitally-important-but-the-modern-world-does-not-let-us-" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#thinking-is-vitally-important-but-the-modern-world-does-not-let-us-" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;One of the reasons for this situation is that the very media we have mentioned are so designed as to make thinking seem unnecessary (though this is only an appearance).&lt;br&gt;&#10;The packaging of intellectual positions and views is one of the most active enterprises of some of the best minds of our day. The viewer of television, the listener to radio, the reader of magazines, &lt;em&gt;&lt;strong&gt;(the “consumer” of modern internet streams —mjb)&lt;/strong&gt;&lt;/em&gt; is presented with a whole complex of elements—all the way from ingenious rhetoric to carefully selected data and statistics—to make it easy for one to “make up one’s own mind” with the minimum of difficulty and effort.&lt;br&gt;&#10;But the packaging is often done so effectively that the viewer, listener, or reader does not make up their own mind at all. Instead, they inserts a packaged opinion into their mind, somewhat like inserting a cassette into a cassette player. They then push a button and “play back” the opinion whenever it seems appropriate to do so. They have performed acceptably without having had to think.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;On the ability to read &lt;em&gt;actively&lt;/em&gt; &amp;amp; the need to make an effort to match the author’s&#10; &lt;div id="on-the-ability-to-read-actively--the-need-to-make-an-effort-to-match-the-authors" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#on-the-ability-to-read-actively--the-need-to-make-an-effort-to-match-the-authors" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Since reading of any sort is an activity, all reading must to some degree be active. Completely passive reading is impossible; we cannot read with our eyes immobilized and our minds asleep. Hence when we contrast active with passive reading, our purpose is, first, to call attention to the fact that reading can be more or less active, and second, to point out that &lt;em&gt;&lt;strong&gt;the more active the reading the better.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Reading and listening are commonly thought of as receiving communication from someone who is actively engaged in giving or sending it. The mistake here is to suppose that receiving communication is like receiving a blow or a legacy or a judgment from the court.&lt;br&gt;&#10;On the contrary, the reader or listener is much more like the catcher in a game of baseball.&lt;br&gt;&#10;Catching the ball is just as much an activity as pitching or hitting it. The pitcher or batter is the sender in the sense that his activity initiates the motion of the ball. The catcher or fielder is the receiver in the sense that his activity terminates it. Both are active, though the activities are different.&lt;br&gt;&#10;If anything is passive, it is the ball. It is the inert thing that is put in motion or stopped, whereas the players are active, moving to pitch, hit, or catch. The analogy with writing and reading is almost perfect. The thing that is written and read, like the ball, is the passive object common to the two activities that begin and terminate the process.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;We can take this analogy a step further. The art of catching is the skill of catching every kind of pitch—fast balls and curves, changeups and knucklers.&lt;br&gt;&#10;Similarly, the art of reading is the skill of catching every sort of communication as well as possible.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;It is noteworthy that the pitcher and catcher &lt;em&gt;&lt;strong&gt;are successful only to the extent that they cooperate.&lt;/strong&gt;&lt;/em&gt; The relation of writer and reader is similar. Successful communication occurs in any case where what the writer wanted to have received finds its way into the reader’s possession. The writer’s skill and the reader’s skill converge upon a common end.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;There is one respect in which the analogy breaks down. The ball is a simple unit. It is either completely caught or not.&lt;br&gt;&#10;A piece of writing, however, is a complex object. It can be received more or less completely, all the way from very little of what the writer intended to the whole of it. The amount the reader “catches” will usually depend on the amount of activity he puts into the process, as well as upon the skill with which he executes the different mental acts involved.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;What does active reading entail?&lt;br&gt;&#10;Given the same thing to read, one person reads it better than another, first, by reading it more actively, and second, by performing each of the acts involved more skillfully. These two things are related.&lt;br&gt;&#10;&lt;em&gt;&lt;strong&gt;Reading is a complex activity, just as writing is.&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;&#10;It consists of a large number of separate acts, all of which must be performed in a good reading. The person who can perform more of them is better able to read.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: How to Read a Book: 007, Highlights from the Activity and the Art of Reading&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][2].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;/p&gt;&#10;</description></item><item><title>How to Read a Book: 006, Own Your Book</title><link>https://janusworx.com/reading/how-to-read-a-book-006/</link><pubDate>Wed, 13 Aug 2025 19:02:52 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/how-to-read-a-book-006/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;image courtesy, &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;Simon &amp;amp; Schuster&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I’ve always been precious about the physical books, I have.&lt;br&gt;&#10;Partly because the books I read when I was a child, didn’t belong to me.&lt;br&gt;&#10;And so, I wrote notes. Gentle pencil marks as I read (to be erased, before I returned them), and then writing them all out into a notebook (and later typed in to a computer when I could afford one.)&lt;/p&gt;&#10;&lt;p&gt;I’ve &lt;em&gt;longed&lt;/em&gt; to write in the damned books themselves, but old habits die hard. Until I read Adler, that is.&lt;/p&gt;&#10;&lt;p&gt;And then the clouds parted.&lt;/p&gt;&#10;&lt;p&gt;Marking a book, making it your own, highlighting it, questioning it, raging at it, whispering to it, completing the conversation, the author wishes to have with you … all of it, is such a sheer, physical, visceral experience.&lt;br&gt;&#10;I wonder why I didn’t do it sooner. Better late than never though. I’ve been marking every physical book and highlighting and annotating every electronic book, ever since I got back into reading, &lt;a href="https://janusworx.com/reading/2017-and-older/" &gt;ten years ago&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Here’s Adler on &lt;em&gt;why&lt;/em&gt; one needs to physically manhandle a book.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Merely asking questions [of a book] is not enough. You have to try to answer them. And although that could be done, theoretically, in your mind only, it is much easier to do it with a pencil in your hand. The pencil then becomes the sign of your alertness while you read.&lt;/p&gt;&#10;&lt;p&gt;It is an old saying that you have to “read between the lines” to get the most out of anything. The rules of reading are a formal way of saying this. But we want to persuade you to “write between the lines,” too. Unless you do, you are not likely to do the most efficient kind of reading.&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;&lt;strong&gt;When you buy a book, you establish a property right in it&lt;/strong&gt;&lt;/em&gt;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;&#10;But the act of purchase is actually only the prelude to possession in the case of a book. Full ownership of a book only comes when you have made it a part of yourself, and the best way to make yourself a part of it—which comes to the same thing—is by writing in it.&lt;/p&gt;&#10;&lt;p&gt;Why is marking a book indispensable to reading it?&lt;br&gt;&#10;First, it keeps you awake—not merely conscious, but wide awake.&lt;br&gt;&#10;Second, reading, if it is active, is thinking, and thinking tends to express itself in words, spoken or written. The person who says they knows what they think but cannot express it usually does not know what they think.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;The Art of Reading, according to Adler, is that we take part in a great conversation.&lt;br&gt;&#10;I am talking to the author, but they have learnt from other masters elsewhere and are passing on their thoughts and knowledge, thus taking part in a single great conversation of humankind through the ages.&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Reading a book should be a conversation between you and the author.&lt;br&gt;&#10;Presumably she knows more about the subject than you do; if not, you probably should not be bothering with her book.&lt;br&gt;&#10;But understanding is a two-way operation; the learner has to question themselves and question the teacher. They even has to be willing to argue with the teacher, once they understand what the teacher is saying.&lt;br&gt;&#10;Marking a book is literally an expression of your differences or your agreements with the author. It is the highest respect you can pay them&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="relative group"&gt;Mortimer Adler’s methods of marking up a book and making it your own&#10; &lt;div id="mortimer-adlers-methods-of-marking-up-a-book-and-making-it-your-own" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mortimer-adlers-methods-of-marking-up-a-book-and-making-it-your-own" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;&lt;em&gt;I’m not particularly religious about using them all, because I’ve already been using something similar (a subset) all my life&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;There are all kinds of devices for marking a book intelligently and fruitfully. Here are some devices that can be used:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;UNDERLINING—of major points; of important or forceful statements.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;VERTICAL LINES AT THE MARGIN—to emphasize a statement already underlined or to point to a passage too long to be underlined.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;STAR, ASTERISK, OR OTHER DOODAD AT THE MARGIN—to be used sparingly, to emphasize the ten or dozen most important statements or passages in the book. You may want to fold a corner of each page on which you make such marks or place a slip of paper between the pages. In either case, you will be able to take the book off the shelf at any time and, by opening it to the indicated page, refresh your recollection.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;NUMBERS IN THE MARGIN—to indicate a sequence of points made by the author in developing an argument.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;NUMBERS OF OTHER PAGES IN THE MARGIN—to indicate where else in the book the author makes the same points, or points relevant to or in contradiction of those here marked; to tie up the ideas in a book, which, though they may be separated by many pages, belong together. Many readers use the symbol “Cf ” to indicate the other page numbers; it means “compare” or “refer to.”&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;CIRCLING OF KEY WORDS OR PHRASES—This serves much the same function as underlining.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;WRITING IN THE MARGIN, OR AT THE TOP OR BOTTOM OF THE PAGE—to record questions (and perhaps answers) which a passage raises in your mind; to reduce a complicated discussion to a simple statement; to record the sequence of major points right through the book. The endpapers at the back of the book can be used to make a personal index of the author’s points in the order of their appearance.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;To inveterate book-markers, the front endpapers are often the most important. Some people reserve them for a fancy bookplate. But that expresses only their financial ownership of the book. The front endpapers are better reserved for a record of your thinking. After finishing the book and making your personal index on the back endpapers, turn to the front and try to outline the book, not page by page or point by point (you have already done that at the back), but as an integrated structure, with a basic outline and an order of parts. That outline will be the measure of your understanding of the work; unlike a bookplate, it will express your intellectual ownership of the book.&lt;/p&gt;&#10;&lt;br&gt;&#10;&#10;&lt;p&gt;&lt;a href="https://janusworx.com/images/2025/htrab-own-your-book-outline-big.jpg" &gt;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/htrab-own-your-book-outline.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;“That outline will express your intellectual ownership of the book”&lt;br&gt;&#10;Click to embiggen&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;But, wait! There’s more!&#10; &lt;div id="but-wait-theres-more" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#but-wait-theres-more" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Marking up a book is all fine and dandy, but what about recording your thoughts? And questions?&lt;/p&gt;&#10;&lt;p&gt;Adler to the rescue again with The Three Kinds of Note-making.&lt;br&gt;&#10;Which kind you make depends upon the level at which you are reading.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;1. Notes during Inspectional Reading&lt;/strong&gt;&lt;br&gt;&#10;The questions answered by inspectional reading are: first, what kind of book is it? second, what is it about as a whole? and third, what is the structural order of the work whereby the author develops his conception or understanding of that general subject matter?&lt;br&gt;&#10;You should make notes concerning your answers to these questions, especially if you know that it may be days or months before you will be able to return to the book to give it an analytical reading. &lt;em&gt;(These kind of notes have served me really well, since I tend to keep the book down and then come back to it after a while)&lt;/em&gt;&lt;br&gt;&#10;Notes at this stage, primarily concern the structure of the book, and not its substance—at least not in detail.&lt;br&gt;&#10;The best place to make such notes is on the contents page, or perhaps on the title page, which are otherwise unused in the scheme we have outlined above.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;2. Notes during Analytical Reading&lt;/strong&gt;&lt;br&gt;&#10;In the course of an inspectional reading, especially of a long and difficult book, you may attain some insights into the author’s ideas about his subject matter. Often, however, you will not; and certainly you should put off making any judgment of the accuracy or truth of the statements until you have read the book more carefully.&lt;br&gt;&#10;Then, during an analytical reading, you will need to give answers to questions about the truth and significance of the book. The notes you make at this level of reading are, therefore, not structural but conceptual. They concern the author’s concepts, and also your own, as they have been deepened or broadened by your reading of the book.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;3. Notes during Syntopical Reading&lt;/strong&gt;&lt;br&gt;&#10;There is a step beyond even that, however, and a truly expert reader can take it when he is reading several books syntopically. That is to make notes about the shape of the discussion—the discussion that is engaged in by all of the authors, even if unbeknownst to them. We prefer to call such notes dialectical.&lt;br&gt;&#10;Since they are made concerning several books, not just one, they often have to be made on a separate sheet (or sheets) of paper. Here, a structure of concepts is implied—an order of statements and questions about a single subject matter.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: How to Read a Book: 006, Own Your Book&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_l_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;edited and paraphrased&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;emphasis, mine&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Observations as I Learn to Read, 2</title><link>https://janusworx.com/reading/observations-as-i-learn-to-read-2/</link><pubDate>Tue, 08 Jul 2025 17:55:31 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/observations-as-i-learn-to-read-2/</guid><description>&lt;p&gt;I &lt;em&gt;finally&lt;/em&gt; got done transferring all my highlights and thoughts and notes from &lt;a href="https://janusworx.com/tags/how-to-read-a-book/" &gt;Adler&lt;/a&gt; into a notes file on the computer.&#10;This was my first, really large notes file, filled with heirarchies of headlines and tags and Org Mode handled it like a champ!&lt;/p&gt;&#10;&lt;p&gt;It took me &lt;em&gt;five times as long&lt;/em&gt; to transfer and organise the file, as it took me to read the book.&#10;This was very painful!&lt;br&gt;&#10;I am writing this down, so that my future self remembers!&lt;br&gt;&#10;Very, &lt;em&gt;&lt;strong&gt;very,&lt;/strong&gt;&lt;/em&gt; painful!&lt;/p&gt;&#10;&lt;p&gt;So I need to be intentional about books that I need to analytically read and change my reading habits.&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Have a one to one ratio for notes vs reading.&lt;br&gt;&#10;This means for every ten minutes I want to read, I need to allocate at least the same amount of time for bringing my notes in.&lt;/li&gt;&#10;&lt;li&gt;All of the above, has to be a single session.&lt;br&gt;&#10;So reading, followed by a bit of reflection, followed by transferring my notes and annotations out to &lt;a href="https://www.orgroam.com/" target="_blank" rel="noreferrer"&gt;Org Roam&lt;/a&gt;. So my old hour of reading is now 30m of reading, followed by 30m of thinking and jotting my thoughts down.&lt;/li&gt;&#10;&lt;li&gt;Cross my fingers, and hope that it’ll all work out. Hope that something sane, something intelligible emerges in the end.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Observations as I Learn to Read, 2&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Emacs Package Updation Checklist</title><link>https://janusworx.com/work/emacs-package-updation-checklist/</link><pubDate>Sun, 06 Jul 2025 08:36:44 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/emacs-package-updation-checklist/</guid><description>&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/emacs-logo.svg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I’ve never updated my Emacs packages until recently, because Emacs is where &lt;em&gt;all&lt;/em&gt; my writing happens, and so I’m justifiably paranoid.&lt;br&gt;&#10;But then some packages stopped working, due to various circumstances&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; and an update solved it.&lt;/p&gt;&#10;&lt;p&gt;So I’ve decided to update my packages once a quarter, so that I don’t lose days yak shaving when something goes wrong and I handle breakage on my terms and not the machine’s.&lt;/p&gt;&#10;&lt;p&gt;As far as package management goes, I want to keep things simple.&lt;br&gt;&#10;In fact, I still haven’t graduated to &lt;a href="https://www.gnu.org/software/emacs/manual/html_mono/use-package.html" target="_blank" rel="noreferrer"&gt;&lt;code&gt;use-package&lt;/code&gt;&lt;/a&gt; or &lt;a href="https://github.com/radian-software/straight.el" target="_blank" rel="noreferrer"&gt;&lt;code&gt;straight.el&lt;/code&gt;&lt;/a&gt; because my package needs are few and conservative&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;. And so, while there are &lt;a href="https://github.com/rranelli/auto-package-update.el" target="_blank" rel="noreferrer"&gt;automatic update options&lt;/a&gt; out there, I’ll just stick to updating them manually, every quarter.&lt;/p&gt;&#10;&lt;p&gt;Ergo, this is the checklist I’ll use next time onwards …&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Stop emacs user service, &lt;code&gt;systemctl --user stop emacs&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Backup emacs folder in &lt;code&gt;~/.config&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Start emacs manually (not the service).&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;M-x package-refresh-contents&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;M-x package-upgrade-all&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Problems? Quit emacs. Revert backup folder.&lt;/li&gt;&#10;&lt;li&gt;In the end, start emacs user sevice, &lt;code&gt;systemctl --user start emacs&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;There’s an Org mode task, scheduled quarterly, so that I won’t forget.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Emacs Package Updation Checklist&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;While I don’t want updated packages, I do want updated Emacs and that broke stuff 😂&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li id="fn:2"&gt;&#10;&lt;p&gt;The biggest change I forsee, is if Jetbrains ever turn evil and I have to move off their editors and subsequently need to use Emacs as an IDE&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>How to Read a Book: 005, On Reading Speed</title><link>https://janusworx.com/reading/how-to-read-a-book-005/</link><pubDate>Sat, 05 Jul 2025 05:00:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/how-to-read-a-book-005/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;image courtesy, &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;Simon &amp;amp; Schuster&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;This has never been a bugbear for me. A lifetime of reading has led me to read at a fairly fast clip. But Adler puts into specific words, what it is that I &lt;em&gt;actually, subconsciously&lt;/em&gt; do. This will help me advise my younger friends, when I used to struggle earlier, with a “Just keep at it”&lt;/p&gt;&#10;&lt;p&gt;Below followeth Adler’s advice …&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;ol&gt;&#10;&lt;li&gt;Great speed in reading is a dubious achievement; it is of value only if what you have to read is not really worth reading. A better formula is this:&lt;br&gt;&#10;&lt;em&gt;&lt;strong&gt;Every book should be read no more slowly than it deserves, and no more quickly than you can read it with satisfaction and comprehension. In any event, the speed at which they read, be it fast or slow, is but a fractional part of most people’s problem with reading&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&#10;&lt;li&gt;The ideal is not merely to be able to read faster, but to be able to &lt;em&gt;&lt;strong&gt;read at different speeds&lt;/strong&gt;&lt;/em&gt; — and to know when the different speeds are appropriate.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;So if that is the ideal, how do we go about increasing our speed if we are slow / irregular? Adles has an observation and a suggestion, that’ll take us most of the way there.&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;ol&gt;&#10;&lt;li&gt;The eyes of young or untrained readers “fixate” as many as five or six times in the course of each line that is read. (The eye is blind while it moves; it can only see when it stops.) Thus single words or at the most two-word or three-word phrases are being read at a time, in jumps across the line. Even worse than that, the eyes of incompetent readers regress as often as once every two or three lines—that is, they return to phrases or sentences previously read.&lt;/li&gt;&#10;&lt;li&gt;Place your thumb and first two fingers together. Sweep this “pointer” across a line of type, a little faster than it is comfortable for your eyes to move. Force yourself to keep up with your hand. You will very soon be able to read the words as you follow your hand. Keep practicing this, and keep increasing the speed at which your hand moves, and before you know it you will have doubled or trebled your reading speed.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;With a caveat however …&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;ul&gt;&#10;&lt;li&gt;What exactly have you gained if you increase your reading speed significantly? It is true that you have saved time—but what about comprehension? Has that also increased, or has it suffered in the process?&lt;br&gt;&#10;It is worth emphasizing, therefore, that it is precisely comprehension in reading that this book seeks to improve. You cannot comprehend a book without reading it analytically; &lt;a href="https://janusworx.com/reading/how-to-read-a-book-004/#level-3-analytical-reading" &gt;analytical reading&lt;/a&gt;, as we have noted, is undertaken primarily for the sake of comprehension (or understanding).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: How to Read a Book: 005, On Reading Speed&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_l_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Joseph Conrad Forsees Aaron Swartz and the AI Bandits</title><link>https://janusworx.com/reading/joseph-conrad-forsees-aaron-swartz-and-ai-bandits/</link><pubDate>Fri, 04 Jul 2025 08:17:20 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/joseph-conrad-forsees-aaron-swartz-and-ai-bandits/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/joseph-conrad-heart-of-darkness.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;via &lt;a href="https://www.penguin.co.nz/books/heart-of-darkness-9781407090757" target="_blank" rel="noreferrer"&gt;PRH NZ&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;Been listening to Joseph Conrad’s, &lt;em&gt;Heart of Darkness&lt;/em&gt; in the little cracks of time in the day&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; and as always being led to the sad and inevitable conclusion that we always fail to learn from what came before.&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;It was as unreal as everything else—as the philanthropic pretence of the whole concern, as their talk, as their government, as their show of work. The only real feeling was a desire to get appointed to a trading-post where ivory was to be had, so that they could earn percentages. They intrigued and slandered and hated each other only on that account—but as to effectually lifting a little finger—oh, no.&lt;/p&gt;&#10;&lt;p&gt;By heavens! there is something after all in the world allowing one man to steal a horse while another must not look at a halter. Steal a horse straight out. Very well. He has done it. Perhaps he can ride. But there is a way of looking at a halter that would provoke the most charitable of saints into a kick.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;a href="https://lessig.tumblr.com/post/40347463044/prosecutor-as-bully" target="_blank" rel="noreferrer"&gt;Aaron Swartz&lt;/a&gt; had to give his life for his beliefs, yet &lt;a href="https://arstechnica.com/information-technology/2023/07/book-authors-sue-openai-and-meta-over-text-used-to-train-ai/" target="_blank" rel="noreferrer"&gt;when the robber barons thieve&lt;/a&gt; everything is suddenly alright.&lt;br&gt;&#10;Greed, like love, &lt;a href="https://upload.wikimedia.org/wikipedia/en/a/a0/Bram_Stoker%27s_Dracula_%281992_film%29.jpg" target="_blank" rel="noreferrer"&gt;never dies&lt;/a&gt;!&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Joseph Conrad Forsees Aaron Swartz and the AI Bandits&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;after hearing it being heavily referred to, in &lt;a href="https://therestishistory.com/episodes/" target="_blank" rel="noreferrer"&gt;The Rest is History&lt;/a&gt;’s episodes on the rape, pillage and exploitation of the Congo (Episodes 538-541)&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Observations as I Learn to Read, 1</title><link>https://janusworx.com/reading/observations-as-i-learn-to-read-1/</link><pubDate>Thu, 03 Jul 2025 18:33:37 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/observations-as-i-learn-to-read-1/</guid><description>&lt;p&gt;This is a smol log as I try to reason out what is bothering me about getting the most out of the books I want to, uh, get the most out of.&lt;br&gt;&#10;Something is rankling me, but I don’t know what.&lt;/p&gt;&#10;&lt;p&gt;As I go through &lt;a href="https://janusworx.com/tags/how-to-read-a-book/" &gt;How to Read a Book&lt;/a&gt;, I’ve realised that I need to digest a book in a manner of speaking, specially on my subsequent reads.&lt;/p&gt;&#10;&lt;p&gt;My ideal is to pick up a book, and read through it at the speed it ought to take; highlighting, annotating and writing down my thoughts as I go.&lt;br&gt;&#10;And while I do that, also write things down here on the blog, as I’ve been attempting to do with Adler.&lt;/p&gt;&#10;&lt;p&gt;Rather, I &lt;em&gt;thought&lt;/em&gt; I would do that with Adler.&lt;br&gt;&#10;But through force of habit, I’ve gone and done the same thing I’ve always done.&lt;br&gt;&#10;Read through the entire book, highlighting as I go.&lt;br&gt;&#10;So now I have a book full of notes, and a few thoughts, but all the “brilliant”&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; insights that struck me as I read the book have vanished from my mind, as has any tentative mental model of the structure of the book.&lt;br&gt;&#10;And I’m frustrated with this state of affairs.&lt;br&gt;&#10;What happens then, is me having &lt;a href="https://janusworx.com/reading/ultralearning/" &gt;just a page full of notes&lt;/a&gt; without any of &lt;em&gt;my&lt;/em&gt; thoughts in there, or trying to recapture lighting in a bottle &lt;a href="https://janusworx.com/reading/longform/antifragile/" &gt;over months of agonising effort&lt;/a&gt;.&lt;br&gt;&#10;Neither appeals to me.&lt;/p&gt;&#10;&lt;p&gt;The only things I can think of doing right now are:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Keep a notebook beside me and &lt;em&gt;write&lt;/em&gt; my thoughts down. The flyleaves are barely enough for me to keep track of running highlights across pages.&lt;/li&gt;&#10;&lt;li&gt;Intentionally slow down, even more. I don’t know what this will do to my flow.&lt;/li&gt;&#10;&lt;li&gt;Read in chunks. And then stop and write about them. I’ll probably miss the big picture. But I’ll arrive at it slowly, eventually. And the writing will reflect that. Is that good or bad? I don’t really know.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;So I think I’m going to buckle down and finish getting my notes from Adler into posts in the coming weeks and try the above on my next book.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: Observations as I Learn to Read, 1&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;very debatable 😂&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>How to Read a Book: 004, The Four Levels of Reading</title><link>https://janusworx.com/reading/how-to-read-a-book-004/</link><pubDate>Wed, 02 Jul 2025 05:00:00 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/how-to-read-a-book-004/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;image courtesy, &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;Simon &amp;amp; Schuster&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;This is another post, that is near verbatim&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; from the book.&lt;br&gt;&#10;Because, once again, this is reference material, that I need to come back to over and over.&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;The Four Levels of Reading&#10; &lt;div id="the-four-levels-of-reading" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-four-levels-of-reading" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;blockquote&gt;&lt;p&gt;They are called so, because they are cumulative.&lt;br&gt;&#10;The first level is not lost in the second, the second in the third, the third in the fourth. In fact, the fourth and highest level of reading includes all the others. It simply goes beyond them.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="relative group"&gt;Level 1: Elementary Reading&#10; &lt;div id="level-1-elementary-reading" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#level-1-elementary-reading" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Everyboy can read at this level!&lt;br&gt;&#10;This is the most common level there is.&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The first level of reading we will call Elementary Reading.&#10;In mastering this level, one learns the rudiments of the art of reading, receives basic training in reading, and acquires initial reading skills. We prefer the name elementary reading, because this level of reading is ordinarily learned in elementary school.&lt;/p&gt;&#10;&lt;p&gt;The child’s first encounter with reading is at this level. His problem then (and ours when we began to read) is to recognize the individual words on the page. He is merely concerned with language as it is employed by the writer.&#10;At this level of reading, the question asked of the reader is “What does the sentence say?” That could be conceived as a complex and difficult question, of course. We mean it here, however, in its simplest sense.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="relative group"&gt;Level 2: Inspectional Reading&#10; &lt;div id="level-2-inspectional-reading" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#level-2-inspectional-reading" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This level I do very well, because of the &lt;a href="https://en.wikipedia.org/wiki/Antilibrary" target="_blank" rel="noreferrer"&gt;anti-library&lt;/a&gt;.&lt;br&gt;&#10;Figuring out whether the book is worth reading or not, is a critical skill for me.&lt;br&gt;&#10;Too many books, far too little time, after all :)&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The second level of reading we will call Inspectional Reading.&lt;/p&gt;&#10;&lt;p&gt;One way to describe this level of reading is to say that its aim is to get the most out of a book within a given time—usually a relatively short time, and always (by definition) too short a time to get out of the book everything that can be gotten.&lt;/p&gt;&#10;&lt;p&gt;Still another name for this level might be skimming or pre-reading. However, we do not mean the kind of skimming that is characterized by casual or random browsing through a book. Inspectional reading is the art of &lt;strong&gt;skimming systematically.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;When reading at this level, your aim is to examine the surface of the book, to learn everything that the surface alone can teach you. That is often a good deal.&lt;/p&gt;&#10;&lt;p&gt;Whereas the question that is asked at the first level is “What does the sentence say?” the question typically asked at this level is “What is the book about?” That is a surface question; others of a similar nature are “What is the structure of the book?” or “What are its parts?”&#10;Upon completing an inspectional reading of a book, no matter how short the time you had to do it in, you should also be able to answer the question, “What kind of book is it—a novel, a history, a scientific treatise?”&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="relative group"&gt;Level 3: Analytical Reading&#10; &lt;div id="level-3-analytical-reading" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#level-3-analytical-reading" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This is the level at what I want to read regularly.&lt;br&gt;&#10;What I want to do, everytime I pick up a book to learn from and understand deeply.&lt;br&gt;&#10;This is what I have set out to learn from this book.&lt;br&gt;&#10;Francis Bacon once remarked that &lt;em&gt;&lt;strong&gt;“some books are to be tasted, others to be swallowed, and some few to be chewed and digested.”&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;&#10;I want to be able to digest the books I read!&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The third level of reading we will call Analytical Reading.&lt;/p&gt;&#10;&lt;p&gt;Analytical reading is thorough reading, complete reading, or good reading—the best reading you can do. If inspectional reading is the best and most complete reading that is possible given a limited time, then analytical reading is the best and most complete reading that is possible given unlimited time.&lt;/p&gt;&#10;&lt;p&gt;The analytical reader must ask many, and organized, questions of what he is reading.&#10;[…] &lt;strong&gt;analytical reading is always intensely active.&lt;/strong&gt; On this level of reading, the reader grasps a book—the metaphor is apt—and works at it until the book becomes his own.&lt;/p&gt;&#10;&lt;p&gt;We also want to stress that analytical reading is hardly ever necessary if your goal in reading is simply information or entertainment. &lt;strong&gt;Analytical reading is preeminently for the sake of understanding.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="relative group"&gt;Level 4: Syntopical Reading&#10; &lt;div id="level-4-syntopical-reading" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#level-4-syntopical-reading" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;This level is one, I really doubt I’ll ever do outside of work or research or learning.&lt;br&gt;&#10;That is where I use it the most. And this level of learning is something I figured out on my own, while consulting. Tackling a specific problem in a niche domain, meant that I needed to figure out all the angles beforehand. Figuring what that world was like, and how did what I want fit into that world. Syntopical Reading is very very similar. And like Adler notes, &lt;em&gt;&lt;strong&gt;very demanding.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&lt;p&gt;The fourth and highest level of reading we will call Syntopical Reading.&lt;/p&gt;&#10;&lt;p&gt;Another name for this level might be comparative reading. When reading syntopically, the reader reads many books, not just one, and places them in relation to one another and to a subject about which they all revolve. But mere comparison of texts is not enough. Syntopical reading involves more. With the help of the books read, the syntopical reader is able to construct an analysis of the subject that &lt;strong&gt;may not be in any of the books.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;It is the most complex and systematic type of reading of all. It makes very heavy demands on the reader, even if the materials he is reading are themselves relatively easy and unsophisticated.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: How to Read a Book: 004, The Four Levels of Reading&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_l_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;Ok, I say verbatim, but now everything is excerpted and heavily paraphrased and put in slightly out of order. You could even say, this is a Syntopical post!&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>I Need Two Copies of a Book Now</title><link>https://janusworx.com/reading/i-need-two-copies-of-a-book-now/</link><pubDate>Sun, 29 Jun 2025 10:37:50 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/i-need-two-copies-of-a-book-now/</guid><description>&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/i-need-two-copies-of-a-book-moar-smol.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;via &lt;a href="https://knowyourmeme.com/photos/135226-moar" target="_blank" rel="noreferrer"&gt;Know Your Meme&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;My primary reading device is &lt;a href="https://janusworx.com/work/a-new-hole-hawg-the-kobo-elipsa-2e/" &gt;my Kobo&lt;/a&gt;.&lt;br&gt;&#10;For the simple reason, that I will need to buy a whole new home, for my books otherwise. The &lt;a href="https://en.wikipedia.org/wiki/Antilibrary" target="_blank" rel="noreferrer"&gt;anti-library&lt;/a&gt; is just too large.&lt;/p&gt;&#10;&lt;p&gt;But as I was reading, &lt;a href="https://janusworx.com/tags/how-to-read-a-book/" &gt;How to Read a Book&lt;/a&gt;, I realise I’ll probably need a copy on the Kobo as well as a physical copy in hand, for any book that I want to read in depth.&lt;br&gt;&#10;If reading is effort, as the book suggests, then I might as well have the right tools for the right kind of effort.&lt;br&gt;&#10;Rapidly scanning through, marking things up, jotting thoughts down, and all other assorted marginalia is very easy with a physical book. Looking words up in a dictionary, copying notes in and out, and searching are very easy with the Kobo.&lt;br&gt;&#10;When it comes to writing my thoughts elsewhere or doing research, it is easy to scan through a physical book, find the relevant page, and then I am back in that mental space I was, that triggered the thought. This realisation; that books are spatial memory, is new to me (I might have been using it subconsciously all along). An e-reader cannot give me that.&lt;/p&gt;&#10;&lt;p&gt;So I’m going to make the best of both worlds and use both!&lt;/p&gt;&#10;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book-mjb-copy.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: I Need Two Copies of a Book Now&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_l_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>How to Read a Book: 003, The Four Basic Questions (A Reader Asks)</title><link>https://janusworx.com/reading/how-to-read-a-book-003/</link><pubDate>Sat, 28 Jun 2025 19:13:01 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/how-to-read-a-book-003/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;image courtesy, &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;Simon &amp;amp; Schuster&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;The Four Basic Questions:&#10; &lt;div id="the-four-basic-questions" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-four-basic-questions" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;This is the basic idea, that permeates the entire book down to its bones and colours every piece of advice Adler offers.&lt;/p&gt;&#10;&lt;p&gt;I’m quoting this verbatim, without any paraphrasing, because these questions are what I will be returning to time and again, in the coming days (and weeks and months and years.)&lt;/p&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;The one simple prescription for active reading.&lt;br&gt;&#10;It is: &lt;em&gt;Ask questions while you read—questions that you yourself must try to answer in the course of reading.&lt;/em&gt;&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;What is the book about as a whole?&lt;/strong&gt;&lt;br&gt;&#10;You must try to discover the leading theme of the book, and how the author develops this theme in an orderly way by subdividing it into its essential subordinate themes or topics.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;What is being said in detail, and how?&lt;/strong&gt;&lt;br&gt;&#10;You must try to discover the main ideas, assertions, and arguments that constitute the author’s particular message.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;Is the book true, in whole or part?&lt;/strong&gt;&lt;br&gt;&#10;You cannot answer this question until you have answered the first two. You have to know what is being said before you can decide whether it is true or not. When you understand a book, however, you are obligated, if you are reading seriously, to make up your own mind. Knowing the author’s mind is not enough.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;What of it?&lt;/strong&gt;&lt;br&gt;&#10;If the book has given you information, you must ask about its significance. Why does the author think it is important to know these things? Is it important to you to know them? And if the book has not only informed you, but also enlightened you, it is necessary to seek further enlightenment by asking what else follows, what is further implied or suggested.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: How to Read a Book: 003, The Four Basic Questions (A Reader Asks)&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_l_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>How to Read a Book: 002, A Few Thoughts on Books</title><link>https://janusworx.com/reading/how-to-read-a-book-002/</link><pubDate>Fri, 27 Jun 2025 20:22:08 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/how-to-read-a-book-002/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;image courtesy, &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;Simon &amp;amp; Schuster&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;A few thoughts on books and how long it takes me to read them, as they relate to what I learned reading this book&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Reading for joy, is just that. Reading for joy! Nothing needs to come in the way of that.&lt;/li&gt;&#10;&lt;li&gt;Books can take as long as they need to be read. &lt;em&gt;Comprehension&lt;/em&gt; is key. Not how many I finish.&lt;/li&gt;&#10;&lt;li&gt;I was wondering how so many folks read so many books “better” faster than me. The book assures me that reading books analytically, reading ideas syntopically across a swathe of books is inherently slow. I cannot read everything that way. Nor should I want to obviously. The book needs to be worthy of that kind of time and attention. To quote Adler …&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&lt;p&gt;A good book can teach you about the world and about yourself.&lt;br&gt;&#10;You learn more than how to read better; you also learn more about life.&lt;br&gt;&#10;You become wiser. Not just more knowledgeable—books that provide nothing but information can produce that result. But wiser, in the sense that you are more deeply aware of the great and enduring truths of human life.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;ol start="4"&gt;&#10;&lt;li&gt;And I always worried about how I would go about reading all the great books there were, when there were so many? How would I get to them all? Adler assures me that such books are few and far between. And Having read thousands of books by now, I agree. A good book, a good &lt;a href="https://janusworx.com/lindy-books/" &gt;Lindy book&lt;/a&gt; is really hard to find. The last great expository / philosophical / non fiction book I read was &lt;a href="https://janusworx.com/reading/longform/antifragile/" &gt;Antifragile&lt;/a&gt; close to twelve years ago. The last great fiction book, luckily was Harrow in 2020. Great books don’t come by often.&lt;br&gt;&#10;Here’s Adler again …&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&lt;p&gt;… if the book belongs to the highest class—the very small number of inexhaustible books—you discover on returning that &lt;strong&gt;the book seems to have grown with you.&lt;/strong&gt; You see new things in it—whole sets of new things—that you did not see before. Your previous understanding of the book is not invalidated (assuming that you read it well the first time); it is just as true as it ever was, and in the same ways that it was true before. But now it is true in still other ways, too.&lt;/p&gt;&#10;&lt;p&gt;How can a book grow as you grow? […] what you only now begin to realize is that the book was so far above you to begin with that it has remained above you, and probably always will remain so. Since it is a really good book—a great book, as we might say—it is accessible at different levels. Your impression of increased understanding on your previous reading was not false. The book truly lifted you then. But now, even though you have become wiser and more knowledgeable, it can lift you again. And it will go on doing this until you die.&lt;/p&gt;&#10;&lt;p&gt;There are obviously not many books that can do this for any of us. Our estimate was that the number is considerably less than a hundred. But the number is &lt;strong&gt;even less than that for any given reader.&lt;/strong&gt; Human beings differ in many ways other than in the power of their minds. They have different tastes; different things appeal more to one person than to another. You may never feel about Newton the way you feel about Shakespeare, either because you may be able to read Newton so well that you do not have to read him again, or because mathematical systems of the world just do not have all that appeal to you. Or, if they do then Newton may be one of the handful of books that are great for you, and not Shakespeare.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;You should seek out the few books that can have this value for you.&lt;/strong&gt; They are the books that will teach you the most, both about reading and about life. They are the books to which you will want to return over and over. They are the books that will help you to grow.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;ol start="5"&gt;&#10;&lt;li&gt;And suddenly it isn’t so hard any more. The path I have now before me, is to go find &lt;em&gt;&lt;strong&gt;my small set of great books&lt;/strong&gt;&lt;/em&gt;. The books I can learn from and grow old with. Oh joy!&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;To quote &lt;a href="https://www.youtube.com/watch?v=S8DE3zK0zws&amp;amp;t=170s" target="_blank" rel="noreferrer"&gt;Nux&lt;/a&gt;, &lt;em&gt;&lt;strong&gt;Oh, what a day! What a lovely day!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: How to Read a Book: 002, A Few Thoughts on Books&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_l_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>How to Read a Book: 001, Begin!</title><link>https://janusworx.com/reading/how-to-read-a-book-001/</link><pubDate>Thu, 26 Jun 2025 19:25:58 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/reading/how-to-read-a-book-001/</guid><description>&lt;p&gt;&lt;br&gt;&#10;&#10;&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2025/how-to-read-a-book.jpg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&lt;/p&gt;&#10;&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;&#10;&lt;p&gt;image courtesy, &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;Simon &amp;amp; Schuster&lt;/a&gt;&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&#10;&lt;h3 class="relative group"&gt;Why do I need to learn how to read? What has brought me to this?&#10; &lt;div id="why-do-i-need-to-learn-how-to-read-what-has-brought-me-to-this" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-do-i-need-to-learn-how-to-read-what-has-brought-me-to-this" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Some thoughts …&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;I feel like, for all my reading, whenever I come across a great book, I don’t quite get as much out of it, as I ought to. (Anthony D’Mello, Tamsyn Muir and Nassim Taleb are a few who come to mind.)&lt;/li&gt;&#10;&lt;li&gt;Most of my note taking has been intuitive. And then I struggle to draw insights. To add insult to injury, the struggle is &lt;em&gt;unique&lt;/em&gt; for each book. I need a framework, to get atleast 80% of the way there, predictably, every time.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;Why this book?&#10; &lt;div id="why-this-book" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-this-book" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Because I like it.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;&#10;I love the old-timey feel of the book. Yes, it is a product of its time and I really, desperately wish, they update it to become &lt;em&gt;a whole lot more inclusive&lt;/em&gt; when it comes to a great many things. Not the least being gender. Also faith.&lt;br&gt;&#10;But for the actual lessons that it does try to teach; I resonate with the author’s voice.&lt;/p&gt;&#10;&#10;&lt;h3 class="relative group"&gt;What’s the plan now? What do I hope will happen?&#10; &lt;div id="whats-the-plan-now-what-do-i-hope-will-happen" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#whats-the-plan-now-what-do-i-hope-will-happen" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Read it.&lt;br&gt;&#10;Make notes.&lt;br&gt;&#10;Write about it in tiny bits.&lt;br&gt;&#10;Write down, thoughts, insight, stuff that strikes me, paragraphs from the book, quotes, and everything in between&lt;/p&gt;&#10;&lt;p&gt;Let it take as long as it does.&lt;/p&gt;&#10;&lt;p&gt;The biggest lesson, I took away from the book last time I read it, was that the intentional reading of a good book, takes time. I want to be able to do this with the books I like, so I’m getting the ball rolling with this one itself.&lt;/p&gt;&#10;&lt;p&gt;The note I wrote to myself at the &lt;a href="https://janusworx.com/reading/2025/" &gt;beginning of the year&lt;/a&gt; was …&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Read less, write more notes. Abandon more books.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;By reading less, I meant I wanted to read good books slower and longer, which is what I hope I will do, once I get done reading &lt;em&gt;this&lt;/em&gt; book.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: How to Read a Book: 001, Begin!&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_l_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;&lt;div class="footnotes" role="doc-endnotes"&gt;&#10;&lt;hr&gt;&#10;&lt;ol&gt;&#10;&lt;li id="fn:1"&gt;&#10;&lt;p&gt;“a rare phenomenon, a &lt;strong&gt;living&lt;/strong&gt; classic …” is how the &lt;a href="https://www.simonandschuster.com/books/How-to-Read-a-Book/Mortimer-J-Adler/9781476790152" target="_blank" rel="noreferrer"&gt;publisher&lt;/a&gt; refers to it&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/div&gt;&#10;</description></item><item><title>Forgejo Workflow Action to Publish Hugo Blog</title><link>https://janusworx.com/work/forgejo-workflow-action-to-publish-hugo-blog/</link><pubDate>Mon, 09 Jun 2025 15:09:16 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/forgejo-workflow-action-to-publish-hugo-blog/</guid><description>&#10;&lt;figure&gt;&#10; &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/common/forgejo-logo.svg" alt="" /&gt;&#10; &#10; &#10; &lt;/figure&gt;&#10;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;&lt;p&gt;I’d gotten this working earlier and wanted to post it up.&lt;br&gt;&#10;And then promptly forgot about it.&lt;br&gt;&#10;Until today that is, when I wanted to make changes to it.&lt;/p&gt;&#10;&lt;p&gt;Here it is for posterity.&lt;br&gt;&#10;The newest change is that the action now runs every six hours.&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 2&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 3&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 4&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 5&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 6&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 7&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 8&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 9&#10;&lt;/span&gt;&lt;span class="lnt"&gt;10&#10;&lt;/span&gt;&lt;span class="lnt"&gt;11&#10;&lt;/span&gt;&lt;span class="lnt"&gt;12&#10;&lt;/span&gt;&lt;span class="lnt"&gt;13&#10;&lt;/span&gt;&lt;span class="lnt"&gt;14&#10;&lt;/span&gt;&lt;span class="lnt"&gt;15&#10;&lt;/span&gt;&lt;span class="lnt"&gt;16&#10;&lt;/span&gt;&lt;span class="lnt"&gt;17&#10;&lt;/span&gt;&lt;span class="lnt"&gt;18&#10;&lt;/span&gt;&lt;span class="lnt"&gt;19&#10;&lt;/span&gt;&lt;span class="lnt"&gt;20&#10;&lt;/span&gt;&lt;span class="lnt"&gt;21&#10;&lt;/span&gt;&lt;span class="lnt"&gt;22&#10;&lt;/span&gt;&lt;span class="lnt"&gt;23&#10;&lt;/span&gt;&lt;span class="lnt"&gt;24&#10;&lt;/span&gt;&lt;span class="lnt"&gt;25&#10;&lt;/span&gt;&lt;span class="lnt"&gt;26&#10;&lt;/span&gt;&lt;span class="lnt"&gt;27&#10;&lt;/span&gt;&lt;span class="lnt"&gt;28&#10;&lt;/span&gt;&lt;span class="lnt"&gt;29&#10;&lt;/span&gt;&lt;span class="lnt"&gt;30&#10;&lt;/span&gt;&lt;span class="lnt"&gt;31&#10;&lt;/span&gt;&lt;span class="lnt"&gt;32&#10;&lt;/span&gt;&lt;span class="lnt"&gt;33&#10;&lt;/span&gt;&lt;span class="lnt"&gt;34&#10;&lt;/span&gt;&lt;span class="lnt"&gt;35&#10;&lt;/span&gt;&lt;span class="lnt"&gt;36&#10;&lt;/span&gt;&lt;span class="lnt"&gt;37&#10;&lt;/span&gt;&lt;span class="lnt"&gt;38&#10;&lt;/span&gt;&lt;span class="lnt"&gt;39&#10;&lt;/span&gt;&lt;span class="lnt"&gt;40&#10;&lt;/span&gt;&lt;span class="lnt"&gt;41&#10;&lt;/span&gt;&lt;span class="lnt"&gt;42&#10;&lt;/span&gt;&lt;span class="lnt"&gt;43&#10;&lt;/span&gt;&lt;span class="lnt"&gt;44&#10;&lt;/span&gt;&lt;span class="lnt"&gt;45&#10;&lt;/span&gt;&lt;span class="lnt"&gt;46&#10;&lt;/span&gt;&lt;span class="lnt"&gt;47&#10;&lt;/span&gt;&lt;span class="lnt"&gt;48&#10;&lt;/span&gt;&lt;span class="lnt"&gt;49&#10;&lt;/span&gt;&lt;span class="lnt"&gt;50&#10;&lt;/span&gt;&lt;span class="lnt"&gt;51&#10;&lt;/span&gt;&lt;span class="lnt"&gt;52&#10;&lt;/span&gt;&lt;span class="lnt"&gt;53&#10;&lt;/span&gt;&lt;span class="lnt"&gt;54&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build and Deploy Janusworx website&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;schedule&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;cron&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;0 */6 * * *&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;workflow_dispatch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;push&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;branches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;main&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;jobs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;build-and-deploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;runs-on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;intel&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# make sure there are runners tagged &amp;#34;intel&amp;#34; on your network or replace this with something of your own&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;HUGO_VERSION&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ vars.HUGO_VERSION }}&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Install wget &amp;amp; rsync&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;apt-get update &amp;amp;&amp;amp; apt-get install wget rsync -y&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Install Hugo&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; &amp;amp;&amp;amp; dpkg -i ${{ runner.temp }}/hugo.deb&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Checkout the website repo&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;actions/checkout@v4&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;submodules&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;recursive&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;fetch-depth&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build website with Hugo&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;HUGO_ENVIRONMENT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;production&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;TZ&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Asia/Kolkata&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; hugo \&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; --gc \&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; --minify&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; &lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Install SSH key&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; mkdir -p ~/.ssh&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; echo &amp;#34;${{ secrets.SSH_PRIVATE_KEY }}&amp;#34; &amp;gt; ~/.ssh/id_ed25519&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; chmod 600 ~/.ssh/id_ed25519&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; echo &amp;#34;${{ secrets.SSH_KNOWN_HOSTS }}&amp;#34; &amp;gt; ~/.ssh/known_hosts&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; chmod 644 ~/.ssh/known_hosts&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Deploy website with rsync&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;REMOTE_HOST&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ vars.REMOTE_HOST }}&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;REMOTE_USER&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ vars.REMOTE_USER }}&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;REMOTE_PATH&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ vars.REMOTE_PATH }}&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; rsync -avz --delete public/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;Notes:&lt;br&gt;&#10;It needs a few variables set, in the repo (repo-&amp;gt;Settings-&amp;gt;Actions-&amp;gt;Variables), which are the details I need (Hugo version, Remote Host IP, Remote path to copy the built output to, and the Remote user to use for SSH) to push via rsync to the host.&lt;br&gt;&#10;Hugo version is in there, because Hugo breaks things all the time, so I upgrade cautiously.&lt;/p&gt;&#10;&lt;p&gt;It also needs a couple of secrets, set in the repo (repo-&amp;gt;Settings-&amp;gt;Actions-&amp;gt;Secrets) to enable rsync to copy. (SSH_KNOWN_HOSTS and SSH_PRIVATE_KEY). Also best if this is a dedicated private key just for copying.&#10;Running &lt;code&gt;ssh-keyscan &amp;quot;your-host-name-or-ip&amp;quot; &amp;gt; known_host_data.txt&lt;/code&gt; should dump the data you’d need for SSH_KNOWN_HOSTS&lt;/p&gt;&#10;&lt;p&gt;With the changes I made today, the workflow can publish&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;on demand&lt;/li&gt;&#10;&lt;li&gt;every 6 hours&lt;/li&gt;&#10;&lt;li&gt;every time I commit to the repo&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;I added time based publishing, so that I could publish future dated posts as and when the time rolls around.&lt;br&gt;&#10;With this, I think I’m done tinkering with my blog, with the exception of moving it out of my home network and out on to my VM, so that I can truly publish from anywhere. That is a big heft for me currently and a job for future Jason.&lt;/p&gt;&#10;&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;&#10;&#10;Feedback on this post?&lt;br&gt;&#10;Mail me at &lt;a href="mailto:feebdback@janusworx.com?subjectFeedback on post: Forgejo Workflow Action to Publish Hugo Blog&#10;%22" &gt;feedback at this domain&lt;/a&gt; or [continue the discourse here][3].&#10;&lt;br&gt;&#10;&#10;&lt;br&gt;&#10;&#10;P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;&#10;Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;&#10;P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_l_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;&#10;</description></item></channel></rss>