<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Notes on TerryFunggg Blog</title>
    <link>https://blog.terryfunggg.dev/notes/</link>
    <description>Recent content in Notes on TerryFunggg Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <managingEditor>terryeessfung@gmail.com (TerryFung)</managingEditor>
    <webMaster>terryeessfung@gmail.com (TerryFung)</webMaster>
    <copyright>TerryFung</copyright>
    <lastBuildDate>Sun, 07 Dec 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.terryfunggg.dev/notes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>PPM image parse</title>
      <link>https://blog.terryfunggg.dev/notes/ppm/</link>
      <pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/ppm/</guid>
      <description>&lt;p&gt;PPM image parser&lt;/p&gt;&#xA;&lt;p&gt;References: &lt;a href=&#34;https://netpbm.sourceforge.net/doc/ppm.html&#34;&gt;https://netpbm.sourceforge.net/doc/ppm.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example format&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt; code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intro what is MCP</title>
      <link>https://blog.terryfunggg.dev/notes/llm_mcp/</link>
      <pubDate>Sun, 26 Oct 2025 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/llm_mcp/</guid>
      <description>&lt;p&gt;Base my understanding, I try to use simple way to explain what is MCP (Model Context protocal).&lt;/p&gt;&#xA;&lt;h3 id=&#34;the-io&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  The I/O&#xA;  &#xA;    &lt;a href=&#34;#the-io&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Input Output model is the only truth rule in computer. All action are Input and Output.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why bitshift(1)</title>
      <link>https://blog.terryfunggg.dev/notes/why_bitshift/</link>
      <pubDate>Sun, 14 Sep 2025 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/why_bitshift/</guid>
      <description>&lt;p&gt;One &amp;ldquo;old school&amp;rdquo; reason to use bitshift, is division and multiplication.&lt;/p&gt;&#xA;&lt;p&gt;As you know, doing division or multiplication in computer it taskes a&#xA;lot step then add/minus.(Now mordern PC will not feel this. But it still an issue in some extreme cases.)&lt;/p&gt;&#xA;&lt;p&gt;Bitshift help PC do super faster on division and multiplication.&lt;/p&gt;&#xA;&lt;p&gt;When we shift &lt;em&gt;right&lt;/em&gt; 1 bit, it performs a division by 2 in decimal:&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt; code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to read the Packets Command on psx-spx</title>
      <link>https://blog.terryfunggg.dev/notes/read_psx_command/</link>
      <pubDate>Sat, 30 Aug 2025 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/read_psx_command/</guid>
      <description>&lt;p&gt;How to read the Command on psxspx&lt;/p&gt;&#xA;&lt;p&gt;For &lt;a href=&#34;https://problemkaputt.de/psxspx-gpu-display-control-commands-gp1.htm&#34;&gt;GPU Display Control Commands (GP1)&lt;/a&gt; - Display mode as example:&lt;/p&gt;&#xA;&lt;p&gt;Sending Packets:&lt;/p&gt;&#xA;&lt;p&gt;Packets structure: Command + Params (32bit)&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;0xCCPPPPPP&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Command:&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;asm&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;asm code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>lsblk command</title>
      <link>https://blog.terryfunggg.dev/notes/lsblk/</link>
      <pubDate>Sun, 29 Dec 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/lsblk/</guid>
      <description>&lt;p&gt;list blok devices&lt;/p&gt;&#xA;&lt;p&gt;also show the mount point for devices&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;sh&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;sh code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>rsync command</title>
      <link>https://blog.terryfunggg.dev/notes/rsync/</link>
      <pubDate>Sat, 14 Dec 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/rsync/</guid>
      <description>&lt;p&gt;scp is transfer the files/folder to other location/PC&#xA;eg send file to some server:&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;sh&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;sh code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2024-12-04</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20241204/</link>
      <pubDate>Wed, 04 Dec 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20241204/</guid>
      <description>&lt;p&gt;— Day 4: Ceres Search —&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Looks like the Chief&amp;rsquo;s not here. Next!&amp;rdquo; One of The Historians pulls out a device and pushes the only button on it. After a brief flash, you recognize the interior of the Ceres monitoring station!&lt;/p&gt;&#xA;&lt;p&gt;As the search for the Chief continues, a small Elf who lives on the station tugs on your shirt; she&amp;rsquo;d like to know if you could help her with her word search (your puzzle input). She only has to find one word: XMAS.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2024-12-03</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20241203/</link>
      <pubDate>Tue, 03 Dec 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20241203/</guid>
      <description>&lt;p&gt;— Day 3: Mull It Over —&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Our computers are having issues, so I have no idea if we have any Chief Historians in stock! You&amp;rsquo;re welcome to check the warehouse, though,&amp;rdquo; says the mildly flustered shopkeeper at the North Pole Toboggan Rental Shop. The Historians head out to take a look.&lt;/p&gt;&#xA;&lt;p&gt;The shopkeeper turns to you. &amp;ldquo;Any chance you can see why our computers are having issues again?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;The computer appears to be trying to run a program, but its memory (your puzzle input) is corrupted. All of the instructions have been jumbled up!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2024-12-02</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20241202/</link>
      <pubDate>Mon, 02 Dec 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20241202/</guid>
      <description>&lt;p&gt;— Day 2: Red-Nosed Reports —&lt;/p&gt;&#xA;&lt;p&gt;Fortunately, the first location The Historians want to search isn&amp;rsquo;t a long walk from the Chief Historian&amp;rsquo;s office.&lt;/p&gt;&#xA;&lt;p&gt;While the Red-Nosed Reindeer nuclear fusion/fission plant appears to contain no sign of the Chief Historian, the engineers there run up to you as soon as they see you. Apparently, they still talk about the time Rudolph was saved through molecular synthesis from a single electron.&lt;/p&gt;&#xA;&lt;p&gt;They&amp;rsquo;re quick to add that - since you&amp;rsquo;re already here - they&amp;rsquo;d really appreciate your help analyzing some unusual data from the Red-Nosed reactor. You turn to check if The Historians are waiting for you, but they seem to have already divided into groups that are currently searching every corner of the facility. You offer to help with the unusual data.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2024-12-01</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20241201/</link>
      <pubDate>Sun, 01 Dec 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20241201/</guid>
      <description>&lt;p&gt;— Day 1: Historian Hysteria —&lt;/p&gt;&#xA;&lt;p&gt;The Chief Historian is always present for the big Christmas sleigh launch, but nobody has seen him in months! Last anyone heard, he was visiting locations that are historically significant to the North Pole; a group of Senior Historians has asked you to accompany them as they check the places they think he was most likely to visit.&lt;/p&gt;&#xA;&lt;p&gt;As each location is checked, they will mark it on their list with a star. They figure the Chief Historian must be in one of the first fifty places they&amp;rsquo;ll look, so in order to save Christmas, you need to help them get fifty stars on their list before Santa takes off on December 25th.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Elisp create today log files</title>
      <link>https://blog.terryfunggg.dev/notes/lisp_create_log/</link>
      <pubDate>Mon, 18 Nov 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/lisp_create_log/</guid>
      <description>&lt;p&gt;Using elisp create a empty log file by today date&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;elisp&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;elisp code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>Random noise</title>
      <link>https://blog.terryfunggg.dev/notes/random_noise/</link>
      <pubDate>Thu, 26 Sep 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/random_noise/</guid>
      <description>&lt;iframe width=&#39;600&#39; height=&#39;300&#39; src=&#34;https://editor.p5js.org/TerryFunggg/full/9DsGM3Qde&#34;&gt;&lt;/iframe&gt;&#xA;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://natureofcode.com/random/&#34;&gt;Nature Of Code - Random&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Start</title>
      <link>https://blog.terryfunggg.dev/notes/star/</link>
      <pubDate>Thu, 26 Sep 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/star/</guid>
      <description>&lt;iframe width=&#39;800&#39; height=&#39;800&#39; src=&#34;https://editor.p5js.org/TerryFunggg/full/A2O4iYx43&#34;&gt;&lt;/iframe&gt;&#xA;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://thecodingtrain.com/challenges/1-starfield&#34;&gt;The code train - starfield&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Python osmnx map visualization</title>
      <link>https://blog.terryfunggg.dev/notes/python_osmnx/</link>
      <pubDate>Sun, 21 Apr 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/python_osmnx/</guid>
      <description>&lt;p&gt;I found a cool visualization of A* pathfinding on Youtube:&#xA;&#xA;&#xA;&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/CgW0HPHqFE8?si=NPePWlsjKiCcmGKG&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;And play a little bit OSMnx which is the video description mentioned.&#xA;&#xA;&#xA;&lt;iframe width=&#34;560&#34; height=&#34;500&#34; src=&#34;https://blog.terryfunggg.dev/files/pynote/osmnx-sample.html&#34; allowfullscreen&gt;&lt;/iframe&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;But the cooler effect in video which make with Blender&amp;hellip;Hope can find sometimes to try this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Event System</title>
      <link>https://blog.terryfunggg.dev/notes/event_system/</link>
      <pubDate>Thu, 11 Jan 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/event_system/</guid>
      <description>&lt;p&gt;During &lt;a href=&#34;https://blog.terryfunggg.dev/notes/ecs_design/&#34; class=&#34;backlink&#34;&gt;ECS system design&lt;/a&gt;&#xA;. We may need&#xA;to handle how systems communicate each other.&lt;/p&gt;&#xA;&lt;p&gt;Two common ways to handle events on System.&lt;/p&gt;&#xA;&lt;h3 id=&#34;passive-check&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Passive Check&#xA;  &#xA;    &lt;a href=&#34;#passive-check&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h3&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;cpp&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;cpp code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>ECS Design</title>
      <link>https://blog.terryfunggg.dev/notes/ecs_design/</link>
      <pubDate>Fri, 05 Jan 2024 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/ecs_design/</guid>
      <description>&lt;p&gt;ECS stands for Entity Component System&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Name&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: left&#34;&gt;Describes&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Entity&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;A unique identifier (like an ID) representing a game object.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Component&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;A chunk of data (no behavior) that describes one aspect of an entity.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;System&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: left&#34;&gt;Logic that operates on entities with specific components.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>Draw Line (DDA algorithm)</title>
      <link>https://blog.terryfunggg.dev/notes/draw_line_dda/</link>
      <pubDate>Sat, 30 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/draw_line_dda/</guid>
      <description>&lt;p&gt;Instead of using library api call &lt;code&gt;drawLine()&lt;/code&gt; why don&amp;rsquo;t we write a drawLine()&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;js&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;js code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>Perspectivce Divide</title>
      <link>https://blog.terryfunggg.dev/notes/perspectivce_divide/</link>
      <pubDate>Wed, 27 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/perspectivce_divide/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.terryfunggg.dev/img/Screenshot_2023-12-27_at_10.12.39_AM.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The differen with &lt;a href=&#34;https://blog.terryfunggg.dev/notes/orthographic_projection/&#34; class=&#34;backlink&#34;&gt;Orthographic projection&lt;/a&gt;&#xA;, Perspectivce Projection which care about the z. Using z to represent depth.&lt;/p&gt;&#xA;&lt;p&gt;Lets say we want to make vector P a 3D vector (x, y, z) to display on screen as vector P&amp;rsquo;(x,y) on screen.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://blog.terryfunggg.dev/img/Screenshot_2023-12-27_at_10.21.01_AM.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The image show that this is a similar triangle from our eye A to point P which lable e with z depth&lt;/p&gt;&#xA;&lt;p&gt;The similar trinangle is ADE and ABC, the the similar triangle formular is:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Draw Vector</title>
      <link>https://blog.terryfunggg.dev/notes/draw_vector/</link>
      <pubDate>Mon, 25 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/draw_vector/</guid>
      <description>&lt;p&gt;Define Color buffer&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;c&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;c code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>Orthographic Projection</title>
      <link>https://blog.terryfunggg.dev/notes/orthographic_projection/</link>
      <pubDate>Mon, 25 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/orthographic_projection/</guid>
      <description>&lt;p&gt;Merry christmas! Having times to play.&lt;/p&gt;&#xA;&lt;p&gt;Simple image for expalan Orthographic Projection:&lt;/p&gt;&#xA;&lt;p&gt;Porject 3D object (x, y , z) just without z.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://blog.terryfunggg.dev/img/Screenshot_2023-12-26_at_12.29.00_AM.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;See example how to make a 3D cube project to screen using Orthographic Projection.&lt;/p&gt;&#xA;&lt;p&gt;Define common 3D vector first:&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;c&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;c code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>Draw Grid</title>
      <link>https://blog.terryfunggg.dev/notes/draw_grid/</link>
      <pubDate>Sun, 24 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/draw_grid/</guid>
      <description>&lt;p&gt;Define Color buffer:&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;c&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;c code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>Draw Rectangles</title>
      <link>https://blog.terryfunggg.dev/notes/draw_rectangles/</link>
      <pubDate>Sat, 23 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/draw_rectangles/</guid>
      <description>&lt;p&gt;Define Color buffer:&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;c&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;c code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-11</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231211/</link>
      <pubDate>Mon, 11 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231211/</guid>
      <description>&lt;p&gt;— Day 11: Cosmic Expansion —&lt;/p&gt;&#xA;&lt;h2 id=&#34;part-one&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Part One&#xA;  &#xA;    &lt;a href=&#34;#part-one&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;You continue following signs for &amp;ldquo;Hot Springs&amp;rdquo; and eventually come across an observatory. The Elf within turns out to be a researcher studying cosmic expansion using the giant telescope here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-10</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231210/</link>
      <pubDate>Sun, 10 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231210/</guid>
      <description>&lt;p&gt;— Day 10: Pipe Maze —&lt;/p&gt;&#xA;&lt;p&gt;I love this challenge. So will have more details about it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;part-one&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Part One&#xA;  &#xA;    &lt;a href=&#34;#part-one&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;You use the hang glider to ride the hot air from Desert Island all the way up to the floating metal island. This island is surprisingly cold and there definitely aren&amp;rsquo;t any thermals to glide on, so you leave your hang glider behind.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-09</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231209/</link>
      <pubDate>Sat, 09 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231209/</guid>
      <description>&lt;p&gt;— Day 9: Mirage Maintenance —&lt;/p&gt;&#xA;&lt;h2 id=&#34;part-one&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Part One&#xA;  &#xA;    &lt;a href=&#34;#part-one&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;You ride the camel through the sandstorm and stop where the ghost&amp;rsquo;s maps told you to stop. The sandstorm subsequently subsides, somehow seeing you standing at an oasis!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-08</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231208/</link>
      <pubDate>Fri, 08 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231208/</guid>
      <description>&lt;p&gt;— Day 8: Haunted Wasteland —&lt;/p&gt;&#xA;&lt;h2 id=&#34;part-one&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Part One&#xA;  &#xA;    &lt;a href=&#34;#part-one&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;You&amp;rsquo;re still riding a camel across Desert Island when you spot a sandstorm quickly approaching. When you turn to warn the Elf, she disappears before your eyes! To be fair, she had just finished warning you about ghosts a few minutes ago.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-07</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231207/</link>
      <pubDate>Thu, 07 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231207/</guid>
      <description>&lt;p&gt;— Day 7: Camel Cards —&lt;/p&gt;&#xA;&lt;h2 id=&#34;part-one&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Part One&#xA;  &#xA;    &lt;a href=&#34;#part-one&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Your all-expenses-paid trip turns out to be a one-way, five-minute ride in an airship. (At least it&amp;rsquo;s a cool airship!) It drops you off at the edge of a vast desert and descends back to Island Island.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-06</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231206/</link>
      <pubDate>Wed, 06 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231206/</guid>
      <description>&lt;p&gt;— Day 6: Wait For It —&lt;/p&gt;&#xA;&lt;p&gt;The ferry quickly brings you across Island Island. After asking around, you discover that there is indeed normally a large pile of sand somewhere near here, but you don&amp;rsquo;t see anything besides lots of water and the small island where the ferry has docked.&lt;/p&gt;&#xA;&lt;p&gt;As you try to figure out what to do next, you notice a poster on a wall near the ferry dock. &amp;ldquo;Boat races! Open to the public! Grand prize is an all-expenses-paid trip to Desert Island!&amp;rdquo; That must be where the sand comes from! Best of all, the boat races are starting in just a few minutes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-05</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231205/</link>
      <pubDate>Tue, 05 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231205/</guid>
      <description>&lt;p&gt;— Day 5: If You Give A Seed A Fertilizer —&lt;/p&gt;&#xA;&lt;h2 id=&#34;part-i&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  PART I&#xA;  &#xA;    &lt;a href=&#34;#part-i&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;You take the boat and find the gardener right where you were told he would be: managing a giant &amp;ldquo;garden&amp;rdquo; that looks more to you like a farm.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-04</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231204/</link>
      <pubDate>Mon, 04 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231204/</guid>
      <description>&lt;p&gt;&amp;mdash; Day 4: Scratchcards &amp;mdash;&lt;/p&gt;&#xA;&lt;h2 id=&#34;part-1&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Part 1&#xA;  &#xA;    &lt;a href=&#34;#part-1&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The gondola takes you up. Strangely, though, the ground doesn&amp;rsquo;t seem to be coming with you; you&amp;rsquo;re not climbing a mountain. As the circle of Snow Island recedes below you, an entire new landmass suddenly appears above you The gondola carries you to the surface of the new island and lurches into the station.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-03</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231203/</link>
      <pubDate>Sun, 03 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231203/</guid>
      <description>&lt;p&gt;&amp;mdash; Day 3: Gear Ratios: &amp;mdash;&lt;/p&gt;&#xA;&lt;h2 id=&#34;part-1&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Part 1&#xA;  &#xA;    &lt;a href=&#34;#part-1&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;You and the Elf eventually reach a gondola lift station; he says the gondola lift will take you up to the water source, but this is as far as he can bring you. You go inside.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-02</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231202/</link>
      <pubDate>Sat, 02 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231202/</guid>
      <description>&lt;h2 id=&#34;part-1&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Part 1&#xA;  &#xA;    &lt;a href=&#34;#part-1&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The Elf says they&amp;rsquo;ve stopped producing snow because they aren&amp;rsquo;t getting any water! He isn&amp;rsquo;t sure why the water stopped; however, he can show you how to get to the water source to check it out for yourself. It&amp;rsquo;s just up ahead!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advent of code 2023-12-01</title>
      <link>https://blog.terryfunggg.dev/notes/adventofcode20231201/</link>
      <pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/adventofcode20231201/</guid>
      <description>&lt;h2 id=&#34;question&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Question&#xA;  &#xA;    &lt;a href=&#34;#question&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The newly-improved calibration document consists of lines of text; each line originally contained a specific calibration value that the Elves now need to recover. On each line, the calibration value can be found by combining the first digit and the last digit (in that order) to form a single two-digit number.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy org agenda files on save</title>
      <link>https://blog.terryfunggg.dev/notes/deploy_org_agenda_files_on_save/</link>
      <pubDate>Mon, 30 Oct 2023 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/deploy_org_agenda_files_on_save/</guid>
      <description>&lt;h2 id=&#34;issued&#34; class=&#34;scroll-mt-8 group&#34;&gt;&#xA;  Issued&#xA;  &#xA;    &lt;a href=&#34;#issued&#34;&#xA;        class=&#34;no-underline hidden opacity-50 hover:opacity-100 !text-inherit group-hover:inline-block&#34;&#xA;        aria-hidden=&#34;true&#34; title=&#34;Link to this heading&#34; tabindex=&#34;-1&#34;&gt;&#xA;        &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;    &lt;/a&gt;&#xA;  &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;我過往同步 org agenda files 方法:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Github repo 用 git push/pull 去同步我的 agenda files。但是在多台電腦切換就會變得麻煩，而且不夠靈活。&lt;/li&gt;&#xA;&lt;li&gt;把 org 文件直接放在移動硬盤裡。最大問題是會把硬盤遺留在某個機子上。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;最後我選擇了直接寫 emacs lisp 吧！（雖然不太會寫…）但經過 Google search 找到幾個 function 發現能做到想要的功能 - 在用 Emacs 保存指定的 org files 時進行 sync。這裡的 sync 是把自己的 agenda view 上傳到服務器上， 這樣當我隨時隨地用瀏覽器打 &lt;a href=&#34;https://some-domain.com/agenda&#34;&gt;https://some-domain.com/agenda&lt;/a&gt; 就可以查看到我的 agenda ！&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
