<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator>
  <link href="https://chamoda.com/feed-read.xml" rel="self" type="application/atom+xml" />
  <link href="https://chamoda.com/" rel="alternate" type="text/html" />
  <updated>2026-05-24T09:43:43+00:00</updated>
  <id>https://chamoda.com/feed-read.xml</id>
  <title type="html">Chamoda Pandithage - What I Read</title>
  <subtitle>Code, strategy, and first principles thinking.</subtitle>
  
  
  <entry>
    <title type="html">What I read in May 2026</title>
    <link href="https://chamoda.com/read/2026-may" rel="alternate" type="text/html" title="What I read in May 2026" />
    <published>2026-05-10T00:00:00+00:00</published>
    <updated>2026-05-10T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2026-may</id>
    <content type="html" xml:base="https://chamoda.com/read/2026-may">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;dune-by-frank-herbert&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/44767458-dune&quot;&gt;Dune by Frank Herbert&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;the-mythical-man-month-by-frederick-brooks&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/13629.The_Mythical_Man_Month&quot;&gt;The Mythical Man-Month by Frederick Brooks&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;the-gervais-principle-by-venkatesh-g-rao&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/18581690-the-gervais-principle&quot;&gt;The Gervais Principle by Venkatesh G. Rao&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;on-writing-well-by-william-zinsser&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/53343.On_Writing_Well&quot;&gt;On Writing Well by William Zinsser&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in January 2026</title>
    <link href="https://chamoda.com/read/2026-january" rel="alternate" type="text/html" title="What I read in January 2026" />
    <published>2026-01-17T00:00:00+00:00</published>
    <updated>2026-01-17T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2026-january</id>
    <content type="html" xml:base="https://chamoda.com/read/2026-january">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;the-typescript-handbook-by-typescript-publishing&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/58943173-the-typescript-handbook&quot;&gt;The TypeScript Handbook by TypeScript Publishing&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in December 2025</title>
    <link href="https://chamoda.com/read/2025-december" rel="alternate" type="text/html" title="What I read in December 2025" />
    <published>2025-12-14T00:00:00+00:00</published>
    <updated>2025-12-14T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2025-december</id>
    <content type="html" xml:base="https://chamoda.com/read/2025-december">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;the-21-irrefutable-laws-of-leadership-by-john-c-maxwell&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/815716.The_21_Irrefutable_Laws_of_Leadership&quot;&gt;The 21 Irrefutable Laws of Leadership by John C. Maxwell&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;fanatical-prospecting-by-jeb-blount&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/26270465-fanatical-prospecting&quot;&gt;Fanatical Prospecting by Jeb Blount&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in November 2025</title>
    <link href="https://chamoda.com/read/2025-november" rel="alternate" type="text/html" title="What I read in November 2025" />
    <published>2025-12-04T00:00:00+00:00</published>
    <updated>2025-12-04T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2025-november</id>
    <content type="html" xml:base="https://chamoda.com/read/2025-november">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;acquiring-card-payments-by-ilya-dubinsky&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/45754487-acquiring-card-payments&quot;&gt;Acquiring Card Payments by Ilya Dubinsky&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;headhunters-matchmaking-in-the-labor-market-by-william-finlay&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/369257.Headhunters&quot;&gt;Headhunters: Matchmaking in the Labor Market by William Finlay&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;waking-up-by-sam-harris&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/18774981-waking-up&quot;&gt;Waking Up by Sam Harris&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;on-having-no-head-by-douglas-e-harding&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/817501&quot;&gt;On Having No Head by Douglas E. Harding&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in September 2025</title>
    <link href="https://chamoda.com/read/2025-september" rel="alternate" type="text/html" title="What I read in September 2025" />
    <published>2025-09-28T00:00:00+00:00</published>
    <updated>2025-09-28T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2025-september</id>
    <content type="html" xml:base="https://chamoda.com/read/2025-september">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;the-saas-playbook-by-rob-walling&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/178816351-the-saas-playbook&quot;&gt;The SaaS Playbook by Rob Walling&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;intercom-on-jobs-to-be-done-by-des-traynor&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/30314875-intercom-on-jobs-to-be-done&quot;&gt;Intercom on Jobs to be Done by Des Traynor&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in August 2025</title>
    <link href="https://chamoda.com/read/2025-august" rel="alternate" type="text/html" title="What I read in August 2025" />
    <published>2025-08-31T00:00:00+00:00</published>
    <updated>2025-08-31T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2025-august</id>
    <content type="html" xml:base="https://chamoda.com/read/2025-august">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;the-rust-programming-language-by-steve-klabnik-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/25008661-the-rust-programming-language&quot;&gt;The Rust Programming Language by Steve Klabnik (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;build-your-own-lisp-by-daniel-holden-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/21857827-build-your-own-lisp&quot;&gt;Build Your Own Lisp by Daniel Holden (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;container-security-by-liz-rice-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/48816583-container-security&quot;&gt;Container Security by Liz Rice (goodreads.com)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in July 2025</title>
    <link href="https://chamoda.com/read/2025-july" rel="alternate" type="text/html" title="What I read in July 2025" />
    <published>2025-07-05T00:00:00+00:00</published>
    <updated>2025-07-05T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2025-july</id>
    <content type="html" xml:base="https://chamoda.com/read/2025-july">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;writing-an-interpreter-in-go-by-thorsten-ball-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/32681092-writing-an-interpreter-in-go&quot;&gt;Writing An Interpreter In Go by Thorsten Ball (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;grep-pocket-reference-by-grep-pocket-reference-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/6324669-grep-pocket-reference&quot;&gt;Grep Pocket Reference by Grep Pocket Reference (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;free-ride-by-noraly-schoenmaker-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/220160281-free-ride&quot;&gt;Free Ride by Noraly Schoenmaker (goodreads.com)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in May 2025</title>
    <link href="https://chamoda.com/read/2025-may" rel="alternate" type="text/html" title="What I read in May 2025" />
    <published>2025-05-31T00:00:00+00:00</published>
    <updated>2025-05-31T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2025-may</id>
    <content type="html" xml:base="https://chamoda.com/read/2025-may">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;empire-of-ai-by-karen-hao-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/222725518-empire-of-ai&quot;&gt;Empire of AI by Karen Hao (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;posts&quot;&gt;Posts&lt;/h2&gt;

&lt;h2 id=&quot;the-ingredients-of-a-productive-monorepo-swgillespieme&quot;&gt;&lt;a href=&quot;https://blog.swgillespie.me/posts/monorepo-ingredients/&quot;&gt;The Ingredients of a Productive Monorepo (swgillespie.me)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;understanding-the-go-scheduler-nghiant3223githubio&quot;&gt;&lt;a href=&quot;https://nghiant3223.github.io/2025/04/15/go-scheduler.html&quot;&gt;Understanding the Go Scheduler (nghiant3223.github.io)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;game-theory-illustrated-by-an-animated-cartoon-game-ncaseme&quot;&gt;&lt;a href=&quot;https://ncase.me/trust/&quot;&gt;Game theory illustrated by an animated cartoon game (ncase.me)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;a-critical-look-at-mcp-razsh&quot;&gt;&lt;a href=&quot;https://raz.sh/blog/2025-05-02_a_critical_look_at_mcp&quot;&gt;A critical look at MCP (raz.sh)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in April 2025</title>
    <link href="https://chamoda.com/read/2025-april" rel="alternate" type="text/html" title="What I read in April 2025" />
    <published>2025-04-30T00:00:00+00:00</published>
    <updated>2025-04-30T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2025-april</id>
    <content type="html" xml:base="https://chamoda.com/read/2025-april">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;the-effective-manager-by-mark-horstman-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/27316166-the-effective-manager&quot;&gt;The Effective Manager by Mark Horstman (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;the-effective-hiring-manager-by-mark-horstman-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/43331782-the-effective-hiring-manager&quot;&gt;The Effective Hiring Manager by Mark Horstman (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;building-great-software-engineering-teams-by-josh-tyler-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/26341904-building-great-software-engineering-teams&quot;&gt;Building Great Software Engineering Teams by Josh Tyler (goodreads.com)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in February 2025</title>
    <link href="https://chamoda.com/read/2025-february" rel="alternate" type="text/html" title="What I read in February 2025" />
    <published>2025-02-25T00:00:00+00:00</published>
    <updated>2025-02-25T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2025-february</id>
    <content type="html" xml:base="https://chamoda.com/read/2025-february">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;the-beginning-of-infinity-by-david-deutsch-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/10483171-the-beginning-of-infinity&quot;&gt;The Beginning of Infinity by David Deutsch (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;robust-python-write-clean-and-maintainable-code-by-patrick-viafore-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/58218460-robust-python&quot;&gt;Robust Python: Write Clean and Maintainable Code by Patrick Viafore (goodreads.com)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in January 2025</title>
    <link href="https://chamoda.com/read/2025-january" rel="alternate" type="text/html" title="What I read in January 2025" />
    <published>2025-01-11T00:00:00+00:00</published>
    <updated>2025-01-11T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2025-january</id>
    <content type="html" xml:base="https://chamoda.com/read/2025-january">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;fooled-by-randomness-by-nassim-nicholas-taleb-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/38315.Fooled_by_Randomness&quot;&gt;Fooled by Randomness by Nassim Nicholas Taleb (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;outlive-the-science--art-of-longevity-by-peter-attia-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/61153739-outlive&quot;&gt;Outlive: The Science &amp;amp; Art of Longevity by Peter Attia (goodreads.com)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in December 2024</title>
    <link href="https://chamoda.com/read/2024-december" rel="alternate" type="text/html" title="What I read in December 2024" />
    <published>2024-12-14T00:00:00+00:00</published>
    <updated>2024-12-14T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2024-december</id>
    <content type="html" xml:base="https://chamoda.com/read/2024-december">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;architecture-patterns-with-python-by-harry-percival-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/50083115-architecture-patterns-with-python&quot;&gt;Architecture Patterns with Python by Harry Percival (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This was an excellent introduction to domain-driven design in Python. It also explores the most common architectural patterns, highlighting their pros and cons. Overall, it was an insightful and enjoyable read.&lt;/p&gt;

&lt;h2 id=&quot;the-fountainhead-by-ayn-rand-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/2122.The_Fountainhead&quot;&gt;The Fountainhead by Ayn Rand (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;The book delivers an inspiring exploration of individualism and integrity, but its density caused me to lose interest midway; I had planned to read Atlas Shrugged next, but that might be on hold for now.&lt;/p&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in November 2024</title>
    <link href="https://chamoda.com/read/2024-november" rel="alternate" type="text/html" title="What I read in November 2024" />
    <published>2024-12-04T00:00:00+00:00</published>
    <updated>2024-12-04T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2024-november</id>
    <content type="html" xml:base="https://chamoda.com/read/2024-november">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;how-to-take-smart-notes-by-sönke-ahrens-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/34507927-how-to-take-smart-notes&quot;&gt;How to Take Smart Notes by Sönke Ahrens (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This was a fascinating read on Zettelkasten note-taking techniques. Here are a few key takeaways from the book:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Non-fiction writing is not simply a process of sitting down and writing an article or book straight from the thoughts in your head&lt;/li&gt;
  &lt;li&gt;You have to build your knowledge/fact base long term.&lt;/li&gt;
  &lt;li&gt;Zettelkasten (German for slip box) is a good approach for this.&lt;/li&gt;
  &lt;li&gt;Once you have a good enough knowledge/fact base for reference, writing something good for publication is just about rephrasing and rearranging your notes.&lt;/li&gt;
  &lt;li&gt;Good, productive writing starts with good note-taking.&lt;/li&gt;
  &lt;li&gt;GTD (Getting things done) can’t be transferred directly into insightful writing tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;project-hail-mary-by-andy-weir-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/54493401-project-hail-mary&quot;&gt;Project Hail Mary by Andy Weir (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;I picked this one up because I really enjoyed the author’s previous book, The Martian, but unfortunately, this one didn’t meet my expectations.&lt;/p&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in October 2024</title>
    <link href="https://chamoda.com/read/2024-october" rel="alternate" type="text/html" title="What I read in October 2024" />
    <published>2024-10-31T00:00:00+00:00</published>
    <updated>2024-10-31T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2024-october</id>
    <content type="html" xml:base="https://chamoda.com/read/2024-october">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;refactoring-ui-by-adam-wathan-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/43190966-refactoring-ui&quot;&gt;Refactoring UI by Adam Wathan (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Key personal takeaways,&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Start design with a feature, not layout.&lt;/li&gt;
  &lt;li&gt;Define a design system in advance.&lt;/li&gt;
  &lt;li&gt;Understanding visual hierarchy is key to good design.&lt;/li&gt;
  &lt;li&gt;Semantics are secondary, hierarchy is more important.&lt;/li&gt;
  &lt;li&gt;Separate visual hierarchy from document hierarchy.&lt;/li&gt;
  &lt;li&gt;Developing an eye for all of the details that make a good typeface can take years, meanwhile steal from people who care about typefaces.&lt;/li&gt;
  &lt;li&gt;Baseline, don’t center.&lt;/li&gt;
  &lt;li&gt;Ditch Hex for HSL.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;an-essay-on-economic-theory-by-richard-cantillon-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/9121382-an-essay-on-economic-theory&quot;&gt;An Essay on Economic Theory by Richard Cantillon (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Just read this as a foundational precursor to Adam Smith’s The Wealth of Nations. This book is one of the earliest works to introduce the concept of the “entrepreneur”.&lt;/p&gt;

&lt;h2 id=&quot;elon-musk-by-walter-isaacson-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/122765395-elon-musk&quot;&gt;Elon Musk by Walter Isaacson (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;I picked this up because I’ve enjoyed most of Walter Isaacson’s previous biographies, but this one doesn’t quite measure up to his previous work.&lt;/p&gt;

&lt;h2 id=&quot;articles&quot;&gt;Articles&lt;/h2&gt;

&lt;h2 id=&quot;the-copenhagen-book-thecopenhagenbookcom&quot;&gt;&lt;a href=&quot;https://thecopenhagenbook.com&quot;&gt;The Copenhagen Book (thecopenhagenbook.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;General guidelines on implementing auth in web apps. Here’s what I got out from the book.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Tokens should have at least 112 bits (14 bytes) of entropy. 256 bits (32 bytes) is recommended. Good way to quickly generate a token with 256 bits entropy is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;openssl rand -hex 32&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;For extra security situations tokens should be hashed with SHA-256.&lt;/li&gt;
  &lt;li&gt;Use sudo mode sessions for high security situations. Basically assign a time limited token after doing extra authentication to do sensitive operations. GitHub asking to re-authenticate when doing a sensitive operation is a good example for this.&lt;/li&gt;
  &lt;li&gt;For password hashing Argon2id is the first choice, followed by Scrypt then Bcrypt.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;try-to-fix-it-one-level-deeper-httpsmatkladgithubio&quot;&gt;&lt;a href=&quot;https://matklad.github.io/2024/09/06/fix-one-level-deeper.html&quot;&gt;Try to Fix It One Level Deeper (https://matklad.github.io)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;When a bug is found in software, the fix often seems straightforward. However, by taking a moment to focus closely, you’ll often uncover a deeper issue that, once resolved, can prevent similar bugs from occurring in the future. Always aim to fix problems one level deeper!&lt;/p&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in September 2024</title>
    <link href="https://chamoda.com/read/2024-september" rel="alternate" type="text/html" title="What I read in September 2024" />
    <published>2024-09-28T00:00:00+00:00</published>
    <updated>2024-09-28T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2024-september</id>
    <content type="html" xml:base="https://chamoda.com/read/2024-september">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;war-and-peace-by-leo-tolstoy-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/656.War_and_Peace&quot;&gt;War and Peace by Leo Tolstoy (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This was quite a journey over 4 months, but I believe it was well worth the effort. The sheer scope of this book is overwhelming, yet Tolstoy masterfully blends sweeping historical events with personal moments, creating a story that feels both epic and deeply personal.&lt;/p&gt;

&lt;h2 id=&quot;designing-data-intensive-applications-by-martin-kleppmann-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/23463279-designing-data-intensive-applications&quot;&gt;Designing Data-Intensive Applications by Martin Kleppmann (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Highly recommended for every programmer. Perception depends on how much you know already but covers the following topics:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Relational vs Document data models&lt;/li&gt;
  &lt;li&gt;Graph based modeling&lt;/li&gt;
  &lt;li&gt;Data warehousing&lt;/li&gt;
  &lt;li&gt;Distributed actor frameworks&lt;/li&gt;
  &lt;li&gt;Replication vs partitioning&lt;/li&gt;
  &lt;li&gt;Consensus on distributed computing&lt;/li&gt;
  &lt;li&gt;Batch vs stream processing&lt;/li&gt;
  &lt;li&gt;MapReduce&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;fast-feast-repeat-by-gin-stephens-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/51168294-fast-feast-repeat&quot;&gt;Fast, Feast, Repeat by Gin Stephens (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Taught me how to approach intermittent fasting from first principles. The key takeaway was to avoid triggering any insulin response during the fast. Even something as small as chewing gum with additives can trigger an insulin response without actual food intake.&lt;/p&gt;

&lt;p&gt;The only intakes allowed during fasting are&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Water&lt;/li&gt;
  &lt;li&gt;Tea (without any additives)&lt;/li&gt;
  &lt;li&gt;Black coffee (without additives, of course)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;articles&quot;&gt;Articles&lt;/h2&gt;

&lt;h2 id=&quot;oauth-from-first-principles-stack-authcom&quot;&gt;&lt;a href=&quot;https://stack-auth.com/blog/oauth-from-first-principles&quot;&gt;OAuth from First Principles (stack-auth.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Excellent article explaining the reasoning behind every aspect of OAuth, rooted in first-principles thinking.&lt;/p&gt;

&lt;h2 id=&quot;the-art-of-finishing-bytedrumcom&quot;&gt;&lt;a href=&quot;https://www.bytedrum.com/posts/art-of-finishing&quot;&gt;The Art of Finishing (bytedrum.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Great set of tips to finish your next side project. In summary:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Define “Done” from the start&lt;/li&gt;
  &lt;li&gt;Embrace MVP&lt;/li&gt;
  &lt;li&gt;Give yourself a deadline&lt;/li&gt;
&lt;/ul&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in August 2024</title>
    <link href="https://chamoda.com/read/2024-august" rel="alternate" type="text/html" title="What I read in August 2024" />
    <published>2024-09-09T00:00:00+00:00</published>
    <updated>2024-09-09T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2024-august</id>
    <content type="html" xml:base="https://chamoda.com/read/2024-august">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;the-linux-command-line-a-complete-introduction-by-william-shotts-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/11724436-the-linux-command-line&quot;&gt;The Linux Command Line: A Complete Introduction by William Shotts (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Skimmed through this one and would definitely recommend it to new developers looking to get familiar with Linux. The book’s comprehensive, practical approach makes it a great resource for learning the ropes.&lt;/p&gt;

&lt;h2 id=&quot;articles&quot;&gt;Articles&lt;/h2&gt;

&lt;h2 id=&quot;algorithms-we-develop-software-by-grantslattoncom&quot;&gt;&lt;a href=&quot;https://grantslatton.com/software-pathfinding&quot;&gt;Algorithms we develop software by (grantslatton.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Conceptually (at least) valuable set of methodologies when thinking of software development as pathfinding in a problem space. In summary:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Write everything twice&lt;/p&gt;

    &lt;p&gt;Solve the problem, stash code into a branch, rewrite again (keep the unit test you wrote) for 2x higher quality code for 1.25x the time.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;“Gun to the head” heuristic&lt;/p&gt;

    &lt;p&gt;Let’s say you have a task that takes 2 weeks to implement. Ask the question: what would you do if someone had a gun to your head to do this in 24 hours? Work on that approach first.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;on-writing-well-zodvikcom&quot;&gt;&lt;a href=&quot;https://zodvik.com/posts/on-writing-well&quot;&gt;On writing well (zodvik.com)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Checklist to bring absolute clarity to your writings.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Use fewer than 30 words per sentence.&lt;/li&gt;
  &lt;li&gt;Check for words you can remove from a phrase. If meaning remains clear, just remove it.&lt;/li&gt;
  &lt;li&gt;Check for terms your audience may not be familiar with and remove them or explain the terms along with usage.&lt;/li&gt;
  &lt;li&gt;Check for adjectives that can be replaced with data or details.&lt;/li&gt;
  &lt;li&gt;Ask the question “So what?” to every sentence you write.&lt;/li&gt;
  &lt;li&gt;Rewrite sentences to use active voice over passive voice.&lt;/li&gt;
  &lt;li&gt;Check for obsolete data and replace them with non-obsolete data (e.g., replace “in 2 weeks” with exact date).&lt;/li&gt;
&lt;/ul&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in June 2024</title>
    <link href="https://chamoda.com/read/2024-june" rel="alternate" type="text/html" title="What I read in June 2024" />
    <published>2024-07-01T00:00:00+00:00</published>
    <updated>2024-07-01T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2024-june</id>
    <content type="html" xml:base="https://chamoda.com/read/2024-june">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;lets-go-further-by-alex-edwards-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/58044798&quot;&gt;Let’s Go Further! by Alex Edwards (goodreads.com)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in April 2024</title>
    <link href="https://chamoda.com/read/2024-april" rel="alternate" type="text/html" title="What I read in April 2024" />
    <published>2024-05-01T00:00:00+00:00</published>
    <updated>2024-05-01T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2024-april</id>
    <content type="html" xml:base="https://chamoda.com/read/2024-april">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;mostly-harmless-by-douglas-adams-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/569429&quot;&gt;Mostly Harmless by Douglas Adams (goodreads.com)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in March 2024</title>
    <link href="https://chamoda.com/read/2024-march" rel="alternate" type="text/html" title="What I read in March 2024" />
    <published>2024-04-01T00:00:00+00:00</published>
    <updated>2024-04-01T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2024-march</id>
    <content type="html" xml:base="https://chamoda.com/read/2024-march">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;the-almanack-of-naval-ravikant-a-guide-to-wealth-and-happiness-by-eric-jorgenson-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/54898389&quot;&gt;The Almanack of Naval Ravikant: A Guide to Wealth and Happiness by Eric Jorgenson (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;life-the-universe-and-everything-by-douglas-adams-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/8694&quot;&gt;Life, the Universe and Everything by Douglas Adams (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;learning-go-an-idiomatic-approach-to-real-world-go-programming-by-jon-bodner-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/55841848&quot;&gt;Learning Go: An Idiomatic Approach to Real-World Go Programming by Jon Bodner (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;the-mom-test-how-to-talk-to-customers--learn-if-your-business-is-a-good-idea-when-everyone-is-lying-to-you-by-rob-fitzpatrick-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/52283963&quot;&gt;The Mom Test: How to talk to customers &amp;amp; learn if your business is a good idea when everyone is lying to you by Rob Fitzpatrick (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;so-long-and-thanks-for-all-the-fish-by-douglas-adams-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/6091075&quot;&gt;So Long, and Thanks for All the Fish by Douglas Adams (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;the-startup-ctos-handbook-essential-skills-and-best-practices-for-high-performing-engineering-teams-by-zach-goldberg-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/200314620&quot;&gt;The Startup CTO’s Handbook: Essential skills and best practices for high performing engineering teams by Zach Goldberg (goodreads.com)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
  <entry>
    <title type="html">What I read in February 2024</title>
    <link href="https://chamoda.com/read/2024-february" rel="alternate" type="text/html" title="What I read in February 2024" />
    <published>2024-03-01T00:00:00+00:00</published>
    <updated>2024-03-01T00:00:00+00:00</updated>
    <id>https://chamoda.com/read/2024-february</id>
    <content type="html" xml:base="https://chamoda.com/read/2024-february">&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;h2 id=&quot;the-restaurant-at-the-end-of-the-universe-by-douglas-adams-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/8695&quot;&gt;The Restaurant at the End of the Universe by Douglas Adams (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;principles-of-marketing-by-philip-kotler-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/74280&quot;&gt;Principles of Marketing by Philip Kotler (goodreads.com)&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id=&quot;design-patterns-elements-of-reusable-object-oriented-software-by-erich-gamma-goodreadscom&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/85009&quot;&gt;Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma (goodreads.com)&lt;/a&gt;&lt;/h2&gt;</content>
    <author>
      <name>Chamoda Pandithage</name>
    </author>
    <summary type="html">Books

</summary>
  </entry>
  
</feed>
