<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Cody Burleson</title>
    <link>https://codyburleson.com/</link>
    <description>Cody Burleson is a writer and freelance software engineer in the Colorado Rockies, and the author of Shadow of the Valley.</description>
    <language>en</language>
    <lastBuildDate>Fri, 16 May 2025 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://codyburleson.com/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The Hyper-Creator’s Manifesto: Principles for Intentional Technology Use</title>
      <link>https://codyburleson.com/blog/the-hyper-creators-manifesto-principles-for-intentional-technology-use</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/the-hyper-creators-manifesto-principles-for-intentional-technology-use</guid>
      <pubDate>Fri, 16 May 2025 00:00:00 GMT</pubDate>
      <description>We live in an age where technology has become an extension of ourselves. The smartphone, in particular, serves as both a great tool and a great distraction.…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <figure>
            <img src="https://codyburleson.com/assets/01-Q1wfj12g.jpg" alt width="3756" height="2499" loading="lazy" decoding="async">
            <figcaption>
              Photo by mali maeder:
              <a href="https://www.pexels.com/photo/men-s-white-long-sleeved-shirt-1043331/">https://www.pexels.com/photo/men-s-white-long-sleeved-shirt-1043331/</a>
            </figcaption>
          </figure>
          <h2>Preamble</h2>
          <p>
            We live in an age where technology has become an extension of
            ourselves. The smartphone, in particular, serves as both a great
            tool and a great distraction. This manifesto establishes a framework
            for those who choose to be hyper-creators rather than
            hyper-consumers — those who use technology as an instrument of
            creation rather than a vehicle for passive consumption.
          </p>
          <p>
            The hyper-creator recognizes that technology is neither inherently
            good nor evil, but that its impact is determined by the intentions
            and habits of its user. We assert that with deliberate practice and
            conscious choice, we can harness these tools to enhance our creative
            potential while defending against their capacity to diminish our
            autonomy, attention, and well-being.
          </p>
          <figure class="fl-quote">
            <blockquote>
              <p>
                “Our inventions are wont to be pretty toys, which distract our
                attention from serious things. They are but improved means to an
                unimproved end.”
              </p>
            </blockquote>
            <figcaption>Henry David Thoreau, Walden (1854)</figcaption>
          </figure>
          <h2>Core Principles</h2>
          <h3>CREATION BEFORE CONSUMPTION</h3>
          <figure>
            <img src="https://codyburleson.com/assets/02-BUld2eUc.jpg" alt width="4592" height="2584" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@inartesamma?utm_source=medium&amp;utm_medium=referral">Riccardo Sanmartini</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Using technology to aid writing,
            sketching, composing, coding, designing, or producing original work.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Beginning your day by consuming
            content before creating anything of your own.
          </p>
          <p>
            The hyper-creator uses technology first and foremost as a tool for
            expression and production. Morning hours are sacred for creation,
            not consumption. Your ideas deserve to be born before being
            influenced by the noise of others.
          </p>
          <h3>INTENTIONAL ATTENTION</h3>
          <figure>
            <img src="https://codyburleson.com/assets/03-BZJZ2DOM.jpg" alt width="7680" height="5120" loading="lazy" decoding="async">
            <figcaption>
              Photo by Andrea Piacquadio:
              <a href="https://www.pexels.com/photo/photo-of-a-woman-thinking-941555/">https://www.pexels.com/photo/photo-of-a-woman-thinking-941555/</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Focused engagement with applications
            that serve a specific, predetermined purpose.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Mindless scrolling, app-hopping,
            or allowing notifications to fragment your attention.
          </p>
          <p>
            The hyper-creator’s relationship with technology is characterized by
            intention, not reaction. Each interaction with your device should be
            purposeful and time-bound. Your attention is your most valuable
            resource — deploy it with strategic precision.
          </p>
          <h3>TOOL, NOT MASTER</h3>
          <figure>
            <img src="https://codyburleson.com/assets/04-B23zF4RU.jpg" alt width="5000" height="3333" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@barnimages?utm_source=medium&amp;utm_medium=referral">Barn Images</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Using technology as an instrument
            that extends your creative capabilities.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Allowing technology to dictate
            your behavior through psychological hooks and addictive design.
          </p>
          <p>
            The hyper-creator maintains sovereignty over technology. We
            recognize the sophisticated psychological tactics employed to
            capture our attention and consciously resist them. Our technology
            remains in its proper place: as servant, not master.
          </p>
          <h3>DEEP WORK OVER SHALLOW ENGAGEMENT</h3>
          <figure>
            <img src="https://codyburleson.com/assets/05-CKc-3WZC.jpg" alt width="2912" height="1945" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@punttim?utm_source=medium&amp;utm_medium=referral">Tim Gouw</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Using technology to facilitate
            extended periods of concentrated creative effort.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Allowing technology to enable
            constant context-switching and superficial thinking.
          </p>
          <figure class="fl-quote">
            <blockquote>
              <p>
                “To produce at your peak level you need to work for extended
                periods with full concentration on a single task free from
                distraction.”
              </p>
            </blockquote>
            <figcaption>Cal Newport, <em>Deep Work</em></figcaption>
          </figure>
          <p>
            The hyper-creator values depth over breadth. Quality emerges from
            sustained focus. Configure your digital environment to protect deep
            work sessions from interruption, and resist the allure of immediacy
            and novelty that technology constantly offers.
          </p>
          <h3>CURATION OVER ALGORITHM</h3>
          <figure>
            <img src="https://codyburleson.com/assets/06-DQCoAiUB.jpg" alt width="5184" height="3456" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@zalfaimani?utm_source=medium&amp;utm_medium=referral">Zalfa Imani</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Deliberately selecting specific
            sources of information and inspiration.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Surrendering your information diet
            to algorithmic recommendation systems optimized for engagement.
          </p>
          <p>
            The hyper-creator takes active responsibility for what enters their
            mind. We choose our influences with intention rather than allowing
            invisible algorithms to shape our worldview based on what will keep
            us scrolling longest.
          </p>
          <h3>CONNECTION, NOT VALIDATION</h3>
          <figure>
            <img src="https://codyburleson.com/assets/07-68Lgyl_g.jpg" alt width="6016" height="4016" loading="lazy" decoding="async">
            <figcaption>
              Photo by Pavel Danilyuk:
              <a href="https://www.pexels.com/photo/students-in-an-art-school-8382268/">https://www.pexels.com/photo/students-in-an-art-school-8382268/</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Using technology to forge meaningful
            connections around shared creative endeavors.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Using technology primarily as a
            source of external validation through likes, comments, and
            followers.
          </p>
          <p>
            The hyper-creator values authentic connection over approval metrics.
            We share our work not to accumulate social currency but to
            contribute value and engage in genuine dialogue. Our worth is not
            measured in engagement statistics.
          </p>
          <h3>INFORMATION ASYMMETRY AWARENESS</h3>
          <figure>
            <img src="https://codyburleson.com/assets/08-Dw7PBtH8.jpg" alt width="4000" height="6000" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@tintedprism?utm_source=medium&amp;utm_medium=referral">Shane Devlin</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Maintaining awareness of how apps
            are designed to manipulate your behavior.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Naively interacting with
            technology as though it is neutral and without agenda.
          </p>
          <p>
            The hyper-creator understands that most applications are designed to
            extract maximum attention and data. We approach each digital
            interaction with healthy skepticism, recognizing the information
            asymmetry between users and platforms.
          </p>
          <h3>PHYSICAL WORLD PRIMACY</h3>
          <figure>
            <img src="https://codyburleson.com/assets/09-DbHCQfie.jpg" alt width="6000" height="4000" loading="lazy" decoding="async">
            <figcaption>
              Photo by Pixabay:
              <a href="https://www.pexels.com/photo/two-women-walks-to-open-field-236973/">https://www.pexels.com/photo/two-women-walks-to-open-field-236973/</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Using technology to enhance your
            experience of the physical world.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Allowing technology to replace
            direct, embodied experience.
          </p>
          <p>
            The hyper-creator recognizes that creativity flourishes when
            nourished by tangible experiences. We use technology to augment
            rather than replace our relationship with the physical world,
            understanding that our bodies and environments are essential sources
            of creative insight.
          </p>
          <h3>DELIBERATE DIGITAL BOUNDARIES</h3>
          <figure>
            <img src="https://codyburleson.com/assets/10-BiFTyRog.jpg" alt width="6016" height="4016" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@benwhitephotography?utm_source=medium&amp;utm_medium=referral">Ben White</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Establishing clear temporal and
            spatial boundaries for technology use.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Allowing technology to permeate
            every moment and context of your life.
          </p>
          <p>
            The hyper-creator designates technology-free times and spaces. We
            create sanctuaries from digital influence — mental, temporal, and
            physical — allowing our minds the freedom to wander, connect, and
            generate ideas beyond the digital realm.
          </p>
          <h3>ETHICAL CREATION</h3>
          <figure>
            <img src="https://codyburleson.com/assets/11-D9z_j882.jpg" alt width="4723" height="3149" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@brookecagle?utm_source=medium&amp;utm_medium=referral">Brooke Cagle</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            <strong>✅ Acceptable:</strong> Using technology to create work that
            contributes positive value to others.
          </p>
          <p>
            <strong>❌ Unacceptable:</strong> Creating content that exploits
            attention or amplifies division for engagement.
          </p>
          <p>
            The hyper-creator recognizes their responsibility in what they put
            into the world. We reject the creation of work that leverages
            psychological vulnerabilities or contributes to social harm, even if
            such approaches would gain more attention.
          </p>
          <h2>Practical Implementation</h2>
          <p>To embody these principles, the hyper-creator can:</p>
          <ol>
            <li>
              Configure devices to minimize distraction (reduced notifications,
              grayscale mode, minimalist home screen)
            </li>
            <li>
              Establish clear time boundaries for when and how long technology
              is used
            </li>
            <li>
              Establish clear purpose boundaries for why certain devices and
              software applications are used
            </li>
            <li>Use tracking tools to maintain awareness of usage patterns</li>
            <li>
              Regularly perform digital detoxes to reset habitual patterns
            </li>
            <li>
              Cultivate offline hobbies and relationships that provide
              perspective
            </li>
            <li>
              Join communities of like-minded creators who reinforce these
              values
            </li>
            <li>
              Regularly audit installed apps based on whether they facilitate
              creation or consumption
            </li>
            <li>
              Schedule specific times for consumption rather than allowing it to
              occur by default
            </li>
            <li>
              Keep technology out of sacred spaces (bedroom, dinner table,
              creative workspace, human interactions)
            </li>
            <li>
              Practice mindfulness to develop awareness of automatic technology
              behaviors
            </li>
            <li>
              Refrain from device use in the company of others (especially
              during conversation) and hold this as a personal standard for good
              manners
            </li>
          </ol>
          <h2>Conclusion</h2>
          <p>
            The hyper-creator’s relationship with technology is one of conscious
            choice rather than passive acceptance. We recognize the
            revolutionary potential of these tools while remaining vigilant
            about their capacity to undermine our agency.
          </p>
          <p>
            This manifesto is not a rejection of technology but a reclamation of
            its highest purpose: to extend human capabilities and creative
            potential. By adhering to these principles, we defend not only our
            own well-being and creative output but also contribute to a culture
            where technology serves humanity’s deepest needs rather than
            exploiting our vulnerabilities.
          </p>
          <p>
            We choose to be creators, not consumers; agents, not products;
            masters of technology, not mastered by it.
          </p>
          <hr>
          <p>
            <em               >This manifesto may be freely shared, adapted, and implemented by
              all who aspire to become hyper-creators in an age of engineered
              distraction.</em>
          </p>
          <hr>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/the-hyper-creators-manifesto-principles-for-intentional-technology-use-967ac518c96d">Medium</a>
          on <time datetime="2025-05-16">May 16, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>The 4th Brain Recipe for Managing Events in Obsidian</title>
      <link>https://codyburleson.com/blog/the-4th-brain-recipe-for-managing-events-in-obsidian</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/the-4th-brain-recipe-for-managing-events-in-obsidian</guid>
      <pubDate>Sat, 10 May 2025 00:00:00 GMT</pubDate>
      <description>Because moments worth remembering deserve their own special space in your PKM</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            <strong               >Project: 4th Brain is an Integrated Intelligence Ecosystem
              developed by a community of artists, digital creators and
              knowledge workers who collaborate to create and share standards
              and tools for Personal Knowledge Management (PKM). In this
              article, we share our current recipe for managing events in
              Obsidian (Current and Future Events, Recurring Events, Birthdays,
              Past Events, and Cancelled Events).</strong>
          </p>
          <p><em>Last Modified: May 9, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-D8HNS0Fx.jpg" alt width="1536" height="1024" loading="lazy" decoding="async">
            <figcaption>
              Photgraph by
              <a href="https://unsplash.com/@ventiviews">Venti Views</a>,
              unsplash.com; remixed by author.
            </figcaption>
          </figure>
          <h2>The End Result: An Events Framework in Obsidian</h2>
          <p>
            With this recipe, you can track and report on key events in your
            life. This framework is not intended to replace the day-to-day
            utility of a calendar, but rather, it is meant to help you integrate
            key life events and related event information into your Personal
            Knowledge Management (PKM) system. This can help you find signals
            amongst the noise of your day-to-day work and it can help you record
            and integrate information about the moments that truly matter.
          </p>
          <p>
            With this framework, you will be able to create new Events from a
            template, store them in a logical set of recommended folders, and
            report on them using Dataview queries.
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/02-zLMBR7KZ.png" alt width="2086" height="1302" loading="lazy" decoding="async">
            <figcaption>
              Current and Future Events are dynamically shown based on a
              comparison of the current day and the startDate/endDate
              properties.
            </figcaption>
          </figure>
          <figure>
            <img src="https://codyburleson.com/assets/03-DY9V1unl.png" alt width="2254" height="1572" loading="lazy" decoding="async">
            <figcaption>
              Weekly, monthly, and yearly event documents are returned when the
              weeklyRecurDay, monthlyRecurDay, yearlyRecurMonth and
              yearlyRecurDay properties are set on them.
            </figcaption>
          </figure>
          <figure>
            <img src="https://codyburleson.com/assets/04-210uAg11.png" alt width="1596" height="682" loading="lazy" decoding="async">
            <figcaption>
              Upcoming birthdays are shown based on Template — Person documents
              with a birthday property and a “daysAhead” variable that you
              can change.
            </figcaption>
          </figure>
          <p>
            <em>⭐️️️️️️ This recipe is implemented in the </em><strong><em>4th Brain Reference Vault for Obsidian</em></strong><em>, available on GitHub; </em><a href="https://github.com/codyburleson/4th-brain-reference-vault"><em                 >fork and pull the repository or download the latest release
                here</em></a><em>.</em>
          </p>
          <h2>Folders</h2>
          <p>
            Our root folder structure follows the
            <a href="https://codyburleson.com/blog/patterns-for-pkm-para-method">PARA Method pattern for PKM</a>, which is optional in this recipe.
          </p>
          <ul>
            <li>📁 1 Projects</li>
            <li>📁 2 Areas</li>
            <li>📁 3 Resources</li>
            <li>📁 4 Archive</li>
          </ul>
          <p>
            Within the <em>3 Resources</em> folder, we have the following
            folders for event documents (documents created using
            <em>Template − Event</em>).
          </p>
          <ul>
            <li>
              📁 Events<br>- 📁 Cancelled Events<br>- 📁 Current and Future
              Events<br>- 📁 Past Events<br>- 📁 Recurring Events
            </li>
          </ul>
          <p>
            Within the Recurring Events folder, we have the following
            sub-folders.
          </p>
          <ul>
            <li>📁 Monthly</li>
            <li>📁 Weekly</li>
            <li>📁 Yearly</li>
          </ul>
          <p>
            These sub-folders are not strictly necessary because the Dataview
            queries we use to select documents are based on document properties
            and not the folders; still, we think they help keep event documents
            better organized and easier to manage.
          </p>
          <p>
            Here’s what all the folders look like together in our
            <a href="https://github.com/codyburleson/4th-brain-reference-vault">reference vault</a>:
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/05-C36Z-Q_o.png" alt width="552" height="910" loading="lazy" decoding="async">
          </figure>
          <h2>Templates</h2>
          <p>
            We store all templates in <em>3 Resources/Templates</em>. You’ll
            need a template for Event, of course. If you want to support
            reporting on birthdays, you’ll also want a template for a Person.
            Following are the properties you’ll want in each.
          </p>
          <h3>Template − Event</h3>
          <p>
            Create a template named “Template − Event.md” with the following
            properties.
          </p>
          <pre><code data-language="yaml">template: "[[Template - Event]]"
startDate: 
endDate: 
startTime: 
endTime: 
weeklyRecurDay: 
monthlyRecurDay: 
yearlyRecurMonth: 
yearlyRecurDay:</code></pre>
          <h3>Template − Person</h3>
          <p>
            Create a template named “Template − Person” with the following
            recommended properties (birthday is the only required property in
            this case).
          </p>
          <pre><code data-language="yaml">template: "[[Template - Person]]"
givenName: 
familyName: 
jobTitle: 
email: 
email2: 
telephone: 
streetAddress: 
city: 
stateOrProvince: 
postalCode: 
country: 
birthday:</code></pre>
          <h2>Required Obsidian Plugins</h2>
          <p>You’ll need the following Obsidian community plugins installed.</p>
          <p>
            <a href="https://github.com/blacksmithgu/obsidian-dataview"><strong>Obsidian Dataview</strong></a><strong> by Michael Brenan</strong><br>“Treat your Obsidian Vault
            as a database which you can query from. Provides a JavaScript API
            and pipeline-based query language for filtering, sorting, and
            extracting data from Markdown pages.”
          </p>
          <p>
            This is what we use to query and report on the various kinds of
            events－sorting them for display.
          </p>
          <p>
            <a href="https://github.com/LostPaul/obsidian-folder-notes"><strong>Obsidian Folder Notes</strong></a><strong> by Lost Paul</strong><br>“Folder notes is a plugin for
            the note taking app Obsidian that lets you attach notes to folders
            so that you can click on the name of a folder to open the note like
            in the app Notion. This plugin has some unique features that
            separate it from similar ‘Folder note’ plugins like opening folder
            notes through the path, creating folder notes for every existing
            folder, templater/template support and more.”
          </p>
          <p>
            This allows you to click on event folders to open the folder notes,
            which are
            <a href="https://codyburleson.com/blog/patterns-for-pkm-map-of-content">Map of Content (MoC)</a>
            pages that have the Dataview reports on them.
          </p>
          <p>
            <a href="https://github.com/SilentVoid13/Templater"><strong>Templater</strong></a><strong> by SilentVoid</strong><br>“Templater is a template
            plugin for Obsidian.md. It defines a templating language that lets
            you insert variables and functions results into your notes. It will
            also let you execute JavaScript code manipulating those variables
            and functions.”
          </p>
          <p>
            This plugin allows us to right-click on Event folders and select
            <em>Create new note from template</em>－allowing us to conveniently
            choose <em>Template − Event</em> when creating new events.
          </p>
          <h2>Folder Note Dataview Queries</h2>
          <p>
            Finally, configure Dataview queries on the appropriate folder notes.
          </p>
          <h3>Current and Future Events</h3>
          <figure>
            <img src="https://codyburleson.com/assets/06-Clto73JC.png" alt width="1526" height="532" loading="lazy" decoding="async">
            <figcaption>Example Dataview query results</figcaption>
          </figure>
          <pre><code data-language="dart">```dataviewjs
const today = DateTime.now();
dv.table(["Name","Start Date", "End Date"],
 dv.pages()
     .sort(doc =&gt; [ doc.endDate ], 'asc')
  .where(doc =&gt; 
   doc.file.name != "Template - Event" &amp;&amp;
   doc.template?.path?.includes("Template - Event")
  )
  .where(doc =&gt; doc.endDate &amp;&amp; doc.endDate &gt;= dv.date(today))
  .map(doc =&gt; 
   [
    doc.file.link,
    doc.startDate,
    doc.endDate,
   ])  
    )
```</code></pre>
          <h3>Past Events</h3>
          <figure>
            <img src="https://codyburleson.com/assets/07-CyDXXwNY.png" alt width="1508" height="352" loading="lazy" decoding="async">
            <figcaption>Example Dataview query results</figcaption>
          </figure>
          <pre><code data-language="dart">```dataviewjs
const today = DateTime.now();
dv.table(["Name","Start Date", "End Date"],
 dv.pages()
     .sort(doc =&gt; [ doc.endDate ], 'asc')
  .where(doc =&gt; 
   doc.file.name != "Template - Event" &amp;&amp;
   doc.template?.path?.includes("Template - Event")
  )
  .where(doc =&gt; doc.endDate &amp;&amp; doc.endDate &lt; dv.date(today))
  .map(doc =&gt; 
   [
    doc.file.link,
    doc.startDate,
    doc.endDate,
   ])  
    )
```</code></pre>
          <h3>Recurring Events</h3>
          <figure>
            <img src="https://codyburleson.com/assets/08-tjvfMAna.png" alt width="1524" height="1184" loading="lazy" decoding="async">
            <figcaption>Example Dataview query results</figcaption>
          </figure>
          <pre><code data-language="dart">```dataviewjs
// Get today's date
const today = DateTime.now();

// Function to convert 24h time to 12h time with AM/PM
function formatTime12h(time24h) {
    if (!time24h || time24h === "N/A") return "N/A";
    
    // Parse the hour and minute
    const [hours, minutes] = time24h.split(':').map(num =&gt; parseInt(num, 10));
    
    if (isNaN(hours) || isNaN(minutes)) return time24h;
    
    // Convert to 12-hour format
    const period = hours &gt;= 12 ? "PM" : "AM";
    const hours12 = hours % 12 || 12; // Convert 0 to 12 for 12 AM
    
    // Format as "1:30 PM" etc.
    return `${hours12}:${minutes.toString().padStart(2, '0')} ${period}`;
}

// Helper function for ordinal suffixes
function getOrdinalSuffix(day) {
    if (typeof day === 'string') day = parseInt(day);
    if (isNaN(day)) return '';
    
    if (day % 10 === 1 &amp;&amp; day % 100 !== 11) return 'st';
    if (day % 10 === 2 &amp;&amp; day % 100 !== 12) return 'nd';
    if (day % 10 === 3 &amp;&amp; day % 100 !== 13) return 'rd';
    return 'th';
}

// ========== WEEKLY EVENTS ==========
dv.header(2, "Weekly Recurring Events");

// Get all files in the Weekly folder
const weeklyEvents = dv.pages()
    .where(p =&gt; p.weeklyRecurDay);

// Map of day numbers to names for sorting and display
const dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
const dayMap = {};
dayNames.forEach((name, index) =&gt; {
    dayMap[name.toLowerCase()] = index;
});

// Sort events by day of week and start time
const sortedWeekly = weeklyEvents.sort(p =&gt; [
    // Sort by day number
    p.weeklyRecurDay ? (typeof p.weeklyRecurDay === 'number' ? p.weeklyRecurDay : dayMap[p.weeklyRecurDay.toLowerCase()]) : 7,
    // Then by start time
    p.startTime || "23:59"
]);

// Render the table
dv.table(["Event", "Day", "Start Time", "End Time"],
    sortedWeekly.map(p =&gt; [
        p.file.link,
        p.weeklyRecurDay,
        formatTime12h(p.startTime),
        formatTime12h(p.endTime)
    ])
);

// ========== MONTHLY EVENTS ==========
dv.header(2, "Monthly Recurring Events");

// Get all files in the Monthly folder
const monthlyEvents = dv.pages()
    .where(p =&gt; p.monthlyRecurDay);

// Sort events by day of month and start time
const sortedMonthly = monthlyEvents.sort(p =&gt; [
    // Sort by day of month
    parseInt(p.monthlyRecurDay) || 32,
    // Then by start time
    p.startTime || "23:59"
]);

// Render the table
dv.table(["Event", "Day of Month", "Start Time", "End Time"],
    sortedMonthly.map(p =&gt; [
        p.file.link,
        p.monthlyRecurDay ? (p.monthlyRecurDay + getOrdinalSuffix(p.monthlyRecurDay)) : "N/A",
        formatTime12h(p.startTime),
        formatTime12h(p.endTime)
    ])
);

// ========== YEARLY EVENTS ==========
dv.header(2, "Yearly Recurring Events");

// Get all files in the Yearly folder
const yearlyEvents = dv.pages('"3 Resources/Events/Recurring Events/Yearly"')
    .where(p =&gt; p.recurMonth &amp;&amp; p.recurDay);

// Month names for sorting and display
const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
const monthMap = {};
monthNames.forEach((name, index) =&gt; {
    monthMap[name.toLowerCase()] = index;
});

// Sort events by month, day and start time
const sortedYearly = yearlyEvents.sort(p =&gt; [
    // Sort by month number
    p.recurMonth ? (typeof p.recurMonth === 'number' ? p.recurMonth - 1 : monthMap[p.recurMonth.toLowerCase()]) : 12,
    // Then by day
    parseInt(p.recurDay) || 32,
    // Then by start time
    p.startTime || "23:59"
]);

// Render the table
dv.table(["Event", "Date", "Start Time", "End Time"],
    sortedYearly.map(p =&gt; {
        // Format the date as "Month Day"
        let monthDisplay = p.recurMonth;
        if (typeof p.recurMonth === 'number') {
            monthDisplay = monthNames[p.recurMonth - 1];
        }
        
        let dateDisplay = monthDisplay + " " + p.recurDay;
        if (p.recurDay) {
            dateDisplay += getOrdinalSuffix(p.recurDay);
        }
        
        return [
            p.file.link,
            dateDisplay,
            formatTime12h(p.startTime),
            formatTime12h(p.endTime)
        ];
    })
);
```</code></pre>
          <h3>Upcoming Birthdays</h3>
          <figure>
            <img src="https://codyburleson.com/assets/09-BpRCJHne.png" alt width="1496" height="524" loading="lazy" decoding="async">
            <figcaption>Example Dataview query results</figcaption>
          </figure>
          <p>
            Change the value of the <em>daysAhead</em> variable at the top of
            this script to change how far you want to look ahead (to change what
            you define as “upcoming,” that is).
          </p>
          <pre><code data-language="dart">```dataviewjs
// Get today's date
const today = DateTime.now();

// Function to convert 24h time to 12h time with AM/PM
function formatTime12h(time24h) {
    if (!time24h || time24h === "N/A") return "N/A";
    
    // Parse the hour and minute
    const [hours, minutes] = time24h.split(':').map(num =&gt; parseInt(num, 10));
    
    if (isNaN(hours) || isNaN(minutes)) return time24h;
    
    // Convert to 12-hour format
    const period = hours &gt;= 12 ? "PM" : "AM";
    const hours12 = hours % 12 || 12; // Convert 0 to 12 for 12 AM
    
    // Format as "1:30 PM" etc.
    return `${hours12}:${minutes.toString().padStart(2, '0')} ${period}`;
}

// Helper function for ordinal suffixes
function getOrdinalSuffix(day) {
    if (typeof day === 'string') day = parseInt(day);
    if (isNaN(day)) return '';
    
    if (day % 10 === 1 &amp;&amp; day % 100 !== 11) return 'st';
    if (day % 10 === 2 &amp;&amp; day % 100 !== 12) return 'nd';
    if (day % 10 === 3 &amp;&amp; day % 100 !== 13) return 'rd';
    return 'th';
}

// ========== WEEKLY EVENTS ==========
dv.header(2, "Weekly Recurring Events");

// Get all files in the Weekly folder
const weeklyEvents = dv.pages()
    .where(p =&gt; p.weeklyRecurDay);

// Map of day numbers to names for sorting and display
const dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
const dayMap = {};
dayNames.forEach((name, index) =&gt; {
    dayMap[name.toLowerCase()] = index;
});

// Sort events by day of week and start time
const sortedWeekly = weeklyEvents.sort(p =&gt; [
    // Sort by day number
    p.weeklyRecurDay ? (typeof p.weeklyRecurDay === 'number' ? p.weeklyRecurDay : dayMap[p.weeklyRecurDay.toLowerCase()]) : 7,
    // Then by start time
    p.startTime || "23:59"
]);

// Render the table
dv.table(["Event", "Day", "Start Time", "End Time"],
    sortedWeekly.map(p =&gt; [
        p.file.link,
        p.weeklyRecurDay,
        formatTime12h(p.startTime),
        formatTime12h(p.endTime)
    ])
);

// ========== MONTHLY EVENTS ==========
dv.header(2, "Monthly Recurring Events");

// Get all files in the Monthly folder
const monthlyEvents = dv.pages()
    .where(p =&gt; p.monthlyRecurDay);

// Sort events by day of month and start time
const sortedMonthly = monthlyEvents.sort(p =&gt; [
    // Sort by day of month
    parseInt(p.monthlyRecurDay) || 32,
    // Then by start time
    p.startTime || "23:59"
]);

// Render the table
dv.table(["Event", "Day of Month", "Start Time", "End Time"],
    sortedMonthly.map(p =&gt; [
        p.file.link,
        p.monthlyRecurDay ? (p.monthlyRecurDay + getOrdinalSuffix(p.monthlyRecurDay)) : "N/A",
        formatTime12h(p.startTime),
        formatTime12h(p.endTime)
    ])
);

// ========== YEARLY EVENTS ==========
dv.header(2, "Yearly Recurring Events");

// Get all files in the Yearly folder
const yearlyEvents = dv.pages('"3 Resources/Events/Recurring Events/Yearly"')
    .where(p =&gt; p.recurMonth &amp;&amp; p.recurDay);

// Month names for sorting and display
const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
const monthMap = {};
monthNames.forEach((name, index) =&gt; {
    monthMap[name.toLowerCase()] = index;
});

// Sort events by month, day and start time
const sortedYearly = yearlyEvents.sort(p =&gt; [
    // Sort by month number
    p.recurMonth ? (typeof p.recurMonth === 'number' ? p.recurMonth - 1 : monthMap[p.recurMonth.toLowerCase()]) : 12,
    // Then by day
    parseInt(p.recurDay) || 32,
    // Then by start time
    p.startTime || "23:59"
]);

// Render the table
dv.table(["Event", "Date", "Start Time", "End Time"],
    sortedYearly.map(p =&gt; {
        // Format the date as "Month Day"
        let monthDisplay = p.recurMonth;
        if (typeof p.recurMonth === 'number') {
            monthDisplay = monthNames[p.recurMonth - 1];
        }
        
        let dateDisplay = monthDisplay + " " + p.recurDay;
        if (p.recurDay) {
            dateDisplay += getOrdinalSuffix(p.recurDay);
        }
        
        return [
            p.file.link,
            dateDisplay,
            formatTime12h(p.startTime),
            formatTime12h(p.endTime)
        ];
    })
);
```</code></pre>
          <h2>Conclusion</h2>
          <p>
            In this article, I shared the current 4th Brain recipe for managing
            Events in Obsidian.
          </p>
          <p>
            If memorable moments are important to your life, shouldn’t they also
            be important to your Personal Knowledge Management (PKM) system?
            Obsidian <em>Event </em>instances (markdown documents of the type
            <em>Template − Event</em>) not only give us important reminders
            at-a-glance, they also allow us to relate and integrate important
            event information throughout all of our notes. This turns each Event
            into a memory keepsake that can have its own notes and that can be
            linked to other notes.
          </p>
          <p>
            I hope this recipe gives you some ideas or a solid start in creating
            the system that works for you!
          </p>
          <hr>
          <p>
            If you’re interested in following Project: 4th Brain or more content
            like this:
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas<br>⭐️ Star the
            <a href="https://github.com/codyburleson/4th-brain-reference-vault">4th Brain Reference Vault on GitHub</a>
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/the-4th-brain-recipe-for-managing-events-in-obsidian-9789fce9327b">Medium</a>
          on <time datetime="2025-05-10">May 10, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: Progressive Summarization</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-progressive-summarization</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-progressive-summarization</guid>
      <pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate>
      <description>Knowledge workers collect vast oceans of information — articles, books, research, ideas — only to find themselves drowning in this sea of content later. They…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            🤨 What’s this pattern language thing all about? Catch up on the
            intro and the evolving index of patterns
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.
          </p>
          <hr>
          <h2>PROGRESSIVE SUMMARIZATION</h2>
          <p><em>Version 1, last modified: March 8, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-pP5qJMbV.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            <strong               >Knowledge workers collect vast oceans of information — articles,
              books, research, ideas — only to find themselves drowning in this
              sea of content later. They capture everything with the best
              intentions, but when they return to these notes weeks or months
              later, they face a painful dilemma: either spend hours re-reading
              everything or miss crucial context by skimming too
              quickly.</strong>
          </p>
          <p>
            The challenge runs deeper than simple information management. Our
            minds seek both detail and summary, context and essence. We need the
            full richness of information when diving deep, but require
            concentrated extraction when reviewing broadly. Traditional
            approaches force an impossible choice: highlight too much and lose
            focus, summarize too aggressively and lose context.
          </p>
          <p>We have observed that:</p>
          <ol>
            <li>
              Different moments demand different levels of information density
            </li>
            <li>
              The most valuable insights often emerge from context, not
              isolation
            </li>
            <li>
              Single-pass processing rarely captures the true hierarchy of
              importance
            </li>
            <li>Time available for review varies dramatically by situation</li>
            <li>
              Our understanding of material evolves through multiple exposures
            </li>
            <li>
              Initial processing time must balance with future retrieval value
            </li>
            <li>
              The same content serves different purposes at different times
            </li>
            <li>Valuable ideas build upon supporting evidence and context</li>
            <li>Perfect highlighting on first read is nearly impossible</li>
          </ol>
          <p>Therefore:</p>
          <p>
            <strong               >Create a layered system of progressive information density that
              preserves full context while enabling rapid review at multiple
              levels of detail. Process important content through successive
              layers of distillation:</strong>
          </p>
          <ul>
            <li>Layer 0: Capture the complete original content</li>
            <li>Layer 1: Bold the most important 10–20% of the material</li>
            <li>
              Layer 2: Highlight the most critical 10–20% of the bolded content
            </li>
            <li>
              Layer 3: Create margin notes capturing key insights and
              connections
            </li>
            <li>Layer 4: Write a brief executive summary at the top</li>
          </ul>
          <p>
            Each layer builds upon previous layers, progressively increasing
            information density while maintaining access to full context. Most
            importantly, these layers need not be created all at once — they can
            be added progressively as content proves its value through use and
            reflection.
          </p>
          <p>
            The system works because it mirrors how our minds naturally process
            information through repeated exposure. Rather than forcing an
            artificial choice between detail and summary, it creates a gradient
            of density that supports different review needs. The progressive
            approach aligns with how our understanding evolves, allowing our
            processing to deepen alongside our comprehension.
          </p>
          <p>This pattern transforms knowledge work in various contexts:</p>
          <ul>
            <li>
              A researcher reviewing literature can quickly scan Layer 4
              summaries to find relevant sources, then dive into highlighted
              sections for precise references
            </li>
            <li>
              A student studying for exams can review margin notes for quick
              recall, then explore bolded passages to strengthen understanding
            </li>
            <li>
              A writer collecting research can easily scan highlighted sections
              for quotes while maintaining full context
            </li>
            <li>
              A professional reviewing meeting notes can quickly grasp key
              decisions from summaries while maintaining access to discussion
              details
            </li>
          </ul>
          <p>
            When successfully implemented, Progressive Summarization creates a
            dynamic, evolving relationship with your notes. Rather than static
            documents that require complete re-reading, they become landscapes
            with well-marked paths of varying detail. You invest processing time
            progressively, focusing effort on content that proves most valuable
            through use.
          </p>
          <p>This pattern is strengthened when combined with:</p>
          <ul>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-para-method">PARA METHOD</a> for
              organizing content by actionability
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes">ATOMIC NOTES</a> for
              breaking complex topics into discrete concepts
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-evergreen-notes">EVERGREEN NOTES</a> for
              developing key insights over time
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-map-of-content">MAP OF CONTENT</a> for
              navigating between related notes
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking">BIDIRECTIONAL LINKING</a>
              for discovering unexpected connections
            </li>
            <li>
              KNOWLEDGE LIFECYCLE for managing notes through different stages
            </li>
          </ul>
          <h3>References:</h3>
          <ul>
            <li>
              <a href="https://www.amazon.com/Building-Second-Brain-Organize-Potential/dp/1982167386/ref=sr_1_1?crid=2U053MN1C049P&amp;dib=eyJ2IjoiMSJ9.2KbIMQLJJgkCulI-Q03CzkMbpAS90sJ2TDyRWIcveHbsiQxfFwR0lxR2exvsUvEY1iRH84cxwxyoDDFX-OltB9M8ZLDDZjOplEkuzMOx87Uuo8QHeaelOsp4H-zfma-a5JTiCEMC6ZgnmCID6LEPbFo7lSdlZ9z_SRqtMNsOXexiEQCLtGfXX5lqNzAPT11WXUXnzQCNzj7TBnwZUjch70XlY05PdiGhcMKX8iBMDz8.gxlmNcly4TQCVPV_6X7V9v1YiJbkeQOkY2okBkvdvzE&amp;dib_tag=se&amp;keywords=building+a+second+brain+tiago+forte&amp;qid=1741411955&amp;sprefix=building+a+second+brain">Building a Second Brain</a>
              by <a href="https://medium.com/u/7b122207920c">Tiago Forte</a>
            </li>
            <li>
              <a href="https://fortelabs.com/blog/progressive-summarization-a-practical-technique-for-designing-discoverable-notes/">Progressive Summarization: A Practical Technique for Designing
                Discoverable Notes</a>
              by <a href="https://medium.com/u/7b122207920c">Tiago Forte</a>,
              fortelabs.com
            </li>
            <li>
              <a href="https://jamesstuber.com/progressive-summarization-a-waste/">Is Progressive Summarization a Waste of Time?</a>
              by James Stuber, jamesstuber.com
            </li>
          </ul>
          <hr>
          <p>
            Patterns for PKM is a community initiative. We don’t invent these
            patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-progressive-summarization-58da5c8a318d">Medium</a>
          on <time datetime="2025-03-10">March 10, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: Bidirectional Linking</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking</guid>
      <pubDate>Sun, 02 Mar 2025 00:00:00 GMT</pubDate>
      <description>In our quest to manage knowledge effectively, we’ve discovered something profound: the relationships between ideas are often as important as the ideas…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            🤨 What’s this pattern language thing all about? Catch up on the
            intro and the evolving index of patterns
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.
          </p>
          <hr>
          <h2>BIDIRECTIONAL LINKING</h2>
          <p><em>Version 1, last modified: March 2, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-RycxXaoI.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            In our quest to manage knowledge effectively, we’ve discovered
            something profound: the relationships between ideas are often as
            important as the ideas themselves. Traditional knowledge systems
            create one-way connections — like a webpage linking to another
            webpage without any trace of that connection on the receiving end.
            This approach reflects only half the reality of how knowledge
            actually works. In our minds, ideas don’t just point to other ideas;
            they form an intricate web of mutual references and associations.
          </p>
          <p>
            <strong               >Knowledge workers struggle to create and maintain meaningful
              connections between their notes in a way that reveals both
              explicit and implicit relationships, supports unexpected
              discoveries, and helps them understand the broader context of
              their knowledge.</strong>
          </p>
          <p>
            This challenge emerges from the fundamental nature of knowledge
            work. Ideas reference other ideas. Concepts build upon concepts. Yet
            maintaining these relationships manually becomes increasingly
            burdensome as our knowledge grows. We need to see not just what a
            note links to, but what links to it — a perspective that traditional
            systems rarely provide.
          </p>
          <p>We have observed that:</p>
          <ol>
            <li>
              Ideas naturally reference other ideas in multiple directions
            </li>
            <li>
              Connections are often relevant in both directions, not just one
              way
            </li>
            <li>
              Manually tracking references becomes exponentially difficult as
              note collections grow
            </li>
            <li>
              Our understanding of relationships between notes evolves over time
            </li>
            <li>
              Both outgoing and incoming connections provide crucial context
            </li>
            <li>
              The context of how notes refer to each other matters as much as
              the connection itself
            </li>
            <li>
              Network effects increase dramatically with each additional
              bidirectional link
            </li>
            <li>
              Traditional one-way links capture only half of the relationship
              between ideas
            </li>
          </ol>
          <p>Therefore:</p>
          <p>
            <strong               >Create a system of bidirectional linking where every connection
              from one note to another automatically establishes a reverse
              connection that remains continuously updated, making both outgoing
              and incoming relationships visible and navigable.</strong>
          </p>
          <p>The essence of this pattern involves:</p>
          <ol>
            <li>
              Automatic reverse linking — the system creates and maintains
              backlinks without user intervention
            </li>
            <li>
              Visible relationship context — both notes display their incoming
              and outgoing links
            </li>
            <li>
              Effortless creation — links are easily created using simple,
              consistent notation (e.g., <code>[[Note Title]]</code>)
            </li>
            <li>
              Context preservation — backlinks show the surrounding text to
              preserve how notes refer to each other
            </li>
            <li>
              Navigational ease — users can move effortlessly in both directions
              between connected notes
            </li>
            <li>
              Relationship types — when needed, links can be annotated to
              specify the nature of the relationship
            </li>
          </ol>
          <p>
            For example, in a note about “Habit Formation,” you might write:
          </p>
          <blockquote>
            <p>
              <em                 >The concept of habit stacking builds on [[Implementation
                Intentions]] by creating a clear trigger for new behaviors.</em>
            </p>
          </blockquote>
          <p>
            Then, in your “Implementation Intentions” note, a backlinks section
            automatically shows:
          </p>
          <blockquote>
            <p>
              <strong><em>Referenced in:</em></strong>
              <strong><em>Habit Formation</em></strong><em                 > — “The concept of habit stacking builds on Implementation
                Intentions by creating a clear trigger for new behaviors.”</em>
            </p>
          </blockquote>
          <p>
            This bidirectionality transforms both notes. The original note gains
            depth through its connection to an established concept. The
            referenced note gains new application context it didn’t contain
            before — without any additional effort from you.
          </p>
          <p>
            The system works because it mirrors how our minds naturally create
            associations between ideas. When we think about a concept, we
            naturally consider both “what does this relate to?” and “what
            relates to this?” Bidirectional linking captures this dual nature of
            relationships, allowing our knowledge systems to more accurately
            reflect our thinking processes.
          </p>
          <p>
            This pattern transforms knowledge work across different contexts:
          </p>
          <ul>
            <li>
              <strong>A researcher</strong> writing about climate policy
              discovers through backlinks that their notes on carbon tax
              unexpectedly connect to behavioral economics, revealing a new
              research direction.
            </li>
            <li>
              <strong>A student</strong> using bidirectional linking can see all
              different contexts where a specific concept appears when studying
              for exams, strengthening their understanding of its applications.
            </li>
            <li>
              <strong>A project manager</strong> linking from meeting notes to
              action items allows team members to see all meetings where their
              tasks were discussed through backlinks, providing fuller context.
            </li>
            <li>
              <strong>A writer</strong> crafting an article discovers additional
              supporting material they had forgotten about by reviewing
              backlinks to their evidence notes.
            </li>
            <li>
              <strong>A product designer</strong> documenting user feedback can
              see, through backlinks, all the different user problems a
              potential feature might address.
            </li>
          </ul>
          <hr>
          <p>
            The success of this pattern has been proven across various knowledge
            management tools and systems. Following are just a few:
          </p>
          <ul>
            <li>
              <strong>Roam Research</strong>: Is said to have pioneered the
              modern implementation of “networked thought” through bidirectional
              linking
            </li>
            <li>
              <strong>Obsidian</strong>: Built its “second brain” approach
              around the core of automatic backlinks
            </li>
            <li>
              <strong>LogSeq</strong>: Combined bidirectional linking with
              outlining for knowledge organization
            </li>
          </ul>
          <p>This pattern is strengthened when combined with:</p>
          <ul>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes"><strong>Atomic Notes</strong></a>: Small, focused notes create clearer, more specific
              relationships than large documents
            </li>
            <li>
              <strong>Knowledge Graph</strong>: Visualizes the network of
              relationships created by bidirectional links
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-map-of-content"><strong>Map of Content</strong></a>: Provides curated entry points into networks of bidirectionally
              linked notes
            </li>
            <li>
              <strong>Trail Marker</strong>: Documents paths through networks of
              linked notes
            </li>
            <li>
              <strong>Concept Clustering</strong>: Groups emerge naturally
              through bidirectional link patterns
            </li>
            <li>
              <strong>Emergence Board</strong>: Provides space to explore
              patterns discovered through backlinks
            </li>
          </ul>
          <p>
            When successfully implemented, bidirectional linking transforms how
            knowledge workers think about and interact with their notes.
            Knowledge becomes a network rather than a collection. Unexpected
            connections emerge naturally through backlinks. Each note gains
            depth from the various ways other notes refer to it. Navigation
            becomes more intuitive, following curiosity rather than searching a
            database. Maintenance becomes lighter as the system handles
            relationship tracking. Understanding deepens as concepts
            interconnect in multiple directions.
          </p>
          <p>
            The transformative power of bidirectional linking lies in how it
            aligns our knowledge systems with how our minds naturally work — not
            as collections of isolated documents, but as rich networks of
            interconnected thoughts, constantly informing and enriching each
            other from multiple directions.
          </p>
          <h2>References:</h2>
          <ul>
            <li>
              <a href="https://maggieappleton.com/bidirectionals">A Short History of Bi-Directional Links</a>
              by
              <a href="https://medium.com/u/8bca3900eef0">Maggie Appleton</a>,
              maggieappleton.com
            </li>
            <li>
              <a href="https://www.samuelthomasdavies.com/notion-backlinks/">Notion Backlinks: Why I Love Them (And How I Use Them)</a>
              by
              <a href="https://medium.com/u/6fe0bff5ae6b">Sam Thomas Davies</a>,
              samuelthomasdavies.com
            </li>
            <li>
              <a href="https://www.reddit.com/r/ObsidianMD/comments/12tczl2/be_honest_how_useful_are_bidirectional_links/">Be honest! How useful are bi-directional links?</a>
              by lucidself (et al.), reddit
            </li>
            <li>
              <a href="https://www.w3.org/DesignIssues/Topology.html">HyperText Design Issues: Topology</a>
              by
              <a href="https://medium.com/u/f4c52f5a54b0">Tim Berners-Lee</a>,
              w3c.org (interesting early contemplations on web hyperlinks)
            </li>
          </ul>
          <hr>
          <p>
            Patterns for PKM is a community initiative. We don’t invent these
            patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-bidirectional-linking-c0c61f380334">Medium</a>
          on <time datetime="2025-03-02">March 2, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: Zettelkasten Method</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-zettelkasten-method</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-zettelkasten-method</guid>
      <pubDate>Sat, 22 Feb 2025 00:00:00 GMT</pubDate>
      <description>Knowledge workers struggle to develop and connect ideas effectively over time. They capture thoughts and information, but these often remain scattered and…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            🤨 What’s this pattern language thing all about? Catch up on the
            intro and the evolving index of patterns
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.
          </p>
          <hr>
          <h2>ZETTELKASTEN METHOD</h2>
          <p><em>Version 1, last modified: Feb 22, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-CoYVNthy.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            <strong               >Knowledge workers struggle to develop and connect ideas
              effectively over time. They capture thoughts and information, but
              these often remain scattered and disconnected, failing to evolve
              into deeper understanding. Traditional note-taking approaches tend
              to create either rigid, hierarchical structures that limit organic
              growth, or loose collections that lack the systematic development
              needed for genuine knowledge building.</strong>
          </p>
          <p>
            The deepest problem is that human understanding develops through the
            gradual accumulation and connection of atomic ideas, but our typical
            ways of capturing and organizing information don’t support this
            natural process. We tend to impose hierarchical structures that
            force ideas into predetermined categories, or let thoughts float
            freely without systematic development. Neither approach matches how
            knowledge actually grows in our minds — through organic connections
            that form a network rather than a tree. Without a method that
            mirrors the networked, interconnected nature of thought while
            providing a clear workflow for development, our notes become either
            constraining or chaotic.
          </p>
          <p>We have observed that:</p>
          <ol>
            <li>
              Ideas develop gradually through non-hierarchical connection and
              refinement
            </li>
            <li>
              Hierarchical organization often constrains natural thought
              development
            </li>
            <li>Knowledge emerges bottom-up rather than top-down</li>
            <li>Understanding emerges from linking atomic concepts</li>
            <li>
              Knowledge work happens in distinct phases (capture, process,
              connect, create)
            </li>
            <li>Different types of notes serve different purposes</li>
            <li>Permanent knowledge needs systematic development</li>
            <li>
              Connections between ideas are as valuable as the ideas themselves
            </li>
            <li>
              Good systems support both structured and spontaneous thinking
            </li>
            <li>References and sources need reliable addressing</li>
            <li>Physical constraints can enhance clarity and focus</li>
            <li>Digital tools enable new forms of connection and discovery</li>
          </ol>
          <p>Therefore:</p>
          <p>
            <strong               >Create a systematic method for developing knowledge through three
              distinct types of notes, each with its own purpose and
              characteristics:</strong>
          </p>
          <ul>
            <li>
              Fleeting Notes<br>- Quick captures of spontaneous thoughts<br>-
              Temporary by design<br>- Minimal structure requirements<br>-
              Focus on capturing essence<br>- Regular processing into other
              note types
            </li>
            <li>
              Literature Notes<br>- One idea per note<br>- Written in your
              own words<br>- Clear source references<br>- Focused on
              understanding<br>- Connection to original context
            </li>
            <li>
              Permanent Notes<br>- Atomic ideas (one concept per note)<br>-
              Unique identifiers for reliable linking<br>- Written for future
              understanding<br>- Explicit connections to other notes<br>-
              Platform-independent format<br>- Clear, standalone expression<br>-
              Built from fleeting and literature notes
            </li>
          </ul>
          <p>Workflow and Implementation:</p>
          <p>
            The Zettelkasten method follows a specific workflow that moves from
            capture to creation:
          </p>
          <ul>
            <li>
              Capture Phase<br>- Record fleeting notes immediately as thoughts
              occur<br>- Take literature notes while consuming content<br>-
              Keep capture friction low and worry about organization later
            </li>
            <li>
              Process Phase<br>- Review fleeting notes daily<br>- Convert
              relevant fleeting notes into permanent notes<br>- Transform
              literature notes into your own words<br>- Make notes atomic
              during processing<br>- Add relevant metadata and tags
            </li>
            <li>
              Connect Phase<br>- Create explicit links between related
              notes<br>- Look for unexpected connections<br>- Build indexes
              and entry points<br>- Let structure emerge from connections<br>-
              Avoid forcing hierarchical organization
            </li>
            <li>
              Create Phase<br>- Use connected notes to develop new ideas<br>-
              Follow chains of thought through note networks<br>- Create new
              content from linked insights<br>- Document new thoughts as they
              emerge
            </li>
            <li>
              Review Phase<br>- Regularly review and refine connections<br>-
              Update indexes and entry points<br>- Look for emerging
              patterns<br>- Maintain system without imposing structure
            </li>
          </ul>
          <p>Implementation Steps:</p>
          <ol>
            <li>Create a simple capture system for fleeting notes</li>
            <li>Process source materials into atomic literature notes</li>
            <li>Review and develop permanent notes daily</li>
            <li>Use unique identifiers for permanent notes</li>
            <li>Make explicit connections between notes</li>
            <li>Create entry points through index notes</li>
            <li>Regular review and refinement</li>
            <li>Focus on developing ideas over time</li>
          </ol>
          <p>
            The system works because it mirrors how knowledge naturally develops
            in our minds while providing systematic support for that
            development. Like a scaffold for growing ideas, it gives structure
            without constraint, allowing thoughts to develop organically while
            ensuring they remain accessible and connected.
          </p>
          <p>Digital Implementation Note:</p>
          <p>
            While originally developed as a physical system using index cards
            (which naturally enforced atomic ideas through space constraints),
            the Zettelkasten method has found new power in digital tools. Modern
            implementations can maintain the benefits of physical constraints
            (through interface design and practice) while adding capabilities
            like:
          </p>
          <ul>
            <li>Full-text search</li>
            <li>Automated backlinks</li>
            <li>Dynamic visualization</li>
            <li>Multimedia integration</li>
            <li>Collaborative development</li>
            <li>Version history</li>
            <li>Multiple access points</li>
            <li>Automated ID generation</li>
          </ul>
          <p>
            However, successful digital implementation requires careful
            attention to maintain the method’s core principles, particularly:
          </p>
          <ul>
            <li>Atomic note creation</li>
            <li>Clear unique identifiers</li>
            <li>Platform independence</li>
            <li>Connection-based organization</li>
            <li>Progressive development</li>
          </ul>
          <hr>
          <p>
            The success of this pattern has been proven across both physical and
            digital implementations. Systems that implement Zettelkasten
            principles report:
          </p>
          <ul>
            <li>Improved idea development</li>
            <li>Enhanced creative output</li>
            <li>Better retention and understanding</li>
            <li>More natural knowledge organization</li>
            <li>Supported serendipitous discovery</li>
            <li>Clearer thinking processes</li>
            <li>Increased productive output</li>
            <li>Sustainable long-term growth</li>
          </ul>
          <p>This pattern has been particularly successful in:</p>
          <ul>
            <li>Academic research</li>
            <li>Writing workflows</li>
            <li>Creative projects</li>
            <li>Learning systems</li>
            <li>Knowledge development</li>
            <li>Content creation</li>
            <li>Personal research</li>
          </ul>
          <p>The pattern is strengthened when combined with:</p>
          <ul>
            <li><a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes">ATOMIC NOTES</a></li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking">BIDIRECTIONAL LINKING</a>
            </li>
            <li>LITERATURE NOTES TO PERMANENT NOTES</li>
            <li>KNOWLEDGE GRAPH</li>
            <li>PROGRESSIVE SUMMARIZATION</li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-map-of-content">MAP OF CONTENT</a>
            </li>
          </ul>
          <h3>References</h3>
          <ul>
            <li>
              <a href="https://www.amazon.com/How-Take-Smart-Notes-Technique-dp-3982438802/dp/3982438802">How to Take Smart Notes: One Simple Technique to Boost Writing,
                Learning and Thinking</a>
              by Sönke Ahrens
            </li>
            <li>
              <a href="https://zettelkasten.de/introduction/">Introduction to the Zettelkasten Method</a>
              by Sascha, zettelkasten.de
            </li>
            <li>
              <a href="https://en.wikipedia.org/wiki/Zettelkasten">Zettelkasten</a>, Wikipedia
            </li>
            <li>
              <a href="https://youtu.be/GpV47rUYk8I?si=UVmpdfxftQtCsw1Z">Zettelkasten Method Explained: A Beginner’s Guide</a>
              by <a href="https://medium.com/u/1181d9efbebd">Vicky Zhao</a>,
              YouTube
            </li>
          </ul>
          <hr>
          <p>
            Patterns for PKM is a community initiative. We don’t invent these
            patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-zettelkasten-method-4264bbdb0d95">Medium</a>
          on <time datetime="2025-02-22">February 22, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: Evergreen Notes</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-evergreen-notes</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-evergreen-notes</guid>
      <pubDate>Sat, 15 Feb 2025 00:00:00 GMT</pubDate>
      <description>Knowledge workers accumulate vast collections of notes, but most of these remain frozen in time — static snapshots of understanding that gradually become…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            🤨 What’s this pattern language thing all about? Catch up on the
            intro and the evolving index of patterns
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.
          </p>
          <hr>
          <h2>EVERGREEN NOTES</h2>
          <p><em>Version 1, last modified: February 14, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-BN3gX-JB.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            <strong               >Knowledge workers accumulate vast collections of notes, but most
              of these remain frozen in time — static snapshots of understanding
              that gradually become outdated and lose their value. Their digital
              gardens fill with annual plants that flower briefly and die,
              rather than hardy perennials that return season after season with
              deeper roots and broader branches. Without a way to nurture and
              grow their most important ideas, users find themselves constantly
              starting over, rewriting the same concepts with only slightly
              better understanding each time.</strong>
          </p>
          <p>
            The deepest problem is that our understanding of important ideas
            naturally evolves over time, but our note-taking habits treat each
            note as a finished product rather than a living document. We capture
            insights but fail to cultivate them. When we return to these static
            notes months or years later, we find them inadequate — like visiting
            a garden where nothing has grown since planting day. Our most
            valuable ideas deserve to be more than mere snapshots; they need to
            be evergreen, growing and maturing alongside our understanding.
          </p>
          <p>We observe that:</p>
          <ul>
            <li>
              Understanding develops gradually through repeated encounters and
              refinement
            </li>
            <li>
              Each time we revisit an important concept, we see it from a
              slightly different angle
            </li>
            <li>
              New connections become apparent as we work with ideas over time
            </li>
            <li>
              Gaps in our knowledge reveal themselves through repeated
              engagement
            </li>
            <li>
              Examples that once seemed perfect come to feel incomplete with
              experience
            </li>
            <li>
              Our own words from months ago start to sound foreign or inadequate
            </li>
            <li>
              Most note-taking systems have no systematic way to capture
              developmental insights
            </li>
            <li>
              Static notes fail to reflect the natural evolution of our
              understanding
            </li>
            <li>
              The most valuable ideas tend to be those we return to repeatedly
            </li>
            <li>
              Knowledge grows through iteration rather than simple accumulation
            </li>
          </ul>
          <p>Therefore:</p>
          <p>
            <strong               >Create and maintain evergreen notes that grow stronger and more
              valuable over time through active cultivation. </strong>Unlike regular notes that capture a moment in time, evergreen notes
            should:
          </p>
          <ul>
            <li>
              Focus on fundamental, unchanging concepts rather than ephemeral
              details
            </li>
            <li>
              Be written for your future self, explaining context and
              connections that may not be obvious in the moment
            </li>
            <li>
              Be cultivated through regular cycles of review and refinement,
              preserving their core while allowing their expression to mature
            </li>
            <li>
              Maintain rich connections to other notes, creating a web of
              reinforcing understanding
            </li>
            <li>
              Track their development over time, not to preserve history but to
              reveal patterns of growth
            </li>
          </ul>
          <p>
            The system works because it mirrors how human understanding actually
            develops — not in sudden leaps, but through gradual accumulation and
            refinement. Like a tree adding rings year after year, evergreen
            notes grow stronger and more valuable through cycles of development.
            Each review cycle enriches rather than replaces what came before.
          </p>
          <p>
            Most importantly, this pattern helps establish STABLE CONCEPTUAL
            FOUNDATIONS while supporting CONTINUOUS GROWTH AND REFINEMENT. It
            works together with
            <a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes">ATOMIC NOTES</a> (for
            clarity of concept) and BIDIRECTIONAL LINKING (for rich context)
            while enabling both PROGRESSIVE SUMMARIZATION (for layered
            understanding) and
            <a href="https://codyburleson.com/blog/patterns-for-pkm-garden-maintenance">GARDEN MAINTENANCE</a>
            (for sustainable development).
          </p>
          <p>
            The success of this pattern has been proven across many knowledge
            management approaches. Systems that implement evergreen notes
            report:
          </p>
          <ul>
            <li>Better retention of core concepts</li>
            <li>Deeper understanding over time</li>
            <li>More valuable knowledge assets</li>
            <li>Clearer thinking and writing</li>
            <li>Enhanced pattern recognition</li>
            <li>Stronger conceptual foundations</li>
            <li>More efficient learning</li>
            <li>Reduced duplicate work</li>
          </ul>
          <p>This pattern is particularly powerful when applied to:</p>
          <ul>
            <li>Fundamental concepts and principles</li>
            <li>Personal philosophy and worldview</li>
            <li>Hard-won insights and realizations</li>
            <li>Method and process documentation</li>
            <li>Framework definitions and explanations</li>
            <li>Research foundations and premises</li>
            <li>Teaching and learning resources</li>
          </ul>
          <p>The pattern becomes stronger when combined with:</p>
          <ul>
            <li><a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes">ATOMIC NOTES</a></li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking">BIDIRECTIONAL LINKING</a>
            </li>
            <li>PROGRESSIVE SUMMARIZATION</li>
            <li>CONCEPT CLUSTERING</li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-garden-maintenance">GARDEN MAINTENANCE</a>
            </li>
            <li>KNOWLEDGE GRAPH</li>
            <li>VERSION HISTORY</li>
          </ul>
          <p>
            Through evergreen notes, we transform our knowledge management from
            a collection of snapshots into a living garden — one where our most
            valuable ideas can put down deep roots and grow alongside our
            understanding, becoming more valuable with each passing season.
          </p>
          <h3>References</h3>
          <ul>
            <li>
              <a href="https://medium.com/@austingovella/grow-easy-evergreen-notes-39874683b31f">Get started with easy, evergreen notes for personal knowledge
                management (PKM)</a>
              by <a href="https://medium.com/u/fd7476f21172">Austin Govella</a>,
              Medium
            </li>
            <li>
              <a href="https://notes.andymatuschak.org/Evergreen_notes">Andy Matuschak’s evergreen notes about evergreen notes</a>
              by <a href="https://medium.com/u/31b05019e9fc">Andy Matuschak</a>
            </li>
            <li>
              <a href="https://maggieappleton.com/evergreens">Growing the Evergreens: Illustrated notes on the concept of
                ‘Evergreen notes’ and how to write them</a>
              by
              <a href="https://medium.com/u/8bca3900eef0">Maggie Appleton</a>,
              maggieappleton.com
            </li>
            <li>
              <a href="https://medium.com/engineering-ideas/reflection-on-two-years-of-writing-evergreen-notes-not-optimal-for-skill-acquisition-and-learning-442cbd00be91">Reflection on two years of writing evergreen notes: not optimal
                for skill acquisition and learning</a>
              by <a href="https://medium.com/u/6ce225eafe47">Roman Leventov</a>,
              Medium
            </li>
            <li>
              <a href="https://medium.com/@angie-bowen/cultivate-your-creative-potential-with-evergreen-notes-38bfb8d3c200">Cultivate Your Creative Potential with Evergreen Notes</a>
              by <a href="https://medium.com/u/9aa102163602">Angie Bowen</a>,
              Medium
            </li>
          </ul>
          <hr>
          <p>
            Inspired by the
            <a href="https://codyburleson.com/blog/project-4th-brain-the-convergence-of-four-minds">Project: 4th Brain</a>
            vision, Patterns for PKM is a community initiative. We don’t invent
            these patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-evergreen-notes-da698c174887">Medium</a>
          on <time datetime="2025-02-15">February 15, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Project: 4th Brain — Developer’s Log, Feb 8, 2025</title>
      <link>https://codyburleson.com/blog/project-4th-brain-developers-log-feb-8-2025</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/project-4th-brain-developers-log-feb-8-2025</guid>
      <pubDate>Sun, 09 Feb 2025 00:00:00 GMT</pubDate>
      <description>Project: 4th Brain is a work-in-progress platform and plugin for Obsidian. Currently being developed with Supabase as its backend, this open-source project…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <figure>
            <img src="https://codyburleson.com/assets/01-B1CHJvtS.jpg" alt width="2006" height="1504" loading="lazy" decoding="async">
            <figcaption>
              A ray of sunlight on Garden of the Gods in Manitou Springs,
              Colorado; photo by my wife, Karlisa Burleson.
            </figcaption>
          </figure>
          <p>
            Project: 4th Brain is a work-in-progress platform and plugin for
            <a href="https://obsidian.md/">Obsidian</a>. Currently being
            developed with Supabase as its backend, this open-source project
            focuses on multi-channel publishing, standardized PKM patterns, and
            AI-augmented knowledge management.
          </p>
          <p>
            In my
            <a href="https://codyburleson.com/blog/project-4th-brain-developers-log-jan-25-2025">previous log entry</a>, I shared the GitHub repository for Project 4th Brain (an
            open-source Obsidian plugin being developed with a Supabase
            backend), and although the code is in its early stages with nothing
            yet ready for prime time, I made it public for transparency. I
            implemented the functionality for creating a new website (site
            entry) from within Obsidian and for publishing Obsidian markdown
            documents into it with document versioning supported. I am still
            focused on the networking and server storage; none of this can yet
            be served in a front-end website, but I’ll be getting to that part
            soon.
          </p>
          <p>
            For context, and for those who don’t know, the first part of the 4th
            Brain platform being built is an open-source alternative to Obsidian
            Publish allowing you to host your own Obsidian-managed websites on
            your own Supabase server. This will enable you to run your sites on
            any cloud provider of choice or the Supabase cloud service.
            Initially, this will give people a foundation for building their own
            websites, using Obsidian as the content management client, with more
            website front-end customization capability than Obsidian Publish
            affords; a purely open-source solution that you can hack to your
            heart’s content.
          </p>
          <h2>Image Sync Support Added</h2>
          <p>
            Somewhere over the course of the week, I had an “Oh, shit!” moment
            when it suddenly occurred to me that I’d made no concession for the
            images embedded in your local vault’s markdown documents! Luckily,
            Supabase has support for File Storage, so I was able to implement
            that functionality today.
          </p>
          <p>
            At first, I believed that if I wanted to extract the embedded images
            (attachments) from a markdown document, I’d first have to parse the
            document into an Abstract Syntax Tree (AST). I learned, however,
            that these embeds were already available in the cached metadata of
            the file…
          </p>
          <pre><code data-language="kotlin">const fileCache: CachedMetadata | null = this.app.metadataCache.getFileCache(file);
const embeds: EmbedCache[] = fileCache.embeds;</code></pre>
          <p>
            Uploading them to the sever bucket was not difficult, but honoring
            the goal to support multiple users and multiple sites on a single
            server was tricky. My solution in the end was to have a single file
            storage bucket on the server, with folders named with each site’s
            slug like so…
          </p>
          <pre><code data-language="markdown">🪣 resources (bucket)
    📂 site-1
    📂 site-2
    📂 site-3

</code></pre>
          <p>
            Within each site, the path for each file mirrors the Obsidian vault
            path to the file.
          </p>
          <p>
            Each site in the bucket is secured so that only the site owner can
            insert, update, and delete in their respective site folder. This is
            achieved with a special policy for each operation type (insert,
            update, delete) that ensures the authenticated user is the site
            owner for the bucket folder they’re operating in.
          </p>
          <h2>Next Steps</h2>
          <p>
            Now that we can sync both the markdown document and all attached
            images to the backend server from within Obsidian, I’m just back
            where I was before I remembered that I’d need to support syncing
            file attachments (DOH!). At this point, I’ve got a simple headless
            CMS with Obsidian as the client.
          </p>
          <p>
            I’m eager to start working on the part that renders server data in a
            website.
          </p>
          <p>
            I do not yet know if I will need to add a web server container to
            the Docker compose file (and use something like Java / Spring or
            Node.js) or if I can get away with using Supabase Edge Functions.
          </p>
          <p>
            I’m closing with similar questions to those I had last week, in case
            you have an opinion to contribute:
          </p>
          <ul>
            <li>
              Should the site be generated into a static site for screaming-fast
              performance or should pages be queried at runtime and cached on
              the server?
            </li>
            <li>
              If an app server technology is used, what’s the ideal language for
              the server-side stuff? Java (e.g. Spring Boot), Node.js or
              Supabase Edge Workers?
            </li>
            <li>
              How will website keyword search be supported? Full-text search
              supported in the Postgres database or something like Apache Solr
              that might be more robust and better performing at scale?
            </li>
          </ul>
          <p>
            Anyhoo…if you care to look at any of the code so far, these are the
            main three classes of interest:
          </p>
          <ul>
            <li>
              <a href="https://github.com/codyburleson/obsidian-4th-brain/blob/main/main.ts">main.ts</a> — the main Obsidian plugin file
            </li>
            <li>
              <a href="https://github.com/codyburleson/obsidian-4th-brain/blob/main/src/supabase-service.ts">supabase-service.ts</a> — the SupabaseService class
            </li>
            <li>
              <a href="https://github.com/codyburleson/obsidian-4th-brain/blob/main/init-supabase.sql">init-supabase.sql</a> — the script that creates the database tables, indexes,
              functions, and policies
            </li>
          </ul>
          <hr>
          <p>
            If you’re interested in following along or contributing to the
            vision for this platform, you can:
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/project-4th-brain-developers-log-feb-8-2025-9bfff8d2f2cf">Medium</a>
          on <time datetime="2025-02-09">February 9, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: Map of Content</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-map-of-content</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-map-of-content</guid>
      <pubDate>Thu, 06 Feb 2025 00:00:00 GMT</pubDate>
      <description>Knowledge workers struggle to navigate their ever-growing collections of notes and ideas. As their digital archives expand, they find themselves lost in a maze…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            🤨 What’s this pattern language thing all about? Catch up on the
            intro and the evolving index of patterns
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.
          </p>
          <hr>
          <h2>MAP OF CONTENT</h2>
          <p><em>Version 1, last modified: Feb 6, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-pQXgJyGL.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            <strong               >Knowledge workers struggle to navigate their ever-growing
              collections of notes and ideas. As their digital archives expand,
              they find themselves lost in a maze of disconnected information,
              unable to see the broader patterns or find specific content when
              needed. Traditional organizational systems either become too rigid
              (like hierarchical folders) or too chaotic (like pure tag-based
              systems), making it increasingly difficult to maintain a clear
              mental model of their knowledge landscape.</strong>
          </p>
          <p>
            The deepest problem is that humans need both structure and
            flexibility in how they organize and access their knowledge. Pure
            hierarchies become brittle and limiting over time, while completely
            flat organizations provide no guidance or context. Without clear
            maps to guide them, users become overwhelmed by the complexity of
            their knowledge systems, leading to decreased engagement and lost
            insights.
          </p>
          <p>We have observed that:</p>
          <ol>
            <li>Notes naturally form clusters around topics and themes</li>
            <li>Users need multiple ways to access and discover their notes</li>
            <li>Understanding requires both overview and detail</li>
            <li>Pure tag systems become unwieldy at scale</li>
            <li>
              Hierarchical structures can be too rigid for evolving knowledge
            </li>
            <li>Direct note-to-note links alone can create a confusing maze</li>
            <li>
              Knowledge structure should emerge from use rather than being
              predetermined
            </li>
            <li>Navigation needs change based on context and purpose</li>
            <li>
              Users need both planned and spontaneous access to their knowledge
            </li>
          </ol>
          <p>Therefore:</p>
          <p>
            <strong               >Create dedicated notes that serve as curated indexes and
              navigation hubs for specific topics or areas of interest. These
              “Maps of Content” (MOCs) should contain:</strong>
          </p>
          <ol>
            <li>
              A clear scope statement defining the territory the map covers
            </li>
            <li>
              Carefully selected links to relevant notes, organized meaningfully
            </li>
            <li>Brief contextual descriptions for linked notes</li>
            <li>
              Optional structural elements like sections, categories, or
              sequences
            </li>
            <li>
              Links to related MOCs at the same or different levels of
              abstraction
            </li>
          </ol>
          <p>Implementation:</p>
          <ol>
            <li>
              Begin creating an MOC when you notice a cluster of related notes
              forming
            </li>
            <li>Write a clear scope statement at the top</li>
            <li>
              Add links to relevant notes with brief contextual descriptions
            </li>
            <li>
              Organize links in a way that serves your thinking and navigation
              needs
            </li>
            <li>
              Add structural elements (sections, sequences) as patterns emerge
            </li>
            <li>Link to related MOCs to create layers of organization</li>
            <li>
              Regularly revise as your understanding and note collection evolves
            </li>
            <li>Use MOCs as both navigational tools and thinking spaces</li>
          </ol>
          <p>Examples:</p>
          <ul>
            <li>
              A “Writing Techniques MOC” linking to notes on style, structure,
              and process
            </li>
            <li>
              A “Project X MOC” gathering all notes related to a specific
              project
            </li>
            <li>
              A “Biology Concepts MOC” organizing notes on biological principles
            </li>
            <li>
              A high-level “Knowledge Atlas MOC” linking to other major MOCs
            </li>
            <li>
              A “Research Questions MOC” organizing current investigations
            </li>
            <li>A “Learning Path MOC” sequencing educational content</li>
          </ul>
          <p>
            The system works because it mirrors how our minds naturally organize
            and access information. MOCs provide flexible structure without
            imposing rigid hierarchies, allowing organization to emerge
            organically while maintaining clear navigation paths. They serve as
            both maps for exploring and workbenches for developing ideas.
          </p>
          <p>
            Most importantly, this pattern helps establish CLEAR NAVIGATION
            PATHS while maintaining FLEXIBLE ORGANIZATION. It works together
            with CONCEPT CLUSTERING (another pattern) and supports both
            KNOWLEDGE GRAPH (another pattern) and TRAIL MARKER (another
            pattern).
          </p>
          <hr>
          <p>
            The success of this pattern has been proven across various knowledge
            management approaches. Systems that implement MOCs report:
          </p>
          <ul>
            <li>Reduced time spent searching for information</li>
            <li>Clearer understanding of knowledge structure</li>
            <li>Enhanced discovery of connections</li>
            <li>More flexible organization</li>
            <li>Better support for both planned and spontaneous access</li>
            <li>Improved ability to see patterns and relationships</li>
            <li>Greater engagement with existing notes</li>
            <li>Easier maintenance of growing systems</li>
          </ul>
          <p>This pattern has been particularly successful in:</p>
          <ul>
            <li>Personal knowledge management systems</li>
            <li>Research organizations</li>
            <li>Writing workflows</li>
            <li>Learning environments</li>
            <li>Project documentation</li>
            <li>Digital gardens</li>
            <li>Team knowledge bases</li>
          </ul>
          <p>The pattern is strengthened when combined with:</p>
          <ul>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking">BIDIRECTIONAL LINKING</a>
            </li>
            <li>CONCEPT CLUSTERING</li>
            <li>KNOWLEDGE GRAPH</li>
            <li>TRAIL MARKER</li>
            <li><a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes">ATOMIC NOTES</a></li>
            <li><a href="https://codyburleson.com/blog/patterns-for-pkm-para-method">PARA METHOD</a></li>
          </ul>
          <h3>References:</h3>
          <ul>
            <li>
              <a href="https://medium.com/personal-knowledge-management/maps-of-content-mocs-for-better-knowledge-graphs-f66247a09080">Maps of Content (MoCs) for better Knowledge Graphs</a>
              by
              <a href="https://medium.com/u/1ea69814e3e1">Sébastien Dubois</a>,
              Medium
            </li>
            <li>
              <a href="https://youtu.be/pf830yZf0x0?si=rLrrp6qhR5L-fwcH">MOCs &amp; Idea Emergence: A discussion w/ Nick Milo and his
                LYT framework for Obsidian</a>, YouTube
            </li>
            <li>
              <a href="https://obsidian.rocks/maps-of-content-effortless-organization-for-notes/">Maps of Content: Effortless organization for notes</a>, Obsidian Rocks
            </li>
            <li>
              <a href="https://obsidian.rocks/quick-tip-quickly-organize-notes-in-obsidian">Quickly Organize Notes in Obsidian</a>, Obsidian Rocks
            </li>
          </ul>
          <hr>
          <p>
            Patterns for PKM is a community initiative. We don’t invent these
            patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-map-of-content-a1c0faaa0220">Medium</a>
          on <time datetime="2025-02-06">February 6, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: Idea Incubator</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-idea-incubator</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-idea-incubator</guid>
      <pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate>
      <description>Knowledge emerges gradually through a process of contemplation, connection, and refinement. Ideas start as fragile seeds that need nurturing before they’re…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            🤨 What’s this pattern language thing all about? Catch up on the
            intro and the evolving index of patterns
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.
          </p>
          <hr>
          <h2>IDEA INCUBATOR</h2>
          <p><em>Version 1, last modified: Feb 4, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-DNO8d0XA.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            <strong               >Knowledge emerges gradually through a process of contemplation,
              connection, and refinement. Ideas start as fragile seeds that need
              nurturing before they’re ready to be integrated into our broader
              understanding. Yet our knowledge management systems often force us
              to either immediately organize these emerging thoughts or risk
              losing them entirely.</strong>
          </p>
          <p>
            The deepest problem is that our natural process of developing ideas
            doesn’t match how we typically organize information. We try to force
            embryonic thoughts into fully formed structures too early, or we let
            promising insights fade because they don’t yet fit our
            organizational schemes. Ideas need time and space to develop, but
            without proper care, they either get prematurely crystallized or
            lost entirely.
          </p>
          <p>We have observed that:</p>
          <ol>
            <li>Ideas often begin as vague intuitions or partial insights</li>
            <li>Forcing early organization can stifle idea development</li>
            <li>Valuable thoughts can be lost if not captured</li>
            <li>Different ideas mature at different rates</li>
            <li>Most ideas need iteration to reach their potential</li>
            <li>Early feedback helps shape development</li>
            <li>Ideas can unexpectedly combine or split</li>
            <li>Development paths aren’t always linear</li>
            <li>Context and connections emerge over time</li>
          </ol>
          <p>Therefore:</p>
          <p>
            <strong               >Create dedicated spaces and processes for nurturing emerging
              ideas through distinct developmental stages:</strong>
          </p>
          <p><strong>Initial Capture</strong></p>
          <ul>
            <li>Quick entry mechanisms for catching fleeting thoughts</li>
            <li>Minimal structure requirements</li>
            <li>Basic context preservation</li>
            <li>Timestamp for temporal reference</li>
            <li>Rough connection notes</li>
          </ul>
          <p><strong>Development Space</strong></p>
          <ul>
            <li>Regular review cycles</li>
            <li>Progress tracking</li>
            <li>Connection exploration</li>
            <li>Development prompts</li>
            <li>Resource linking</li>
            <li>Working notes</li>
            <li>Feedback loops</li>
          </ul>
          <p><strong>Maturation Tracking</strong></p>
          <ul>
            <li>Clear status indicators</li>
            <li>Development milestones</li>
            <li>Integration readiness markers</li>
            <li>Next step prompts</li>
            <li>Connection mapping</li>
          </ul>
          <hr>
          <p>
            The system works because it mirrors the natural lifecycle of idea
            development. Like a greenhouse for growing plants, it provides
            protected space where fragile thoughts can develop at their own pace
            while ensuring they receive regular attention and care. The staged
            approach prevents both premature organization and idea loss while
            supporting organic growth.
          </p>
          <p>This pattern becomes stronger when combined with:</p>
          <ul>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes">ATOMIC NOTES</a> for
              capturing developed insights
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking">BIDIRECTIONAL LINKING</a>
              for connection exploration
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-evergreen-notes">EVERGREEN NOTES</a> for
              mature integration
            </li>
            <li>KNOWLEDGE GRAPH for seeing relationships</li>
            <li>PROGRESSIVE SUMMARIZATION for development</li>
            <li>QUESTION CASCADE for deepening understanding</li>
          </ul>
          <p>Known uses:</p>
          <ul>
            <li>Research development environments</li>
            <li>Writing workflows</li>
            <li>Project ideation spaces</li>
            <li>Learning journals</li>
            <li>Innovation systems</li>
            <li>Creative development tools</li>
          </ul>
          <p>References</p>
          <ul>
            <li>
              <a href="https://medium.com/upskilling/ideation-incubation-places-space-between-an-idea-and-a-decision-ee8299c3f6d5">Ideation: Incubation places space between an idea and a
                decision.</a>
              by <a href="https://medium.com/u/d0bdb18c5f39">Kristi Riggs</a>,
              Medium
            </li>
            <li>
              <a href="https://www.originalmacguy.com/incubating-ideas-how-to-supercharge-your-creative-process/">Incubating Ideas — How to Supercharge Your Creative Process</a>
              by Jim Eagar, Original Mac Guy
            </li>
            <li>
              <a href="https://medium.com/illumination/my-obsidian-setup-part-13-inbox-folder-quick-note-capture-workflow-5ae03407e832">My Obsidian Setup (Part 13) — Inbox Folder / Quick Note Capture
                Workflow</a>
              by <a href="https://medium.com/u/1044fc419f11">Nuno Campos</a>,
              Medium
            </li>
          </ul>
          <hr>
          <p>
            Inspired by the
            <a href="https://codyburleson.com/blog/project-4th-brain-the-convergence-of-four-minds">Project: 4th Brain</a>
            vision, Patterns for PKM is a community initiative. We don’t invent
            these patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-idea-incubator-5089d4b5a432">Medium</a>
          on <time datetime="2025-02-04">February 4, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: Atomic Notes</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-atomic-notes</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-atomic-notes</guid>
      <pubDate>Sun, 02 Feb 2025 00:00:00 GMT</pubDate>
      <description>Knowledge workers struggle to capture and organize complex ideas in ways that remain useful over time. They write long, interconnected notes that become…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            🤨 What’s this pattern language thing all about? Catch up on the
            intro and the evolving index of patterns
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.
          </p>
          <h2>ATOMIC NOTES</h2>
          <p><em>Version 2, last modified: February 22, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-C2i3g4XX.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            <strong               >Knowledge workers struggle to capture and organize complex ideas
              in ways that remain useful over time. They write long,
              interconnected notes that become increasingly difficult to
              understand, maintain, and reuse. Without a clear way to break down
              complex thoughts into manageable pieces, their knowledge becomes
              trapped in dense, monolithic documents that resist both
              understanding and reorganization.</strong>
          </p>
          <p>
            The deepest problem is that human understanding naturally works with
            discrete, interconnected concepts, but our writing habits tend
            toward creating large, tangled documents that mix multiple ideas
            together. When we try to reference or build upon these mixed notes
            later, we find ourselves unable to extract the specific pieces we
            need without losing important context or breaking connections.
          </p>
          <p>We have observed that:</p>
          <ol>
            <li>People naturally think in discrete, interconnected concepts</li>
            <li>
              Understanding complex ideas requires breaking them down into
              simpler parts
            </li>
            <li>
              Knowledge becomes more valuable when it can be recombined in new
              ways
            </li>
            <li>Context is crucial but too much detail becomes noise</li>
            <li>The same idea often applies in multiple different contexts</li>
            <li>
              Connections between ideas are as important as the ideas themselves
            </li>
            <li>Writing that can’t be reused tends to be written again</li>
            <li>The mind can only hold one clear thought at a time</li>
          </ol>
          <p>Therefore:</p>
          <p>
            <strong               >Write each note to contain exactly one unit of knowledge — a
              single concept, argument, observation, or idea. Make each
              note:</strong>
          </p>
          <ul>
            <li>
              <strong                 >Small enough to be understood at a glance (typically 1–3
                paragraphs)</strong>
            </li>
            <li>
              <strong>Self-contained enough to make sense on its own</strong>
            </li>
            <li>
              <strong>Clearly titled with the core concept it contains</strong>
            </li>
            <li>
              <strong>Connected to related notes through explicit links</strong>
            </li>
            <li>
              <strong                 >Written in your own words to demonstrate understanding</strong>
            </li>
            <li><strong>Focused on explaining one thing well</strong></li>
          </ul>
          <p>For example:</p>
          <ul>
            <li>
              A single concept: “Photosynthesis converts light energy to
              chemical energy”
            </li>
            <li>
              A single argument: “Distributed practice leads to better learning
              than massed practice”
            </li>
            <li>
              A single observation: “Desire paths reveal natural user behaviors”
            </li>
            <li>A single technique: “The Feynman Technique for learning”</li>
            <li>A single principle: “Gall’s Law about system complexity”</li>
          </ul>
          <p>
            The system works because it matches how our minds naturally process
            and connect ideas. When each note contains exactly one clear
            thought, we can easily find, understand, and recombine our knowledge
            in new ways. The atomic structure creates natural boundaries that
            make both writing and retrieval easier.
          </p>
          <p>
            Most importantly, this pattern helps establish CLEAR THOUGHT
            BOUNDARIES while maintaining RICH CONNECTIONS between ideas. It
            works together with BIDIRECTIONAL LINKING (another pattern) and
            supports both PROGRESSIVE SUMMARIZATION (another pattern) and
            <a href="https://codyburleson.com/blog/patterns-for-pkm-evergreen-notes">EVERGREEN NOTES</a>
            (another pattern).
          </p>
          <hr>
          <p>
            The success of this pattern has been proven across various knowledge
            work contexts. Systems that implement atomic notes report:
          </p>
          <ul>
            <li>Improved understanding of complex topics</li>
            <li>Easier retrieval of specific information</li>
            <li>Better connection-making between ideas</li>
            <li>Reduced duplication of content</li>
            <li>More flexible knowledge organization</li>
            <li>Enhanced ability to synthesize new insights</li>
            <li>Clearer thinking and writing</li>
            <li>Sustainable long-term growth of knowledge</li>
          </ul>
          <p>This pattern has been particularly successful in:</p>
          <ul>
            <li>Personal knowledge management</li>
            <li>Research and academic writing</li>
            <li>Technical writing</li>
            <li>Learning and teaching</li>
            <li>Project documentation</li>
            <li>Collaborative knowledge bases</li>
          </ul>
          <p>The pattern is strengthened when combined with:</p>
          <ul>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking">BIDIRECTIONAL LINKING</a>
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-map-of-content">MAP OF CONTENT</a>
            </li>
            <li>PROGRESSIVE SUMMARIZATION</li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-evergreen-notes">EVERGREEN NOTES</a>
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-zettelkasten-method">ZETTELKASTEN METHOD</a>
            </li>
            <li>CONCEPT CLUSTERING</li>
            <li>EMERGENCE BOARD</li>
          </ul>
          <h2>References</h2>
          <ul>
            <li>
              <a href="https://medium.com/branching-thought/anatomy-of-an-atomic-note-zettel-fe329a427a7a">Anatomy of an Atomic Note</a>
              (Zettel) by
              <a href="https://medium.com/u/db7d298468ca">Bryan Lee</a>, Medium
            </li>
            <li>
              <a href="https://danecwalker.medium.com/atomic-note-taking-8b3fc7bfb642">Atomic Note Taking</a>
              by <a href="https://medium.com/u/8a750988d62f">Dane Walker</a>,
              Medium
            </li>
            <li>
              <a href="https://medium.com/@gokayburuc/concept-and-principles-of-atomic-note-taking-08bcacc2bbeb">Concept and Principles of Atomic Note-Taking</a>
              by <a href="https://medium.com/u/2fbc1bec645e">Gokay BURUC</a>
            </li>
            <li>
              <a href="https://generativeai.pub/beyond-simple-backlinks-relationship-notes-as-first-class-atomic-note-citizens-29677301bbd7">Beyond Simple Backlinks: “Relationship” Notes as First-Class
                Atomic-Note Citizens</a>
              by <a href="https://medium.com/u/49f81d6e8287">Alex Skarulis</a>
            </li>
          </ul>
          <hr>
          <p>
            Inspired by the
            <a href="https://codyburleson.com/blog/project-4th-brain-the-convergence-of-four-minds">Project: 4th Brain</a>
            vision, Patterns for PKM is a community initiative. We don’t invent
            these patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-atomic-notes-21ebc578bd6a">Medium</a>
          on <time datetime="2025-02-02">February 2, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: Garden Maintenance</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-garden-maintenance</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-garden-maintenance</guid>
      <pubDate>Fri, 31 Jan 2025 00:00:00 GMT</pubDate>
      <description>Digital knowledge gardens grow wild and untamed. Without regular attention, they become overgrown with outdated information, broken connections, and cluttered…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            🤨 What’s this pattern language thing all about? Catch up on the
            intro and the evolving index of patterns
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.
          </p>
          <hr>
          <h2>GARDEN MAINTENANCE</h2>
          <p><em>Version 1, last modified: January 30, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-DtrOwumw.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            <strong               >Digital knowledge gardens grow wild and untamed. Without regular
              attention, they become overgrown with outdated information, broken
              connections, and cluttered spaces that make it increasingly
              difficult to find and use valuable content. Notes that were once
              clear become obscured by accumulated digital brush, while
              important pathways between ideas become blocked by the debris of
              abandoned thoughts and projects.</strong>
          </p>
          <p>
            The deepest problem is that knowledge bases are living systems that
            require ongoing care to remain useful. Like physical gardens, they
            can’t simply be planted and left alone. Users often focus on adding
            new content while neglecting maintenance, leading to a steady
            decline in the system’s overall utility. Without regular tending,
            even the most well-designed knowledge system will gradually decay
            into an unusable state.
          </p>
          <p>We have observed that:</p>
          <ol>
            <li>
              Knowledge bases naturally accumulate digital debris over time
            </li>
            <li>Connections between notes break as content evolves</li>
            <li>
              Information becomes outdated but isn’t automatically marked as
              such
            </li>
            <li>
              Users resist deletion, leading to the accumulation of obsolete
              content
            </li>
            <li>Navigation paths become obscured by unused content</li>
            <li>Search results get cluttered with outdated versions</li>
            <li>
              Important information gets buried under layers of newer additions
            </li>
            <li>System performance degrades as content grows unchecked</li>
          </ol>
          <p>Therefore:</p>
          <p>
            <strong               >Create a systematic maintenance routine that tends to your
              knowledge garden through regular cycles of review, pruning, and
              care:</strong>
          </p>
          <ol>
            <li>
              Daily Quick Checks<br>- Review recent additions<br>- Fix
              obvious broken links<br>- Clean up temporary notes<br>- Update
              outdated information spotted during use
            </li>
            <li>
              Weekly Garden Walk<br>- Review active project areas<br>-
              Strengthen important connections<br>- Clear accumulated
              clutter<br>- Update changed information<br>- Merge duplicate
              notes<br>- Archive completed projects
            </li>
            <li>
              Monthly Deep Clean<br>- Systematic area review<br>- Major
              reorganization as needed<br>- Update metadata and tags<br>-
              Strengthen weak connections<br>- Identify growth patterns<br>-
              Plan future development
            </li>
            <li>
              Quarterly Maintenance<br>- Full system review<br>- Major
              pruning decisions<br>- Archive inactive areas<br>- Update
              organizational structure<br>- Review and adjust maintenance
              practices
            </li>
          </ol>
          <p>
            The system works because it matches the natural lifecycle of
            knowledge work. Like a well-tended garden, regular maintenance
            prevents problems from growing out of control while ensuring
            valuable content remains accessible and useful. The different review
            cycles ensure that maintenance stays manageable while keeping the
            system healthy.
          </p>
          <p>
            Most importantly, this pattern helps establish SUSTAINABLE GROWTH
            while maintaining SYSTEM VITALITY. It works together with VERSION
            HISTORY (another pattern) and supports both KNOWLEDGE LIFECYCLE
            (another pattern) and ATOMIC NOTES (another pattern).
          </p>
          <p>
            <em               >Note: While this pattern uses gardening as an extended metaphor,
              its principles apply to any personal knowledge management system,
              whether public or private. The term “digital gardening” here
              refers to the ongoing process of maintaining and nurturing any
              collection of digital knowledge — much like tending a garden
              requires planting, pruning, weeding, and careful attention. This
              pattern is relevant regardless of whether you think of your system
              as a “digital garden,” a “knowledge base,” a “note archive,” or
              any other metaphor. The key insight is that any living knowledge
              system requires regular, systematic maintenance to remain useful
              and healthy over time.</em>
          </p>
          <hr>
          <p>
            The success of this pattern has been proven across various knowledge
            management approaches. Systems that implement regular maintenance
            report:
          </p>
          <ul>
            <li>Improved information findability</li>
            <li>Clearer navigation paths</li>
            <li>Better connection reliability</li>
            <li>Reduced digital clutter</li>
            <li>More sustainable growth</li>
            <li>Enhanced system performance</li>
            <li>Greater long-term utility</li>
            <li>Increased user confidence</li>
          </ul>
          <p>This pattern has been particularly successful in:</p>
          <ul>
            <li>Personal knowledge bases</li>
            <li>Research databases</li>
            <li>Digital gardens</li>
            <li>Team knowledge bases</li>
            <li>Documentation systems</li>
            <li>Learning repositories</li>
          </ul>
          <p>The pattern is strengthened when combined with:</p>
          <ul>
            <li>KNOWLEDGE LIFECYCLE</li>
            <li>VERSION HISTORY</li>
            <li>SPACED REPETITION</li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-map-of-content">MAP OF CONTENT</a>
            </li>
            <li><a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes">ATOMIC NOTES</a></li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-evergreen-notes">EVERGREEN NOTES</a>
            </li>
          </ul>
          <h2>References</h2>
          <ul>
            <li>
              <a href="https://aarontushabe.com/on-digital-gardening-589bc15355c1">On (digital) gardening</a>, by
              <a href="https://medium.com/u/7d2359634120">Aaron Tushabe</a>,
              Medium
            </li>
          </ul>
          <hr>
          <p>
            Inspired by the
            <a href="https://codyburleson.com/blog/project-4th-brain-the-convergence-of-four-minds">Project: 4th Brain</a>
            vision, Patterns for PKM is a community initiative. We don’t invent
            these patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-garden-maintenance-50c5dfe12b20">Medium</a>
          on <time datetime="2025-01-31">January 31, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: The PARA Method</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-para-method</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-para-method</guid>
      <pubDate>Thu, 30 Jan 2025 00:00:00 GMT</pubDate>
      <description>Knowledge workers struggle with an ever-increasing volume of digital information spread across multiple tools, projects, and contexts. Their content becomes…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            What’s this pattern language thing all about? Catch up on the intro
            and the evolving index of patterns
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.
          </p>
          <hr>
          <h2>PARA METHOD</h2>
          <p><em>Version 1, last modified: Jan 29, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-CRXoCoSH.png" alt width="6175" height="3251" loading="lazy" decoding="async">
            <figcaption>
              <em>Illustration generated with </em><a href="https://app.napkin.ai/"><em>https://app.napkin.ai/</em></a>
            </figcaption>
          </figure>
          <p>
            <strong               >Knowledge workers struggle with an ever-increasing volume of
              digital information spread across multiple tools, projects, and
              contexts. Their content becomes scattered and difficult to find
              when needed, leading to duplicated work and lost insights. Without
              a clear organizational framework matching how they work and think,
              digital content becomes increasingly chaotic and harder to manage
              over time.</strong>
          </p>
          <p>
            The deepest problem is that traditional organizational systems
            either become too rigid (like strict hierarchical folders) or too
            loose (like pure tag-based systems). People need a system that
            balances structure with flexibility while matching their natural
            workflow from active projects to long-term archival.
          </p>
          <p>We have observed that:</p>
          <ol>
            <li>
              Information naturally exists in different states of actionability
            </li>
            <li>
              People work primarily in projects but maintain ongoing areas of
              responsibility
            </li>
            <li>
              Knowledge value changes over time, requiring different
              organizational approaches
            </li>
            <li>
              Users need both quick access to active content and reliable
              archival of completed work
            </li>
            <li>Too many organizational categories create decision fatigue</li>
            <li>
              Too few categories lead to unclear boundaries and mixing of
              concerns
            </li>
            <li>Organization should support both action and reference</li>
            <li>Information’s relevance and actionability changes over time</li>
          </ol>
          <p>Therefore:</p>
          <p>
            <strong               >Organize all digital information into four main categories that
              reflect descending levels of actionability:</strong>
          </p>
          <ol>
            <li>
              <strong>Projects</strong> (Time-bound efforts with specific
              goals)<br>- Active initiatives with clear completion criteria<br>-
              Current focus areas requiring regular attention<br>- Clearly
              defined outcomes and deadlines
            </li>
            <li>
              <strong>Areas</strong> (Long-term responsibilities with standards
              to maintain)<br>- Ongoing commitments without end dates<br>-
              Key life/work domains requiring maintenance<br>- Continuous
              activities with success standards
            </li>
            <li>
              <strong>Resources</strong> (Topics of interest for reference)<br>-
              Relevant topics and interests<br>- Reference materials and
              research<br>- Potentially useful future content
            </li>
            <li>
              <strong>Archives</strong> (Inactive items from other
              categories)<br>- Completed projects<br>- Outdated areas<br>-
              No-longer-relevant resources<br>- Historical reference materials
            </li>
          </ol>
          <p>
            The system works because it mirrors how we naturally think about and
            prioritize our work and knowledge. Projects capture our active
            focus, Areas maintain our ongoing responsibilities, Resources
            support our interests and learning, and Archives preserve our
            history without cluttering our active spaces.
          </p>
          <p>
            Most importantly, this pattern helps establish CLEAR BOUNDARIES
            between different types of information while maintaining FLEXIBLE
            ORGANIZATION within each category. It works together with REVIEW
            CYCLES (another pattern) and supports both QUICK CAPTURE (another
            pattern) and PROGRESSIVE SUMMARIZATION (another pattern).
          </p>
          <hr>
          <p>
            The success of this pattern has been proven across various knowledge
            management tools and contexts. Individuals and organizations that
            implement it report:
          </p>
          <ul>
            <li>Reduced time searching for information</li>
            <li>Clearer priority management</li>
            <li>Better project completion rates</li>
            <li>Maintained long-term responsibilities</li>
            <li>Easier archival decisions</li>
            <li>Improved information retrieval</li>
            <li>Reduced cognitive overhead</li>
            <li>More sustainable organization</li>
          </ul>
          <p>This pattern has been particularly successful in:</p>
          <ul>
            <li>Personal knowledge management systems</li>
            <li>Team collaboration spaces</li>
            <li>Project management tools</li>
            <li>Research organizations</li>
            <li>Educational contexts</li>
          </ul>
          <p>The pattern is strengthened when combined with:</p>
          <ul>
            <li><a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes">ATOMIC NOTES</a></li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-map-of-content">MAP OF CONTENT</a>
            </li>
            <li>PROGRESSIVE SUMMARIZATION</li>
            <li>KNOWLEDGE GRAPH</li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking">BIDIRECTIONAL LINKING</a>
            </li>
            <li>VERSION HISTORY</li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-garden-maintenance">GARDEN MAINTENANCE</a>
            </li>
            <li>KNOWLEDGE LIFECYCLE</li>
          </ul>
          <h3>References:</h3>
          <ul>
            <li>
              <a href="https://medium.com/praxis-blog/the-p-a-r-a-method-a-universal-system-for-organizing-digital-information-75a9da8bfb37">The P.A.R.A. Method: A Universal System for Organizing Digital
                Information</a>
              by <a href="https://medium.com/u/7b122207920c">Tiago Forte</a>,
              Medium
            </li>
            <li>
              <a href="https://www.amazon.com/Building-Second-Brain-Organize-Potential/dp/1982167386">Building a Second Brain: A Proven Method to Organize Your
                Digital Life and Unlock Your Creative Potential</a>
              by Tiago Forte, Amazon
            </li>
            <li>
              <a href="https://youtu.be/T6Mfl1OywM8?si=l6j9JAwikW6xuMbZ">How to Organize Your Digital Life in Seconds (PARA Method) |
                Part 1</a>
              by Tiago Forte, YouTube
            </li>
            <li>
              <a href="https://maggieappleton.com/basb">Building a Second Brain: The Illustrated Notes</a>
              by Maggie Appleton, maggieappleton.com
            </li>
          </ul>
          <hr>
          <p>
            Inspired by the
            <a href="https://codyburleson.com/blog/project-4th-brain-the-convergence-of-four-minds">Project: 4th Brain</a>
            vision, Patterns for PKM is a community initiative. We don’t invent
            these patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-para-method-9cabd304b05d">Medium</a>
          on <time datetime="2025-01-30">January 30, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Patterns for PKM: The Johnny Decimal System</title>
      <link>https://codyburleson.com/blog/patterns-for-pkm-johnny-decimal-system</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/patterns-for-pkm-johnny-decimal-system</guid>
      <pubDate>Wed, 29 Jan 2025 00:00:00 GMT</pubDate>
      <description>People struggle to find their digital files and folders, leading to wasted time, duplicated work, and lost information. Traditional folder hierarchies become…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            Remember that article where we talked about building a pattern
            language for Personal Knowledge Management (PKM)? Well, it’s time to
            dive into our first pattern! Today we’re looking at the Johnny
            Decimal System — a clever approach to bringing order to digital
            chaos. (If you’re just joining us and wondering what this pattern
            language thing is all about, catch up on the intro
            <a href="https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together"><strong>here</strong></a>.)
          </p>
          <hr>
          <h2>JOHNNY DECIMAL SYSTEM</h2>
          <p><em>Version 2, last modified: Feb 5, 2025</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-BvDbogY6.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            <strong               >People struggle to find their digital files and folders, leading
              to wasted time, duplicated work, and lost information. Traditional
              folder hierarchies become unwieldy and confusing beyond three
              levels deep, while completely flat organizations lose the benefits
              of structure entirely.</strong>
          </p>
          <p>
            Without a clear organizational system, digital spaces become
            chaotic. People create folders haphazardly, name them
            inconsistently, and struggle to remember where they put things. This
            leads to:
          </p>
          <ul>
            <li>Lost files and wasted time searching</li>
            <li>Multiple copies of the same information</li>
            <li>Inconsistent naming conventions</li>
            <li>Difficulty sharing locations with others</li>
            <li>Mental strain trying to remember locations</li>
            <li>Fear of losing important information</li>
          </ul>
          <p>
            The deepest problem is that our minds need both structure and
            flexibility. Pure hierarchy becomes too rigid and breaks down, while
            pure flatness provides no guidance. We need a system that matches
            how our minds work.
          </p>
          <p>We have observed that:</p>
          <ol>
            <li>People can easily remember two-digit numbers</li>
            <li>Ten is a natural grouping size for categories</li>
            <li>Three levels of hierarchy is a cognitive sweet spot</li>
            <li>Numbers provide clear order and reference</li>
            <li>The mind needs both structure and flexibility</li>
          </ol>
          <p>Therefore:</p>
          <p>
            <strong               >Create a numerical organization system that divides all
              information into 10 areas (10–90), with up to 10 categories in
              each area (11–99), and numbers individual items within categories
              (11.01–99.99). Always write the numbers first, followed by
              descriptive names.</strong>
          </p>
          <p>For example:</p>
          <pre><code>10-19 Administration
  11 HR Documents
    11.01 Employee Handbook
    11.02 Org Chart
20-29 Finance
  21 Invoicing
    21.01 Invoice Template
    21.02 Client List
30-39 Projects
  31 Project Alpha
    31.01 Project Charter
    31.02 Timeline</code></pre>
          <p>This creates a system that is:</p>
          <ul>
            <li>Limited to three levels deep</li>
            <li>Easy to reference verbally (“eleven dot oh one”)</li>
            <li>Quick to navigate visually</li>
            <li>Flexible within clear boundaries</li>
            <li>Consistent across all contexts</li>
          </ul>
          <p>
            The system works because it mirrors how our minds naturally organize
            information. The two-digit area codes become familiar landmarks. The
            decimal notation creates clear boundaries. The numbers provide order
            while the descriptive names provide meaning.
          </p>
          <p>
            Most importantly, this pattern helps establish a CONSISTENT LOCATION
            (another pattern) for every piece of information while maintaining
            FLEXIBLE BOUNDARIES (another pattern) between areas. It works
            together with FILE NAMING CONVENTIONS (another pattern) and supports
            both INDIVIDUAL ORGANIZATION (another pattern) and TEAM SHARING
            (another pattern).
          </p>
          <hr>
          <p>
            The success of this pattern has been proven in both personal and
            professional contexts. Individuals and organizations that implement
            it report:
          </p>
          <ul>
            <li>Reduced time searching for information</li>
            <li>Clearer file locations and references</li>
            <li>Improved team coordination through shared numbering</li>
            <li>Better digital organization sustainability</li>
            <li>Reduced cognitive overhead in file management</li>
            <li>More consistent naming and structure</li>
            <li>Easier onboarding of new team members</li>
          </ul>
          <p>This pattern has been particularly successful in:</p>
          <ul>
            <li>Personal file management</li>
            <li>Team documentation systems</li>
            <li>Project management tools</li>
            <li>Research organizations</li>
            <li>Digital asset management</li>
            <li>Knowledge bases</li>
            <li>Shared drives and workspaces</li>
          </ul>
          <p>The pattern is strengthened when combined with:</p>
          <ul>
            <li><a href="https://codyburleson.com/blog/patterns-for-pkm-para-method">PARA METHOD</a></li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-map-of-content">MAP OF CONTENT</a>
            </li>
            <li>KNOWLEDGE GRAPH</li>
            <li>TRAIL MARKER</li>
            <li>VERSION HISTORY</li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-garden-maintenance">GARDEN MAINTENANCE</a>
            </li>
            <li>KNOWLEDGE LIFECYCLE</li>
          </ul>
          <h2>References</h2>
          <ul>
            <li><a href="https://johnnydecimal.com/">johnnydecimal.com</a></li>
            <li>
              <a href="https://www.youtube.com/watch?v=xC1bTRHFXXc">Johnny.Decimal — A system to organise your life</a>, by Johnny.Decimal, YouTube
            </li>
            <li>
              <a href="https://medium.com/obsidian-observer/the-johnny-decimal-system-the-missing-piece-in-your-quest-for-obsidian-digital-zen-d28c620775af">The Johnny Decimal System: The Missing Piece In Your Quest For
                Obsidian Digital Zen</a>, by <a href="https://medium.com/u/be0344ff1545">Ric Raftis</a>,
              Medium
            </li>
            <li>
              <a href="https://medium.com/produclivity/using-johnny-decimal-with-obsidian-solved-all-my-organising-woes-68c8c5c3dcc9">Using Johnny Decimal With Obsidian Solved My Organising Woes</a>, by <a href="https://medium.com/u/7c1ab936a5cc">Ellane W</a>,
              Medium
            </li>
            <li>
              <a href="https://articles.victoriakay.co/the-johnny-decimal-system-is-the-best-thing-to-ever-happen-to-my-digital-ecosystem/">The Johnny Decimal System is the best thing to ever happen to
                my digital ecosystem</a>, by Victoria Kay, articles.victoriakay.co
            </li>
          </ul>
          <hr>
          <p>
            Inspired by the
            <a href="https://codyburleson.com/blog/project-4th-brain-the-convergence-of-four-minds">Project: 4th Brain</a>
            vision, Patterns for PKM is a community initiative. We don’t invent
            these patterns, we just help identify and collect them into a
            <a href="https://en.wikipedia.org/wiki/Pattern_language">pattern language</a>. As a valued member of our community, you’re invited to share
            patterns and opinions about how to improve upon those we’ve
            published. Want to stay in the loop?
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/patterns-for-pkm-johnny-decimal-system-5753774e77fd">Medium</a>
          on <time datetime="2025-01-29">January 29, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Project: 4th Brain — Developer’s Log, Jan 25, 2025</title>
      <link>https://codyburleson.com/blog/project-4th-brain-developers-log-jan-25-2025</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/project-4th-brain-developers-log-jan-25-2025</guid>
      <pubDate>Sat, 25 Jan 2025 00:00:00 GMT</pubDate>
      <description>Project: 4th Brain is a work-in-progress platform and plugin for Obsidian that aims to create harmony between four types of intelligence — human cognition,…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <figure>
            <img src="https://codyburleson.com/assets/01-Db85c0xk.jpg" alt width="800" height="600" loading="lazy" decoding="async">
            <figcaption>
              Pulpit Rock in Colorado Springs, CO — photo by the author.
            </figcaption>
          </figure>
          <p>
            Project: 4th Brain is a work-in-progress platform and plugin for
            <a href="https://obsidian.md/">Obsidian</a> that aims to create
            harmony between four types of intelligence — human cognition,
            digital note-taking systems, community wisdom, and AI. Currently
            being developed with Supabase as its backend, this open-source
            project focuses on multi-channel publishing, standardized PKM
            patterns, and AI-augmented knowledge management.
          </p>
          <p>
            In my
            <a href="https://codyburleson.com/blog/project-4th-brain-progress-update-2025-01-13">previous update</a>, I provided
            <a href="https://github.com/codyburleson/obsidian-4th-brain">the source code repo on GitHub</a>. Even though the code is in a very early stage and there is
            nothing valuable for users yet, I made it public for transparency. I
            also hard-coded a little acid test to perform inserts on the
            <em>documents</em> table and I came up with some initial
            <a href="https://github.com/codyburleson/obsidian-4th-brain/blob/main/functional-specifications/sync-with-server.md">Sync with Server scenarios</a>, written in the Gherkin language. My purpose today is to provide a
            quick status update to let interested parties know that things are
            progressing and to invite feedback and participation.
          </p>
          <h2>The Backend Database</h2>
          <p>
            In addition to the core <em>documents</em> table, two tables have
            been added to support the concept of <em>sites</em> (that is, the
            websites users publish Obsidian markdown documents to). The
            <em>sites</em> table is necessary to support multiple websites
            served atop the same Supabase instance and it will eventually allow
            users to own and publish to more than one website. The
            <em>document_site_publications</em> table ties the documents and
            sites together (many-to-many). Here’s what the schema looks like
            now…
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/02-CGzLoOMD.png" alt width="1880" height="1610" loading="lazy" decoding="async">
          </figure>
          <p>
            There’s an init-supabase.sql script that creates everything
            necessary for your Supabase backend, which, at this point, now
            includes:
          </p>
          <ul>
            <li>
              An <strong>enum type</strong> for <em>document</em> states:
              <em>draft</em>, <em>published</em>, <em>expired</em>,
              <em>removed</em>
            </li>
            <li><strong>Tables</strong> (as shown above)</li>
            <li><strong>Indexes</strong> (to speed up data retrieval)</li>
            <li>
              <strong>Functions</strong> to perform operations on the data and
              to support transactions so that if any multi-step operation fails
              before it is completed, the transaction will be rolled back, and
              the database will not be left in an inconsistent state.
            </li>
            <li>Row Level Security policies</li>
          </ul>
          <p>
            All items listed above will be created simply by running the
            <a href="https://github.com/codyburleson/obsidian-4th-brain/blob/main/init-supabase.sql">init-supabase.sql</a>
            script (in the Supabase SQL editor, for example).
          </p>
          <h2>The Obsidian Plugin</h2>
          <p>
            The Obsidian 4th Brain plugin’s settings page now looks like this:
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/03-C6QvinPt.png" alt width="1536" height="814" loading="lazy" decoding="async">
          </figure>
          <p>
            These are the fields needed for a connection to the backend server
            and a slug for the website you publish your documents to. A slug is
            a short, URL-friendly string that will be part of the URL that loads
            your site (unless you map that part of the URL pattern to a website
            domain).
          </p>
          <h3>Current Plugin Functionality</h3>
          <p>
            Right-click a document and a Sync with Server option now shows in
            the context menu…
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/04-6qs8OXyG.png" alt width="1526" height="1558" loading="lazy" decoding="async">
          </figure>
          <p>
            If the site slug you’ve written in the plugin settings identifies a
            site that does not yet exist in the backend, then you will first be
            given the option to create it, like this:
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/05-LItr24fQ.png" alt width="1060" height="274" loading="lazy" decoding="async">
          </figure>
          <p>
            If the document you’re syncing has not yet been inserted into the
            database, then <em>uuid</em> and <em>version</em> properties are
            added to the document, and it is inserted. Each time you sync the
            document again, the version property is incremented, but the uuid
            stays the same. Previous versions remain on the server so that we
            can support compare and roll-back features in the future.
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/06-DO6L6zf6.png" alt width="1354" height="1116" loading="lazy" decoding="async">
          </figure>
          <p>
            If you delete a document from your Obsidian vault and that document
            has a <em>uuid</em> property, its corresponding document (and all
            versions) are flagged as <em>removed</em>. I am not supporting a
            true delete for now, though I will implement a way to purge old
            versions and removed documents in the future (for database cleanup
            and performance).
          </p>
          <h2>Next Steps</h2>
          <p>
            Now that we can sync to the backend server from within Obsidian, I’m
            eager to start working on the part that renders your server data in
            a website. For that, I hope to add a web server container to the
            Docker compose file. In this way, you’ll be able to spin up the
            Supabase backend and the web server with a single
            <em>docker compose up</em> command.
          </p>
          <p>
            I’m closing with some questions I’m still chewing on, in case you
            have an opinion to contribute on these matters:
          </p>
          <ul>
            <li>
              Should the site be generated into a static site for screaming-fast
              performance or should pages be queried at runtime and cached on
              the server?
            </li>
            <li>
              If an app server technology is used, what’s the ideal language for
              the server-side stuff? Java (e.g. Spring Boot), Node.js, Python?
            </li>
            <li>
              How will website keyword search be supported? Full-text search
              supported in the Postgres database or something like Apache Solr
              that might be more robust and better performing at scale?
            </li>
          </ul>
          <p>Anyhoo…I’ll keep ya posted.</p>
          <hr>
          <p>
            If you’re interested in following along or contributing to the
            vision for this platform, you can:
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/project-4th-brain-developers-log-jan-25-2025-e46e9382a37b">Medium</a>
          on <time datetime="2025-01-25">January 25, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>A Pattern Language for PKM? Let’s Build One Together!</title>
      <link>https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/a-pattern-language-for-pkm-lets-build-one-together</guid>
      <pubDate>Thu, 16 Jan 2025 00:00:00 GMT</pubDate>
      <description>Back in 1977, an architect named Christopher Alexander dropped a book that would blow everyone’s minds — though maybe not in the way he expected. “A Pattern…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <figure>
            <img src="https://codyburleson.com/assets/01-DI4U4Dzq.png" alt width="1456" height="816" loading="lazy" decoding="async">
            <figcaption>
              AI-generated art (<a href="https://www.midjourney.com/home">Midjourney</a>, prompted by the author)
            </figcaption>
          </figure>
          <p>
            Back in 1977, an architect named
            <a href="https://en.wikipedia.org/wiki/Christopher_Alexander">Christopher Alexander</a>
            dropped a book that would blow everyone’s minds — though maybe not
            in the way he expected. “<a href="https://www.amazon.com/Pattern-Language-Buildings-Construction-Environmental/dp/0195019199/ref=sr_1_1">A Pattern Language: Towns, Buildings, Construction</a>” wasn’t just another dry architecture text. It was Alexander
            looking around and basically saying, “Hey, notice how humans keep
            solving the same problems in similar ways? Maybe we should write
            that down!”
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/02-Cp1jLUUi.jpg" alt width="258" height="385" loading="lazy" decoding="async">
          </figure>
          <p>
            He called these recurring solutions “patterns,” and here’s the cool
            part: he didn’t just list them randomly. He connected them like
            pieces of a giant puzzle, where each piece could be part of many
            different pictures. This wasn’t just a collection — it was a
            language for talking about good design.
          </p>
          <p>
            Now, you might be wondering what architecture has to do with
            managing your digital notes and knowledge. Hold that thought,
            because there’s a plot twist coming. See, in the late 1980s, some
            software engineers got their hands on Alexander’s book and had what
            I can only imagine was a collective “Aha!” moment. They realized
            that programmers were also solving the same problems over and over
            again. Next thing you know, the “Gang of Four” published their own
            <a href="https://en.wikipedia.org/wiki/Design_Patterns">pattern language for software design</a>, and the rest is history.
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/03-DKcbtUnp.png" alt width="500" height="629" loading="lazy" decoding="async">
          </figure>
          <h2>Why PKM Needs Its Own Pattern Language</h2>
          <p>
            Let’s be honest — we’re all drowning in information. Our digital
            lives are a mess of notes, bookmarks, random thoughts, and that
            article we swear we’ll read someday. But here’s the thing: we’re all
            facing surprisingly similar challenges. Whether you’re a researcher,
            a writer, a student, or just someone trying to keep their digital
            life organized, certain problems keep popping up.
          </p>
          <p>
            That’s why I started collecting PKM patterns. And let me tell you,
            once you start looking, you see them everywhere. Here’s what I’ve
            spotted so far…
          </p>
          <h2>Patterns for PKM: The Index</h2>
          <p><em>Version 5: last modified: Feb 6, 2025</em></p>
          <h3>Collaboration, Publishing &amp; Access</h3>
          <ul>
            <li>CONTENT SYNCHRONIZATION</li>
            <li>INDIVIDUAL ORGANIZATION</li>
            <li>TEAM SHARING</li>
          </ul>
          <h3>Connection &amp; Discovery</h3>
          <ul>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-bidirectional-linking">BIDIRECTIONAL LINKING</a>
            </li>
            <li>CONCEPT CLUSTERING</li>
            <li>EMERGENCE BOARD</li>
            <li>KNOWLEDGE GRAPH</li>
            <li>TRAIL MARKER</li>
          </ul>
          <h3>Information Capture &amp; Organization</h3>
          <ul>
            <li>CONSISTENT LOCATION</li>
            <li>FILE NAMING CONVENTIONS</li>
            <li>FLEXIBLE ORGANIZATION</li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-johnny-decimal-system">JOHNNY DECIMAL SYSTEM</a>
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-map-of-content">MAP OF CONTENT</a>
            </li>
            <li><a href="https://codyburleson.com/blog/patterns-for-pkm-para-method">PARA METHOD</a></li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-progressive-summarization">PROGRESSIVE SUMMARIZATION</a>
            </li>
            <li>QUICK CAPTURE</li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-zettelkasten-method">ZETTELKASTEN METHOD</a>
            </li>
          </ul>
          <h3>Processing &amp; Development</h3>
          <ul>
            <li><a href="https://codyburleson.com/blog/patterns-for-pkm-atomic-notes">ATOMIC NOTES</a></li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-evergreen-notes">EVERGREEN NOTES</a>
            </li>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-idea-incubator">IDEA INCUBATOR</a>
            </li>
            <li>LITERATURE NOTES TO PERMANENT NOTES</li>
            <li>QUESTION CASCADE</li>
            <li>SYNTHESIS MATRIX</li>
          </ul>
          <h3>Review &amp; Maintenance</h3>
          <ul>
            <li>
              <a href="https://codyburleson.com/blog/patterns-for-pkm-garden-maintenance">GARDEN MAINTENANCE</a>
            </li>
            <li>KNOWLEDGE LIFECYCLE</li>
            <li>SPACED REPETITION</li>
            <li>VERSION HISTORY</li>
          </ul>
          <h3>Structural Principles (Fundamental Organizing Principles)</h3>
          <ul>
            <li>CLEAR BOUNDARIES</li>
            <li>DIFFERENTIATION AND INTEGRATION</li>
            <li>FLEXIBLE BOUNDARIES</li>
          </ul>
          <h2>This Is Just the Beginning</h2>
          <p>
            Now, I know what you’re thinking: “Great list, but what do these
            patterns actually look like in practice?” Well, that’s the fun
            part — I’ll be diving deep into each pattern in the near future.
            Think of this as your PKM pattern preview. It’s like when a TV show
            gives you those tantalizing “Coming up next season…” teasers.
          </p>
          <p>
            Until I get those detailed pattern write-ups published (stay
            tuned!), you can find information about most of these patterns
            scattered across the internet. They’re already out there in the
            wild, being used and adapted by PKM enthusiasts everywhere. I’m just
            trying to gather them into one coherent language.
          </p>
          <h2>Join the Pattern Hunt!</h2>
          <p>
            Here’s where you come in. This list? It’s just a first pass, like a
            rough map of a territory we’re all exploring together. I probably
            missed some patterns that are obvious to you, or maybe you’ve
            developed your own solutions that could become patterns.
          </p>
          <p>So, let’s make this interesting:</p>
          <ul>
            <li>Got a pattern I missed? Tell me about it!</li>
            <li>
              Think these patterns could be organized differently? I’m all ears.
            </li>
            <li>
              Found a clever way to combine some of these patterns? Share your
              secrets!
            </li>
            <li>
              Just want to tell me I’m completely wrong about something? Hey,
              that’s what comments are for!
            </li>
          </ul>
          <p>
            Think of this as the start of a conversation about how we can all
            get better at managing our personal knowledge. After all, if
            architects can have a pattern language for buildings, and
            programmers can have one for software, why shouldn’t we have one for
            organizing our digital thoughts?
          </p>
          <p>
            Let’s build this pattern language together — and maybe have some fun
            while we’re at it! Or, simply follow along and see what unfolds…
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/a-pattern-language-for-pkm-lets-build-one-together-fc3f64a8537a">Medium</a>
          on <time datetime="2025-01-16">January 16, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Project: 4th Brain — Progress Update — 2025–0</title>
      <link>https://codyburleson.com/blog/project-4th-brain-progress-update-2025-01-13</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/project-4th-brain-progress-update-2025-01-13</guid>
      <pubDate>Mon, 13 Jan 2025 00:00:00 GMT</pubDate>
      <description>In my previous update, I brainstormed the Project: 4th Brain Supabase backend, one aspect of the 4th Brain platform that will provide a unique alternative to…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <figure>
            <img src="https://codyburleson.com/assets/01-IgdIxthh.jpg" alt width="4032" height="3024" loading="lazy" decoding="async">
            <figcaption>
              The Gog rock formation in Colorado Springs, CO — photo by
              the author.
            </figcaption>
          </figure>
          <p>
            <em>Not a member? You can still </em><a href="https://codyburleson.com/blog/project-4th-brain-brainstorming-a-database-design-for-the-supabase-backend"><em>access this story for free</em></a><em>.</em>
          </p>
          <p>
            In my
            <a href="https://codyburleson.com/blog/project-4th-brain-brainstorming-a-database-design-for-the-supabase-backend">previous update</a>, I brainstormed the Project: 4th Brain Supabase backend, one
            aspect of the 4th Brain platform that will provide a unique
            alternative to
            <a href="https://obsidian.md/publish">Obsidian Publish</a> — allowing you to publish directly from Obsidian to a platform you
            can host yourself. Supabase is an open-source Firebase alternative
            that offers:
          </p>
          <ul>
            <li>
              a
              <a href="https://supabase.com/database">Postgres SQL database</a>,
            </li>
            <li><a href="https://supabase.com/auth">Authentication</a>,</li>
            <li><a href="https://supabase.com/storage">Storage</a>,</li>
            <li>
              <a href="https://supabase.com/edge-functions">Edge Functions</a>
            </li>
            <li><a href="https://supabase.com/realtime">Realtime</a></li>
            <li>
              <a href="https://supabase.com/modules/vector">AI &amp; Vector</a>
            </li>
            <li>
              <a href="https://supabase.com/modules/cron">Scheduled Jobs (Cron)</a>
            </li>
            <li>
              <a href="https://supabase.com/modules/queues">Message Queues</a>
            </li>
            <li>and <a href="https://supabase.com/features">More</a></li>
          </ul>
          <p>
            I’ve now started the Proof of Concept (PoC) phase, refining the
            technical design with hands-on coding experiments and scrupulous
            deliberation, one table at a time. My purpose today is to provide a
            quick status update to let interested parties know that things are
            still in progress and to invite feedback and participation.
          </p>
          <h2>Obsidian 4th Brain Plugin on GitHub</h2>
          <p>
            Though the Obsidian 4th Brain plugin has not been released, I’ve
            published
            <a href="https://github.com/codyburleson/obsidian-4th-brain">the source code repo on GitHub</a>
            for transparency.
          </p>
          <p>
            At this early stage, the only thing worth noting in the repo is the
            <em>init-supabase.sql</em> script at the project's root. This is the
            script that any user can run on their own Supabase instance to set
            up the database. It currently creates:
          </p>
          <ul>
            <li>
              Table: <em>documents</em> including:<br>- index<br>- function
              and trigger for flagging the latest of all versions of a given
              document<br>- Row Level Security (RLS) enablement<br>-
              Policies for INSERT, SELECT, and UPDATE
            </li>
          </ul>
          <p>
            You can examine that script here:
            <a href="https://github.com/codyburleson/obsidian-4th-brain/blob/main/init-supabase.sql">init-supabase.sql</a>
          </p>
          <p>
            Other code in the plugin project implements a
            <em>SupabaseService</em> and utilizes the Supabase JavaScript SDK.
            For now, I have hard-coded a little acid test to perform inserts on
            the <em>documents</em> table.
          </p>
          <h2>Table: documents</h2>
          <p>
            The documents table is the most important since it stores the
            Obsidian markdown documents. Here’s a quick summary of the core
            concepts that have influenced the design up to this point, column by
            column:
          </p>
          <ul>
            <li>
              <strong>id</strong> | uuid — the id of the document, a universally
              unique identifier. This is generated when a markdown document is
              inserted into the database. When a successful insert signal is
              returned, the same uuid can be added to the front-matter metadata
              in Obsidian. In this way, the local document can thereafter be
              cross-referenced with a server copy.
            </li>
            <li>
              <strong>version</strong> | int4 — this will help us support a
              version history so that documents can always be restored to a
              previous state. This represents a revision of the original design
              that called for a separate <em>document_versions</em> table.
            </li>
            <li><strong>path</strong> | text — the folder path</li>
            <li>
              <strong>name</strong> | text — the document name (file name, minus
              the extension), which can be used for the content title when a
              metadata title has not been provided
            </li>
            <li>
              <strong>content</strong> | text — the complete markdown document
              is stored in this field
            </li>
            <li>
              <strong>is_latest</strong> | bool — a convenience field helping us
              select the latest among all versions of a given document
            </li>
            <li>
              <strong>created_at</strong> | timestamptz — a timestamp, with time
              zone information, recording when the document was created in the
              database
            </li>
            <li>
              <strong>created_by</strong> | uuid — the id of the user who
              created the document
            </li>
          </ul>
          <h2>Next Steps</h2>
          <p>
            Here are some use cases I intend to tackle next. These use cases are
            written with the
            <a href="https://cucumber.io/docs/gherkin/reference/">Gherkin syntax</a>, which can later be converted to executable test cases using a
            tool like the
            <a href="https://www.npmjs.com/package/cypress-cucumber-preprocessor">Cypress Cucumber Preprocessor</a>.
          </p>
          <p><strong>Feature: Sync with Supabase</strong></p>
          <p>
            GIVEN the user is working with the Obsidian client<br>WHEN the
            user right-clicks a document<br>THEN a ‘Sync with Supabase’ item
            appears in the context menu
          </p>
          <p>
            GIVEN the Obsidian user selects ‘Sync with Supabase’<br>WHEN the
            right-clicked document has no uuid property<br>THEN a uuid
            property is added to the markdown document <br>AND a version
            property, is added to the markdown document with value 0<br>AND
            the document is inserted into the DB<br>AND the is_latest field is
            set to true<br>AND the created_at field is set to reflect the
            moment of insert
          </p>
          <p>
            GIVEN the Obsidian user selects ‘Sync with Supabase’<br>WHEN the
            right-clicked document has a uuid property<br>AND the
            right-clicked document has a version property <br>THEN the version
            property value is incremented by 1 on the markdown document<br>AND
            the document is updated in the database<br>AND the is_latest field
            is set to true<br>AND the is_latest field of all previous versions
            are set to false<br>AND the modified_at field is changed to
            reflect the update timestamp
          </p>
          <p>
            GIVEN a markdown document has been inserted into the database<br>WHEN
            the markdown document has no title property<br>THEN the title
            field contains the file name without the file extension
          </p>
          <p>
            GIVEN a markdown document has been inserted into the database<br>WHEN
            the markdown document has a title property<br>THEN the title field
            contains the title from the markdown document’s title property
          </p>
          <hr>
          <p>
            If you’re interested in following along or contributing to the
            vision for this platform, you can:
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/project-4th-brain-progress-update-2025-0-698ce4f57acd">Medium</a>
          on <time datetime="2025-01-13">January 13, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Project 4th Brain: Brainstorming a Database Design for the Supabase Backend</title>
      <link>https://codyburleson.com/blog/project-4th-brain-brainstorming-a-database-design-for-the-supabase-backend</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/project-4th-brain-brainstorming-a-database-design-for-the-supabase-backend</guid>
      <pubDate>Sun, 05 Jan 2025 00:00:00 GMT</pubDate>
      <description>In my previous article, I introduced Project: 4th Brain — my endeavor to create a Personal Knowledge Management platform for digital creators and knowledge…</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <figure>
            <img src="https://codyburleson.com/assets/01-iRIQBHeu.jpg" alt width="4261" height="2397" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@blavon?utm_source=medium&amp;utm_medium=referral">S&amp;B Vonlanthen</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            In my
            <a href="https://codyburleson.com/blog/project-4th-brain-the-convergence-of-four-minds">previous article</a>, I introduced Project: 4th Brain — my endeavor to create a
            Personal Knowledge Management platform for digital creators and
            knowledge workers. The system, based on the
            <a href="https://obsidian.md/">Obsidian</a> writing app and its
            plugin-based extensibility, will endeavor to create harmony between
            four distinct types of intelligence: human cognition (your brain),
            digital note-taking systems (your “second brain”), community wisdom,
            and artificial intelligence.
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/02-4QKll2_F.png" alt width="3756" height="2155" loading="lazy" decoding="async">
            <figcaption>
              Image generated using <a href="https://app.napkin.ai/">Napkin</a>
            </figcaption>
          </figure>
          <p>
            Rather than viewing these as competing forces, the project aims to
            build an integrated ecosystem where they enhance each other.
          </p>
          <p>
            While the vision is expansive, every journey begins with concrete
            steps. Today, we’ll lay the foundation by setting up our backend
            infrastructure using <a href="https://supabase.com/">Supabase</a>,
            an open-source Firebase alternative that will power our system’s
            data layer and API.
          </p>
          <p>
            Supabase is built on robust open-source software; it’s stuffed with
            sweet features, and it’s reportedly very easy to use and highly
            scalable. This will be my first time using Supabase, but I’ve done
            enough homework to know it’s a great fit for the project.
          </p>
          <h2>Key Supabase Features</h2>
          <ul>
            <li>
              <strong>PostgreSQL Database</strong>: A powerful, open-source
              relational database with advanced features like full-text search
              and vector operations
            </li>
            <li>
              <strong>Authentication</strong>: Built-in user management with
              multiple auth providers (email, social, SSO) and Row Level
              Security
            </li>
            <li>
              <strong>Auto-generated APIs</strong>: Instant RESTful and
              real-time APIs based on your database schema
            </li>
            <li>
              <strong>Real-time Subscriptions</strong>: Live data
              synchronization using PostgreSQL’s native pub/sub system
            </li>
            <li>
              <strong>Edge Functions</strong>: Serverless functions for running
              custom backend logic
            </li>
            <li>
              <strong>Storage</strong>: Large file handling with object storage
              and CDN capabilities
            </li>
            <li>
              <strong>Self-hosting Option</strong>: Can be fully self-hosted for
              complete data control and privacy
            </li>
          </ul>
          <h2>Supabase Development with Docker</h2>
          <p>
            One of the key requirements for the platform is that any user should
            be able to host their own backend on any cloud provider of choice,
            including Supabase’s own cloud, which is reasonably priced. Users
            should be able to get the entire backend running with as minimal
            configuration and customization as possible. As such, I chose to run
            Supabase locally for development. This should not only help me
            develop faster, but it will also help me prove that I can recreate
            the backend quickly and faithfully after tearing it down.
          </p>
          <p>
            <em               >Note: I will provide links to reference resources and will not be
              repeating technical information that is already well-documented in
              those resources.</em>
          </p>
          <p>
            I set up Supabase on my Apple MacBook Pro (M3 Max) by following the
            guide,
            <a href="https://supabase.com/docs/guides/self-hosting/docker">Self-Hosting with Docker</a>, from the Supabase docs. Aside from a port conflict with another
            one of my running Docker containers, this procedure was smooth and
            easy. Next step: the relational database design.
          </p>
          <h2>Brainstorming the Database Schema Design</h2>
          <h3>Key Entities</h3>
          <ul>
            <li>
              <strong>tenant</strong> — the backend must be capable of securely
              isolating and managing data for multiple independent
              users/organizations while sharing the same infrastructure,
              ensuring that each tenant’s data remains completely separate and
              inaccessible to other tenants. A tenant is an organization or
              logical group of <em>users</em> who can collaborate and publish to
              the same <em>site</em>.
            </li>
            <li>
              <strong>user</strong> — an individual person identified in the
              system by a globally unique id.
            </li>
            <li>
              <strong>site — </strong>a web site uniquely identified by a domain
              or subdomain where resources are published and synchronized from
              the client authoring tool, Obsidian. A site may be synonymous with
              a given Obsidian vault on a user’s local machine, though it may be
              beneficial to allow publishing and synchronizing from one vault to
              multiple sites.
            </li>
            <li>
              <strong>role</strong> — a named set of security access that gan be
              applied to operations and resources; I am presently unaware of
              whether or not this is truly necessary as I do not yet understand
              how Supabase auth works (more homework is required).
            </li>
            <li>
              <strong>property</strong> — represents a frontmatter metadata
              property belonging to one or more documents and having one or more
              possible values. I foresee treating properties like common RDF
              predicates that can be reused across multiple sites and even
              across tenants.
            </li>
            <li>
              <strong>tag </strong>— a concept or term used either as a value of
              the tags frontmatter property or within the body of a markdown
              document (synonymous with Obsidian tags).<br>- hierarchical tags
              should be supported (e.g. parent-tag/child-tag)
            </li>
            <li>
              <strong>document</strong> — a markdown document published from and
              synchronized with the Obsidian client
            </li>
            <li>
              <strong>document_version</strong> — represents a specific version
              of a document at a point in time, containing the complete state of
              the document, including its content and frontmatter metadata for
              that version
            </li>
            <li>
              <strong>canvas</strong> — a JSON document conforming to the JSON
              Canvas specification.
            </li>
            <li>
              <strong>folder</strong> — a unit of storage in a hierarchical
              storage system synonymous with the Obsidian vault’s file system,
              and which may translate to site areas when published on the web
            </li>
          </ul>
          <h3>Relationships Between the Entities</h3>
          <ul>
            <li>
              <strong>Tenant Relationships<br>- </strong>tenant ↔ user:
              One-to-Many (A tenant has multiple users)<br>- tenant ↔ site:
              One-to-Many (A tenant can have multiple sites)
            </li>
            <li>
              <strong>User Relationships<br>- </strong>user ↔ tenant:
              Many-to-One (Users belong to one tenant)<br>- user ↔ site:
              Many-to-Many (Users can have different roles/permissions across
              multiple sites)<br>- This requires a junction table:
              <code>user_site_role</code>
            </li>
            <li>
              <strong>Site Relationships<br>- </strong>site ↔ tenant:
              Many-to-One (Sites belong to one tenant)<br>- site ↔ document:
              One-to-Many (A site contains multiple documents<br>- site ↔
              canvas: One-to-Many (A site can have multiple canvases)
            </li>
            <li>
              <strong>Document Relationships<br>- </strong>document ↔ Many:
              Many-to-Many (Documents can belong to many sites)<br>- document
              ↔ Property: Many-to-Many (Documents can have multiple
              properties)<br>- This requires a junction table:
              <code>document_property</code>
            </li>
            <li>
              document ↔ tag: Many-to-Many (Documents can have multiple tags)<br>-
              This requires a junction table: <code>document_tag</code>
            </li>
            <li>
              <strong>Document Version Relationships</strong><br>- document ↔
              document_version: One-to-Many (A document has multiple versions
              over time)<br>- document_version ↔ property: Many-to-Many (Each
              version has its own set of properties)<br>- document_evrsion ↔
              tag: Many-to-Many (Each version has its own set of tags)<br>-
              document_version ↔ site: Many-to-Many (Each version can be
              published to multiple sites)
            </li>
            <li>
              <strong>Property Relationships<br>- p</strong>roperty ↔
              document: Many-to-Many (Properties can be used across multiple
              documents)
            </li>
            <li>
              <strong>Tag Relationships<br>- t</strong>ag ↔ document:
              Many-to-Many (Tags can be used across multiple documents)<br>-
              tag ↔ tag: One-to-Many (Self-referential for hierarchical
              tags — parent/child relationship)<br>- tag ↔ tenant: Many-to-One
              (Tags are scoped to a tenant)
            </li>
            <li>
              <strong>Folder Relationship</strong>:<br>- folder ↔ site:
              Many-to-One (Folders belong to one site)<br>- folder ↔ folder:
              One-to-Many (Self-referential for hierarchical folder
              structure — parent/child relationship)<br>- folder ↔ document:
              One-to-Many (A folder contains multiple documents)<br>- folder ↔
              canvas: One-to-Many (A folder can contain multiple canvases)
            </li>
          </ul>
          <p>
            Expressed in Mermaid’s ERD notation, that looks something like this:
          </p>
          <pre><code>erDiagram
    tenant ||--o{ user : "has"
    tenant ||--o{ site : "owns"
    tenant ||--o{ tag : "defines"
    
    user }o--o{ SITE : "accesses"
    user_site_role }|--|| user : "belongs_to"
    user_site_role }|--|| site : "applies_to"
    
    site ||--o{ folder : "contains"
    folder ||--o{ folder : "parent_of"
    
    folder ||--o{ document : "contains"
    folder ||--o{ canvas : "contains"
    
    document ||--o{ document_version : "has"
    
    document_version ||--o{ version_property : "has"
    version_property }|--|| property : "references"
    
    document_version ||--o{ version_tag : "has"
    version_tag }|--|| tag : "references"
    
    site }o--o{ document_version : "publishes"
    document_version_site }|--|| document_version : "links"
    document_version_site }|--|| site : "contains"
    
    tag ||--o{ tag : "parent_of"</code></pre>
          <figure>
            <img src="https://codyburleson.com/assets/03-nR6KQTxm.png" alt width="2192" height="2374" loading="lazy" decoding="async">
            <figcaption>
              Mermaid Entity Relationship Diagram ERD) — First “Brainstorm”
              Draft
            </figcaption>
          </figure>
          <h2>Next Steps</h2>
          <p>
            Now that I have a preliminary design for the database, I will soon
            start exploring the database development tools available in
            Supabase. There is a UI for creating tables, for example, and a
            visual schema designer. SQL can be inputed directly into the UI, and
            then, of course, you can also access the Postgres database directly
            through the command line. While I want to explore those and other
            Supabase and Postgres features, I need to be sure that I all DB
            creation steps can always be faithfully recreated.
          </p>
          <p>
            I expect that, while implementing this DB design, a lot of new
            thoughts will come to mind, so the design will surely be evolving
            quickly.
          </p>
          <p>
            If you’re interested in following along or contributing to the
            vision for this platform, you can:
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas
          </p>

          <figure class="fl-quote">
            <blockquote>
              <p>
                “Getting an audience is hard. Sustaining an audience is hard. It
                demands a consistency of thought, of purpose, and of action over
                a long period of time.”
              </p>
            </blockquote>
            <figcaption>
              Bruce Springsteen (or, so
              <a href="https://www.brainyquote.com/topics/consistency-quotes">claims the Internet</a>)
            </figcaption>
          </figure>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/project-4th-brain-brainstorming-a-database-design-for-the-supabase-backend-6898ca8bf11e">Medium</a>
          on <time datetime="2025-01-05">January 5, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>Project: 4th Brain — The Convergence of Four Minds</title>
      <link>https://codyburleson.com/blog/project-4th-brain-the-convergence-of-four-minds</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/project-4th-brain-the-convergence-of-four-minds</guid>
      <pubDate>Sat, 04 Jan 2025 00:00:00 GMT</pubDate>
      <description>One Knowledge Worker’s Public Chronicle of Building an Integrated Intelligence Ecosystem</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <h2>
            The future of knowledge work isn’t about your talent versus the
            competition, your personal knowledge management system versus
            others, your intelligence versus collective intelligence, or human
            intelligence versus artificial intelligence — it’s about
            their harmony.
          </h2>
          <figure>
            <img src="https://codyburleson.com/assets/01-df4YiMNs.jpg" alt width="3514" height="1699" loading="lazy" decoding="async">
            <figcaption>
              “Moonshot” by the author (<em                 >moon inserted using Adobe generative fill</em>).
            </figcaption>
          </figure>
          <p>
            Like many knowledge workers, I’ve spent countless hours trying to
            get my digital life in order. The organization scheme in my Obsidian
            knowledge vault follows one pattern, and my file system follows
            another. I need to collect and organize knowledge for optimal use,
            but I also need to produce and share it. Yesterday, I managed a
            blog, and today, I post on Medium. Other options like Substack have
            caught my eye. I’m told to build a personal brand, but my interests
            keep expanding and evolving. There are new tools that I’m sure can
            help me work faster, but I don’t have the time to learn them. FOMO
            is my middle name; my browser bookmarks are multiplying like
            rabbits. And now AI is throwing both exciting possibilities and new
            challenges into the mix.
          </p>
          <p>
            But here’s the thing — I’ve realized I’ve been thinking about this
            all wrong. I keep looking for the <em>winning</em> solution: the
            best note-taking app, the most efficient workflow, the most
            intelligent AI assistant. I’ve been stuck in this mindset of
            competition and comparison.
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/02-ApPJ37lN.jpg" alt width="3999" height="2896" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@birminghammuseumstrust?utm_source=medium&amp;utm_medium=referral">Birmingham Museums Trust</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            Then it hit me: what if the answer isn’t about finding the perfect
            tool or system? What if it’s about getting different types of
            intelligence to work together? My brain, my digital note-taking
            system, the collective wisdom of other knowledge workers, and yes,
            even AI — all working in harmony instead of competition.
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/02-4QKll2_F.png" alt width="3756" height="2155" loading="lazy" decoding="async">
            <figcaption>
              Image generated using <a href="https://app.napkin.ai/">Napkin</a>
            </figcaption>
          </figure>
          <p>
            That’s what “Project: 4th Brain” is about. It’s my attempt to build
            something I wish existed — a system where these four different types
            of intelligence enhance each other instead of competing. And I’m
            sharing every step of the journey, from the first lines of code to
            the inevitable face-plants along the way.
          </p>
          <p>
            I don’t have it all figured out, but I’m excited to explore this
            idea in public.
          </p>
          <h2>Core Requirements: What This System Must Do</h2>
          <h3>Seamless Obsidian Integration</h3>
          <ul>
            <li>
              Act as an extension to Obsidian (not a replacement).<br>-
              Leverage all the goody-goodness of Obsidian — extending it with a
              plugin or system of plugins.
            </li>
          </ul>
          <h3>Multi-Channel Publishing</h3>
          <figure>
            <img src="https://codyburleson.com/assets/04-C3UhUfyF.png" alt width="3612" height="3024" loading="lazy" decoding="async">
            <figcaption>
              Image generated using <a href="https://app.napkin.ai/">Napkin</a>
            </figcaption>
          </figure>
          <ul>
            <li>
              Provide an alternative to Obsidian Publish that empowers users to
              host their own with a unique features and options not currently
              provided by Obsidian.
            </li>
            <li>
              Aid content creation and publishing to common platforms that
              expose publishing APIs (e.g. Medium, Substack, Atlassian
              Confluence, etc.)
            </li>
            <li>
              Aid production of formats like Hardcover/Softcover, eBook, and
              Audiobook for publishing on Amazon KDP, ACX / Audible, etc.
            </li>
          </ul>
          <h3>Community Integration</h3>
          <figure>
            <img src="https://codyburleson.com/assets/05-oqEHLNWo.png" alt width="4404" height="2388" loading="lazy" decoding="async">
            <figcaption>
              Image generated using <a href="https://app.napkin.ai/">Napkin</a>
            </figcaption>
          </figure>
          <ul>
            <li>
              Provide a community-driven system for sharing and refining
              patterns and mental models, especially for Personal Knowledge
              Management (PKM).
            </li>
            <li>
              Promote a kind of W3C-like standards body for PKM so that standard
              systems can be developed and integrated to help drive tool
              integration and AI Augmentation.
            </li>
            <li>
              Enable the community to develop, share, and collectively refine
              PKM “formulas” that help digital creators and knowledge workers
              know the “Next Best Steps” for a variety of desired outcomes.
            </li>
          </ul>
          <h3>AI Augmentation</h3>
          <figure>
            <img src="https://codyburleson.com/assets/06-S9HcDTOg.png" alt width="4980" height="2304" loading="lazy" decoding="async">
            <figcaption>
              Image generated using <a href="https://app.napkin.ai/">Napkin</a>
            </figcaption>
          </figure>
          <ul>
            <li>Integration of Large Language Models and a system of Agents</li>
            <li>
              Low code customization with visual node-based workflow editor
            </li>
            <li>Specialized agents that understand PKM standards</li>
            <li>
              AI assistants that learn your personal knowledge patterns and can
              be permitted to act
            </li>
            <li>
              Agents that help maintain consistency across your knowledge base
            </li>
          </ul>
          <h2>Initial Development Focus</h2>
          <ul>
            <li>Setup the self-hosted publishing platform</li>
            <li>Build the foundational Obsidian plugin architecture</li>
            <li>Establishing community standards framework</li>
            <li>Design the agent system architecture</li>
          </ul>
          <h2>The Road Ahead</h2>
          <figure>
            <img src="https://codyburleson.com/assets/07-BVh05JKv.jpg" alt width="3840" height="5760" loading="lazy" decoding="async">
            <figcaption>
              Photo by
              <a href="https://unsplash.com/@katiemoum?utm_source=medium&amp;utm_medium=referral">Katie Moum</a>
              on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a>
            </figcaption>
          </figure>
          <p>
            This is an ambitious project, and I’m under no illusions about the
            challenges ahead. But I believe the time is right for this kind of
            integration. We have the technical capabilities with modern APIs,
            the growing PKM community around tools like Obsidian, and the
            emergence of powerful AI models. What’s missing is the bridge
            between all these pieces.
          </p>
          <p>
            I’m starting this journey because I need this tool myself and
            because I enjoy having a side project that keeps me practiced with
            technology. Every line of code will be solving a real problem I face
            in my daily work as a knowledge worker. And by building in public, I
            hope to learn from others who share these challenges.
          </p>
          <p>
            If you’re interested in following along or contributing to this
            vision of an Integrated Intelligence Ecosystem, you can:
          </p>
          <p>
            💬 <a href="https://codyburleson.com/#contact">Contact me</a> to share your thoughts and
            ideas<br>➡️ Read the
            <a href="https://codyburleson.com/blog/project-4th-brain-brainstorming-a-database-design-for-the-supabase-backend">next article in this series</a>
          </p>

          <p>Let’s see where this journey takes us.</p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/project-4th-brain-the-convergence-of-four-minds-8e49a911222b">Medium</a>
          on <time datetime="2025-01-04">January 4, 2025</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>CINEFEX: A Legacy of Movie Magic</title>
      <link>https://codyburleson.com/blog/cinefex-a-legacy-of-movie-magic</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/cinefex-a-legacy-of-movie-magic</guid>
      <pubDate>Mon, 30 Dec 2024 00:00:00 GMT</pubDate>
      <description>The Complete Visual Archive of Cinema’s Greatest Special Effects Secrets, Issues 1–172</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <figure>
            <img src="https://codyburleson.com/assets/01-B8qM4Qpa.jpg" alt width="980" height="551" loading="lazy" decoding="async">
          </figure>
          <p>
            When I was just a boy, enthralled by the special effects of Star
            Wars, I found a magazine that showed how movie magic was made. It
            was called
            <a href="https://en.wikipedia.org/wiki/Cinefex">Cinefex</a>: The
            Journal of Cinematic Illusions.
          </p>
          <p>
            I sat on the floor in the aisle of the bookstore and flipped through
            every beautifully illustrated page. By the time I reached the end, I
            knew what I wanted to be when I grew up. I was 9 years old, and I
            continued to read the magazine through age 50 when the publication
            was finally retired, a victim of the COVID-19 pandemic…
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/02-Dem6mTtm.png" alt width="900" height="826" loading="lazy" decoding="async">
          </figure>
          <p>
            Reading Cinefex ignited a passion that shaped my approach to setting
            and achieving goals. Those pages, revealing the secrets behind
            cinema’s greatest illusions, catalyzed my early career work in the
            motion picture industry. Even now, holding an issue stirs profound
            emotions — each page brings back that childhood wonder of
            discovering how incredible visual effects were created, a feeling
            that still moves me deeply after all these years.
          </p>
          <p>
            With deep respect for something that has brought great joy to my
            life, here, for the record, is the cover of every issue, from 1 to
            172.
          </p>
          <p>
            Cinefex, you were more than a magazine — you were the spark that
            ignited dreams. Thank you for everything.
          </p>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/03-lH14yBhb.jpg" alt="Cinefex, MARCH 1980. Star Trek: The Motion Picture, Alien" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/04-GTcZwW2V.jpg" alt="Cinefex, AUGUST 1980. The Empire Strikes Back, Star Trek: The Motion Picture, Greg Jein" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/05-B0lyS5Op.jpg" alt="Cinefex, DECEMBER 1980. The Empire Strikes Back, Phase IV, Walter Murch" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(1)</strong> MARCH 1980. Star Trek: The Motion Picture,
              Alien | <strong>(2)</strong> AUGUST 1980. The Empire Strikes Back,
              Star Trek: The Motion Picture, Greg Jein |
              <strong>(3)</strong> DECEMBER 1980. The Empire Strikes Back, Phase
              IV, Walter Murch
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/06-iLOCtkwP.jpg" alt="Cinefex, APRIL 1981. Outland, Altered State" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/07-BgwVt4dn.jpg" alt="Cinefex, JULY 1981. Clash of the Titans, Ray Harryhausen, Caveman" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/08-sYgd_Xxv.jpg" alt="Cinefex, OCTOBER 1981. Dragonslayer, Raiders of the Lost Ark, CGI" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(4)</strong> APRIL 1981. Outland, Altered State |
              <strong>(5)</strong> JULY 1981. Clash of the Titans, Ray
              Harryhausen, Caveman | <strong>(6)</strong> OCTOBER 1981.
              Dragonslayer, Raiders of the Lost Ark, CGI
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/09-B8Mopj_y.jpg" alt="Cinefex, JANUARY 1982. Willis O’Brien" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/10-DT8FJlSS.jpg" alt="Cinefex, APRIL 1982. Tron, Silent Running" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/11-pBdCGM3l.jpg" alt="Cinefex, JULY 1982. Blade Runner" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(7</strong>) JANUARY 1982. Willis O’Brien |
              <strong>(8)</strong> APRIL 1982. Tron, Silent Running |
              <strong>(9)</strong> JULY 1982. Blade Runner
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/12-B2Uv88SC.jpg" alt="Cinefex, OCTOBER 1982. Poltergeist, Firefox" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/13-CUXyO_b2.jpg" alt="Cinefex, JANUARY 1983. E.T., Robert Swarthe" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/14-Bn9zfMom.jpg" alt="Cinefex, APRIL 1983. Something Wicked This Way Comes, Stop Motion Animation, Dream Quest" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(10)</strong> OCTOBER 1982. Poltergeist, Firefox |
              <strong>(11)</strong> JANUARY 1983. E.T., Robert Swarthe |
              <strong>(12)</strong> APRIL 1983. Something Wicked This Way Comes,
              Stop Motion Animation, Dream Quest
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/15-BVC1z5vW.jpg" alt="Cinefex, JULY 1983. Return of the Jedi" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/16-Brcnrcjp.jpg" alt="Cinefex, OCTOBER 1983. The Right Stuff, Brainstorm, Twilight Zone: The Movie" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/17-DaQUCbVb.jpg" alt="Cinefex, JANUARY 1984. Never Say Never Again, The Day After, Ralph Hammeras" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(13)</strong> JULY 1983. Return of the Jedi |
              <strong>(14)</strong> OCTOBER 1983. The Right Stuff, Brainstorm,
              Twilight Zone: The Movie | <strong>(15)</strong> JANUARY 1984.
              Never Say Never Again, The Day After, Ralph Hammeras
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/18-BO6dWCgA.jpg" alt="Cinefex, APRIL 1984. Rick Baker" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/19-DMb8EroD.jpg" alt="Cinefex, JUNE 1984. Ghostbusters, The Last Starfighter" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/20-2Z4QQPIg.jpg" alt="Cinefex, AUGUST 1984. Indiana Jones II, Star Trek III" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(16)</strong> APRIL 1984. Rick Baker |
              <strong>(17)</strong> JUNE 1984. Ghostbusters, The Last
              Starfighter | <strong>(18)</strong> AUGUST 1984. Indiana Jones II,
              Star Trek III
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/21-Brh5sSDT.jpg" alt="Cinefex, NOVEMBER 1984. Gremlins, Buckaroo Banzai, Dreamscape" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/22-DZlCAKiw.jpg" alt="Cinefex, JANUARY 1985. 2010" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/23-D09Ho-rP.jpg" alt="Cinefex, APRIL 1985. The Terminator, Dune" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(19)</strong> NOVEMBER 1984. Gremlins, Buckaroo Banzai,
              Dreamscape | <strong>(20)</strong> JANUARY 1985. 2010 |
              <strong>(21)</strong> APRIL 1985. The Terminator, Dune
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/24-BQ656F9Y.jpg" alt="Cinefex, JUNE 1985. Return to Oz, Baby" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/25-Bk_bZltO.jpg" alt="Cinefex, AUGUST 1985. Explorers, Lifeforce, My Science Project" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/26-W25ciuIH.jpg" alt="Cinefex, NOVEMBER 1985. Cocoon, The Goonies, Back to the Future" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(22)</strong> JUNE 1985. Return to Oz, Baby |
              <strong>(23) </strong>AUGUST 1985. Explorers, Lifeforce, My
              Science Project | <strong>(24)</strong> NOVEMBER 1985. Cocoon, The
              Goonies, Back to the Future
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/27-B7FoU8QA.jpg" alt="Cinefex, FEBRUARY 1986. Enemy Mine, German Special Effects, Fright Night" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/28-BxFSaK5X.jpg" alt="Cinefex, MAY 1986. Poltergeist II, Young Sherlock Holmes" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/29-4hxx0qw2.jpg" alt="Cinefex, JULY 1986. Aliens" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(25)</strong> FEBRUARY 1986. Enemy Mine, German Special
              Effects, Fright Night | <strong>(26)</strong> MAY 1986.
              Poltergeist II, Young Sherlock Holmes | <strong>(27)</strong> JULY
              1986. Aliens
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/30-CCkI1m9D.jpg" alt="Cinefex, NOVEMBER 1986. The Fly, Big Trouble in Little China, Short Circuit" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/31-BAh9cGGD.jpg" alt="Cinefex, FEBRUARY 1987. Star Trek IV, King Kong Lives, Top Gun" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/32-n-KgqViL.jpg" alt="Cinefex, MAY 1987. Little Shop of Horrors, The Gate, The Golden Child" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(28)</strong> NOVEMBER 1986. The Fly, Big Trouble in
              Little China, Short Circuit | <strong>(29)</strong> FEBRUARY 1987.
              Star Trek IV, King Kong Lives, Top Gun | <strong>(30)</strong> MAY
              1987. Little Shop of Horrors, The Gate, The Golden Child
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/33-CMWsrJKi.jpg" alt="Cinefex, AUGUST 1987. Spaceballs, The Witches of Eastwick, Masters of the Universe" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/34-CjV__me5.jpg" alt="Cinefex, NOVEMBER 1987. RoboCop, Innerspace" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/35-BHkURuGd.jpg" alt="Cinefex, FEBRUARY 1988. Dick Smith, 007 x 4, The Predator" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(31)</strong> AUGUST 1987. Spaceballs, The Witches of
              Eastwick, Masters of the Universe | <strong>(32)</strong> NOVEMBER
              1987. RoboCop, Innerspace | <strong>(33)</strong> FEBRUARY 1988.
              Dick Smith, 007 x 4, The Predator
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/36-B1-lxrZ-.jpg" alt="Cinefex, MAY 1988. Beetlejuice, Batteries Not Included" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/37-C5ECY0ML.jpg" alt="Cinefex, AUGUST 1988. Who Framed Roger Rabbit?, Willow" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/38-BHdC4lIR.jpg" alt="Cinefex, NOVEMBER 1988. Dead Ringers, Alien Nation, Die Hard, The Blob" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(34)</strong> MAY 1988. Beetlejuice, Batteries Not
              Included | <strong>(35)</strong> AUGUST 1988. Who Framed Roger
              Rabbit?, Willow | <strong>(36) </strong>NOVEMBER 1988. Dead
              Ringers, Alien Nation, Die Hard, The Blob
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/39-CdKd0SsN.jpg" alt="Cinefex, FEBRUARY 1989. Star Trek: The Next Generation, The Fly II, Oxford Scientific Films" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/40-FRBysWiu.jpg" alt="Cinefex, MAY 1989. The Adventures of Terry Gilliam" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/41-tSDM-G1J.jpg" alt="Cinefex, AUGUST 1989. The Abyss" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(37)</strong> FEBRUARY 1989. Star Trek: The Next
              Generation, The Fly II, Oxford Scientific Films |
              <strong>(38)</strong> MAY 1989. The Adventures of Terry Gilliam |
              <strong>(39)</strong> AUGUST 1989. The Abyss
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/42-VAhv_HzQ.jpg" alt="Cinefex, NOVEMBER 1989. Ghostbusters II, Indiana Jones III" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/43-FQbsYDSj.jpg" alt="Cinefex, FEBRUARY 1990. Batman, Honey, I Shrunk the Kids" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/44-BRBm-svi.jpg" alt="Cinefex, MAY 1990. Tremors, The Hunt for Red October, Star Trek V" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(40)</strong> NOVEMBER 1989. Ghostbusters II, Indiana
              Jones III | <strong>(41) </strong>FEBRUARY 1990. Batman, Honey, I
              Shrunk the Kids | <strong>(42)</strong> MAY 1990. Tremors, The
              Hunt for Red October, Star Trek V
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/45-DaKyI8Lz.jpg" alt="Cinefex, AUGUST 1990. Total Recall, Back to the Future II, Back to the Future III" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/46-DmF_P3OP.jpg" alt="Cinefex, NOVEMBER 1990. Dick Tracy, Ghost, Always" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/47-CVrAWizF.jpg" alt="Cinefex, FEBRUARY 1991. RoboCop II, Flight of the Intruder, Die Hard II" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(43)</strong> AUGUST 1990. Total Recall, Back to the
              Future II, Back to the Future III | <strong>(44)</strong> NOVEMBER
              1990. Dick Tracy, Ghost, Always | <strong>(45)</strong> FEBRUARY
              1991. RoboCop II, Flight of the Intruder, Die Hard II
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/48-wOL6Swbg.jpg" alt="Cinefex, MAY 1991. Rick Baker, The Godfather" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/49-BocAEQxT.jpg" alt="Cinefex, AUGUST 1991. Terminator II" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/50-Cfkn6WjA.jpg" alt="Cinefex, NOVEMBER 1991. The Rocketeer, Backdraft, Cast a Deadly Spell" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(46)</strong> MAY 1991. Rick Baker, The Godfather |
              <strong>(47)</strong> AUGUST 1991. Terminator II |
              <strong>(48)</strong> NOVEMBER 1991. The Rocketeer, Backdraft,
              Cast a Deadly Spell
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/51-9lKTTgtt.jpg" alt="Cinefex, FEBRUARY 1992. Naked Lunch, Hook, Star Trek VI" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/52-V7V1hHBP.jpg" alt="Cinefex, MAY 1992. Alien III, The Lawnmower Man" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/53-C28m_Aro.jpg" alt="Cinefex, AUGUST 1992. Batman Returns" width="190" height="171" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(49)</strong> FEBRUARY 1992. Naked Lunch, Hook, Star Trek
              VI | <strong>(50)</strong> MAY 1992. Alien III, The Lawnmower Man
              | <strong>(51) </strong>AUGUST 1992. Batman Returns
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/54-DoVSKG-T.jpg" alt="Cinefex, NOVEMBER 1992. Honey, I Blew up the Kid, Death Becomes Her" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/55-DoWot2Vd.jpg" alt="Cinefex, FEBRUARY 1993. Bram Stoker’s Dracula, Steven Spielberg" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/56-3HOVqj-t.jpg" alt="Cinefex, MAY 1993. Toys, Cliffhanger" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(52) </strong>NOVEMBER 1992. Honey, I Blew up the Kid,
              Death Becomes Her | <strong>(53)</strong> FEBRUARY 1993. Bram
              Stoker’s Dracula, Steven Spielberg | <strong>(54)</strong> MAY
              1993. Toys, Cliffhanger
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/57-hM5e1i-q.jpg" alt="Cinefex, AUGUST 1993. Jurassic Park" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/58-Bfg9-oxN.jpg" alt="Cinefex, NOVEMBER 1993. The Nightmare Before Christmas, Last Action Hero, RoboCop III" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/59-Bp2Xsoqs.jpg" alt="Cinefex, MARCH 1994. Attack of the 50 Foot Woman, Demolition Man" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(55)</strong> AUGUST 1993. Jurassic Park |
              <strong>(56)</strong> NOVEMBER 1993. The Nightmare Before
              Christmas, Last Action Hero, RoboCop III |
              <strong>(57)</strong> MARCH 1994. Attack of the 50 Foot Woman,
              Demolition Man
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/60-CHwXAoCN.jpg" alt="Cinefex, JUNE 1994. The Flintstones, The Hudsucker Proxy" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/61-ChaIxZLC.jpg" alt="Cinefex, SEPTEMBER 1994. True Lies" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/62-B9iffnu-.jpg" alt="Cinefex, DECEMBER 1994. Mary Shelley’s Frankenstein, The Mask, Forrest Gump" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(58)</strong> JUNE 1994. The Flintstones, The Hudsucker
              Proxy | <strong>(59)</strong> SEPTEMBER 1994. True Lies |
              <strong>(60)</strong> DECEMBER 1994. Mary Shelley’s Frankenstein,
              The Mask, Forrest Gump
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/63-Y949N1oF.jpg" alt="Cinefex, MARCH 1995. Interview With the Vampire, Star Trek Generations, Stargate" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/64-C45SsEQn.jpg" alt="Cinefex, JUNE 1995. Congo, Judge Dredd, Dick Smith" width="190" height="172" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/65-BSC0dOA-.jpg" alt="Cinefex, SEPTEMBER 1995. Apollo 13, Batman Forever" width="190" height="172" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(61)</strong> MARCH 1995. Interview With the Vampire, Star
              Trek Generations, Stargate | <strong>(62)</strong> JUNE 1995.
              Congo, Judge Dredd, Dick Smith |<strong> (63)</strong> SEPTEMBER
              1995. Apollo 13, Batman Forever
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/66-CBmU_v4a.jpg" alt="Cinefex, DECEMBER 1995. Jumanji, Toy Story, Waterworld, Broken Arrow, Casino" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/67-DwqNR7ew.jpg" alt="Cinefex, MARCH 1996. 20 Years of ILM, George Lucas, Star Wars, Dennis Muren" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/68-BwtxO9we.jpg" alt="Cinefex, JUNE 1996. Dragonheart, Twister, James and the Giant Peach, Aftershocks, Flipper" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(64)</strong> DECEMBER 1995. Jumanji, Toy Story,
              Waterworld, Broken Arrow, Casino | <strong>(65)</strong> MARCH
              1996. 20 Years of ILM, George Lucas, Star Wars, Dennis Muren |
              <strong>(66)</strong> JUNE 1996. Dragonheart, Twister, James and
              the Giant Peach, Aftershocks, Flipper
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/69-9UH27ZvH.jpg" alt="Cinefex, SEPTEMBER 1996. Independence Day, Mission: Impossible, Multiplicity, The Nutty Professor, Escape from L.A." width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/70-BqyBB00W.jpg" alt="Cinefex, DECEMBER 1996, Mars Attacks!, T2: Battle Across Time, Daylight, The Ghost and the Darkness, The City of Lost Children" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/71-fzQd4qtn.jpg" alt="Cinefex, MARCH 1997. The Relic, Dante’s Peak, Star Trek: First Contact, Star Wars SE, Turbulence" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(67)</strong> SEPTEMBER 1996. Independence Day, Mission:
              Impossible, Multiplicity, The Nutty Professor, Escape from L.A. |
              <strong>(68)</strong> DECEMBER 1996, Mars Attacks!, T2: Battle
              Across Time, Daylight, The Ghost and the Darkness, The City of
              Lost Children | <strong>(69)</strong> MARCH 1997. The Relic,
              Dante’s Peak, Star Trek: First Contact, Star Wars SE, Turbulence
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/72-ZcTKS3Mp.jpg" alt="Cinefex, JUNE 1997. Jurassic Park: The Lost World, Men in Black, The Fifth Element, Con Air, Anaconda" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/73-CwRFi59L.jpg" alt="Cinefex, SEPTEMBER 1997. Spawn, Batman &amp; Robin, Volcano, Contact, Speed 2" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/74-CI8REwz6.jpg" alt="Cinefex, DECEMBER 1997. Titanic" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(70)</strong> JUNE 1997. Jurassic Park: The Lost World,
              Men in Black, The Fifth Element, Con Air, Anaconda
              <strong>(71)</strong> SEPTEMBER 1997. Spawn, Batman &amp; Robin,
              Volcano, Contact, Speed 2 | <strong>(72)</strong> DECEMBER
              1997. Titanic
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/75-Da2D7u_n.jpg" alt="Cinefex, APRIL 1998. Starship Troopers, Alien Resurrection, Flubber, Mouse Hunt, An American Werewolf in Paris" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/76-BgjFrtQG.jpg" alt="Cinefex, JULY 1998. Godzilla, The X-Files Movie, Deep Impact, Lost in Space, Deep Rising" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/77-BAovgj3m.jpg" alt="Cinefex, OCTOBER 1998. Small Soldiers, Armageddon, Blade, Dr. Dolittle, The Truman Show" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(73)</strong> APRIL 1998. Starship Troopers, Alien
              Resurrection, Flubber, Mouse Hunt, An American Werewolf in Paris |
              <strong>(74) </strong>JULY 1998. Godzilla, The X-Files Movie, Deep
              Impact, Lost in Space, Deep Rising | <strong>(75)</strong> OCTOBER
              1998. Small Soldiers, Armageddon, Blade, Dr. Dolittle, The
              Truman Show
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/78-php3Hkyk.jpg" alt="Cinefex, JANUARY 1999. Mighty Joe Young, What Dreams May Come, Pleasantville, Antz, A Bug’s Life" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/79-CSuf4-cs.jpg" alt="Cinefex, APRIL 1999. My Favorite Martian, Star Trek: Insurrection, The Mummy, Babe, Wing Commander" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/80-C-iKRcgK.jpg" alt="Cinefex, JULY 1999. Star Wars Episode I" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(76)</strong> JANUARY 1999. Mighty Joe Young, What Dreams
              May Come, Pleasantville, Antz, A Bug’s Life |
              <strong>(77)</strong> APRIL 1999. My Favorite Martian, Star Trek:
              Insurrection, The Mummy, Babe, Wing Commander |
              <strong>(78)</strong> JULY 1999. Star Wars Episode I
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/81-BbubGvCr.jpg" alt="Cinefex, OCTOBER 1999. The Matrix, Wild Wild West, The Haunting, Deep Blue Sea" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/82-CU-LoFjZ.jpg" alt="Cinefex, JANUARY 2000. 20th Anniversary Issue, Sleepy Hollow, A Look Back, Stuart Little, Fight Club" width="190" height="162" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/83-ymXfwLMS.jpg" alt="Cinefex, APRIL 2000. Mission to Mars, End of Days, Galaxy Quest, Bicentennial Man, Pitch Black" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(79)</strong> OCTOBER 1999. The Matrix, Wild Wild West,
              The Haunting, Deep Blue Sea | <strong>(80)</strong> JANUARY 2000.
              20th Anniversary Issue, Sleepy Hollow, A Look Back, Stuart Little,
              Fight Club | <strong>(81)</strong> APRIL 2000. Mission to Mars,
              End of Days, Galaxy Quest, Bicentennial Man, Pitch Black
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/84-DFdkl6fV.jpg" alt="Cinefex, JULY 2000. Chicken Run, Dinosaur, The Perfect Storm, Gladiator, U-571" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/85-Dp4rVKCp.jpg" alt="Cinefex, OCTOBER 2000. Hollow Man, X-Men, The Cell, The Patriot, What Lies Beneath" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/86-gusSHhGv.jpg" alt="Cinefex, JANUARY 2001. How the Grinch Stole Christmas, Red Planet, Vertical Limit, Bedazzled, 101 Dalmations" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(82)</strong> JULY 2000. Chicken Run, Dinosaur, The
              Perfect Storm, Gladiator, U-571 | <strong>(83)</strong> OCTOBER
              2000. Hollow Man, X-Men, The Cell, The Patriot, What Lies Beneath
              <strong>(84)</strong> JANUARY 2001. How the Grinch Stole
              Christmas, Red Planet, Vertical Limit, Bedazzled, 101 Dalmations
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/87-CuEAZtg2.jpg" alt="Cinefex, APRIL 2001. 2001: A Space Odyssey, The Mummy Returns, The 6th Day, Monkeybone" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/88-nlmGagpc.jpg" alt="Cinefex, JULY 2001. Pearl Harbor, Evolution, Moulin Rouge, Final Fantasy, Driven" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/89-DOARi2q5.jpg" alt="Cinefex, OCTOBER 2001. A.I.: Artificial Intelligence, Planet of the Apes, Jurassic Park III, Tomb Raider" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(85)</strong> APRIL 2001. 2001: A Space Odyssey, The Mummy
              Returns, The 6th Day, Monkeybone | <strong>(86)</strong> JULY
              2001. Pearl Harbor, Evolution, Moulin Rouge, Final Fantasy, Driven
              | <strong>(87)</strong> OCTOBER 2001. A.I.: Artificial
              Intelligence, Planet of the Apes, Jurassic Park III, Tomb Raider
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/90-C2kq0wMB.jpg" alt="Cinefex, JANUARY 2002. Harry Potter, Monsters Inc., The Fast and the Furious, Shrek" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/91-y5R9a1Zx.jpg" alt="Cinefex, APRIL 2002. The Fellowship of the Ring, The Time Machine, Black Hawk Down" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/92-Cf0XxeiU.jpg" alt="Cinefex, JULY 2002. Star Wars II, Spider-Man" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(88)</strong> JANUARY 2002. Harry Potter, Monsters Inc.,
              The Fast and the Furious, Shrek | <strong>(89) </strong>APRIL
              2002. The Fellowship of the Ring, The Time Machine, Black Hawk
              Down | <strong>(90)</strong> JULY 2002. Star Wars II, Spider-Man
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/93-ExfgQjdb.jpg" alt="Cinefex, OCTOBER 2002. Minority Report, Men in Black II, Reign of Fire" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/94-B5LI1vb6.jpg" alt="Cinefex, JANUARY 2003. The Two Towers, Spy Kids I and II, XXX" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/95-z1ig5inZ.jpg" alt="Cinefex, APRIL 2003. Harry Potter II, Adaptation, Daredevil, Star Trek Nemesis" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(91)</strong> OCTOBER 2002. Minority Report, Men in Black
              II, Reign of Fire | <strong>(92)</strong> JANUARY 2003. The Two
              Towers, Spy Kids I and II, XXX | <strong>(93)</strong> APRIL 2003.
              Harry Potter II, Adaptation, Daredevil, Star Trek Nemesis
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/96-CWaY0YNG.jpg" alt="Cinefex, JULY 2003. The Hulk, X-Men United, The Core" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/97-CHdsnVS-.jpg" alt="Cinefex, OCTOBER 2003. The Matrix Reloaded, Terminator III, Spy Kids 3D, Seabiscuit" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/98-BonxrDOw.jpg" alt="Cinefex, JANUARY 2004. The Return of the King, Peter Jackson, Master and Commander, Peter Pan" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(94)</strong> JULY 2003. The Hulk, X-Men United, The Core
              | <strong>(95)</strong> OCTOBER 2003. The Matrix Reloaded,
              Terminator III, Spy Kids 3D, Seabiscuit |
              <strong>(96)</strong> JANUARY 2004. The Return of the King, Peter
              Jackson, Master and Commander, Peter Pan
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/99-BKarzpG_.jpg" alt="Cinefex, APRIL 2004. Hellboy, The Matrix Revolutions, The Passion of the Christ, Matte World Digital, Phil Tippett" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/100-CUnOQetd.jpg" alt="Cinefex, JULY 2004. The Day After Tomorrow, Sky Captain, Troy, Van Helsing" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/101-DoJcz41w.jpg" alt="Cinefex, OCTOBER 2004. I, Robot, Alien Vs. Predator, Harry Potter III, Spider-Man 2" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(97)</strong> APRIL 2004. Hellboy, The Matrix Revolutions,
              The Passion of the Christ, Matte World Digital, Phil Tippett |
              <strong>(98)</strong> JULY 2004. The Day After Tomorrow, Sky
              Captain, Troy, Van Helsing | <strong>(99)</strong> OCTOBER 2004.
              I, Robot, Alien Vs. Predator, Harry Potter III, Spider-Man 2
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/102-DZO9C_dt.jpg" alt="Cinefex, JANUARY 2005. The Polar Express, State of the Art, Lemony Snicket" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/103-BTI6yFFT.jpg" alt="Cinefex, APRIL 2005. The Aviator, State of the Business, Son of the Mask" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/104-S7137Wq5.jpg" alt="Cinefex, JULY 2005. Star Wars III, George Lucas, Sin City, Constantine, Hitchhiker’s Guide" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(100)</strong> JANUARY 2005. The Polar Express, State of
              the Art, Lemony Snicket | <strong>(101)</strong> APRIL 2005. The
              Aviator, State of the Business, Son of the Mask |
              <strong>(102)</strong> JULY 2005. Star Wars III, George Lucas, Sin
              City, Constantine, Hitchhiker’s Guide
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/105-DbKQQJzO.jpg" alt="Cinefex, OCTOBER 2005. War of the Worlds, Batman Begins, Stealth, Fantastic Four, The Island" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/106-Kojbysw4.jpg" alt="Cinefex, JANUARY 2006. King Kong, The Chronicles of Narnia, The Corpse Bride, The Exorcism of Emily Rose" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/107-DoNfd3XR.jpg" alt="Cinefex, APRIL 2006. Harry Potter IV, Forum on Effects in TV, The Shaggy Dog, Casanova, Zathura" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(103)</strong> OCTOBER 2005. War of the Worlds, Batman
              Begins, Stealth, Fantastic Four, The Island |
              <strong>(104) </strong>JANUARY 2006. King Kong, The Chronicles of
              Narnia, The Corpse Bride, The Exorcism of Emily Rose |
              <strong>(105)</strong> APRIL 2006. Harry Potter IV, Forum on
              Effects in TV, The Shaggy Dog, Casanova, Zathura
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/108-DjCs7AaC.jpg" alt="Cinefex, JULY 2006. Superman Returns, X-Men: The Last Stand, Poseidon, V for Vendetta, The Da Vinci Code" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/109-CAm4wypQ.jpg" alt="Cinefex, OCTOBER 2006. Pirates of the Caribbean II, The Fountain, Flags of our Fathers, World Trade Center, Lady in the Water" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/110-B_ht54OI.jpg" alt="Cinefex, JANUARY 2007. Charlotte’s Web, Casino Royale, Eragon, Night at the Museum, Flyboys" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(106)</strong> JULY 2006. Superman Returns, X-Men: The
              Last Stand, Poseidon, V for Vendetta, The Da Vinci Code |
              <strong>(107) </strong>OCTOBER 2006. Pirates of the Caribbean II,
              The Fountain, Flags of our Fathers, World Trade Center, Lady in
              the Water <strong>(108)</strong> JANUARY 2007. Charlotte’s Web,
              Casino Royale, Eragon, Night at the Museum, Flyboys
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/111-CIvnnQz3.jpg" alt="Cinefex, APRIL 2007. Ghost Rider, 300, Pan’s Labyrinth, Zodiac, Apocalypto" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/112-DgfTxCWu.jpg" alt="Cinefex, JULY 2007. Spider-Man III, Pirates of the Caribbean III, Children of Men, The Last Mimzy, Next" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/113-DU0FUNfW.jpg" alt="Cinefex, OCTOBER 2007. Transformers, Harry Potter V, Stardust, Sunshine, Resident Evil III" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(109)</strong> APRIL 2007. Ghost Rider, 300, Pan’s
              Labyrinth, Zodiac, Apocalypto | <strong>(110)</strong> JULY 2007.
              Spider-Man III, Pirates of the Caribbean III, Children of Men, The
              Last Mimzy, Next | <strong>(111)</strong> OCTOBER 2007.
              Transformers, Harry Potter V, Stardust, Sunshine, Resident
              Evil III
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/114-D7o3eTGs.jpg" alt="Cinefex, JANUARY 2008. The Golden Compass, I Am Legend, Beowulf, Enchanted, The Mist" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/115-BNY_UljP.jpg" alt="Cinefex, APRIL 2008. 10,000 B.C., The Spiderwick Chronicles, Cloverfield, Charlie Wilson’s War, Sweeney Todd" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/116-C5o0teKr.jpg" alt="Cinefex, JULY 2008. Iron Man, The Chronicles of Narnia II, Speed Racer, Get Smart, The Incredible Hulk" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(112)</strong> JANUARY 2008. The Golden Compass, I Am
              Legend, Beowulf, Enchanted, The Mist |
              <strong>(113)</strong> APRIL 2008. 10,000 B.C., The Spiderwick
              Chronicles, Cloverfield, Charlie Wilson’s War, Sweeney Todd |
              <strong>(114)</strong> JULY 2008. Iron Man, The Chronicles of
              Narnia II, Speed Racer, Get Smart, The Incredible Hulk
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/117-O2uWr3hV.jpg" alt="Cinefex, OCTOBER 2008. The Dark Knight, Indiana Jones IV, Hellboy II, Hancock" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/118-RE77kfIs.jpg" alt="Cinefex, JANUARY 2009. Benjamin Button, Quantum of Solace, The Day the Earth Stood Still, City of Ember, Stuart Freeborn" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/119-COFAu09w.jpg" alt="Cinefex, APRIL 2009. Watchmen, Coraline, The Spirit, Changeling, Inkheart" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(115)</strong> OCTOBER 2008. The Dark Knight, Indiana
              Jones IV, Hellboy II, Hancock | <strong>(116)</strong> JANUARY
              2009. Benjamin Button, Quantum of Solace, The Day the Earth Stood
              Still, City of Ember, Stuart Freeborn <strong>(117)</strong> APRIL
              2009. Watchmen, Coraline, The Spirit, Changeling, Inkheart
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/120-D2TFFReC.jpg" alt="Cinefex, JULY 2009. Star Trek, Terminator Salvation, X-Men Origins: Wolverine, Angels &amp; Demons" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/121-BRSYIojF.jpg" alt="Cinefex, OCTOBER 2009. Transformers II, G.I. Joe: The Rise of Cobra, Harry Potter VI, District 9, G-Force" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/122-BoC3iQHe.jpg" alt="Cinefex, " width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(118)</strong> JULY 2009. Star Trek, Terminator Salvation,
              X-Men Origins: Wolverine, Angels &amp; Demons
              <strong>(119)</strong> OCTOBER 2009. Transformers II, G.I. Joe:
              The Rise of Cobra, Harry Potter VI, District 9, G-Force <strong                 >(120)</strong>
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/123-Bs_AHESR.jpg" alt="Cinefex, APRIL 2010. The Wolfman, The Imaginarium of Doctor Parnassus, The Lightning Thief" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/124-61l-eZW6.jpg" alt="Cinefex, JULY 2010. Iron Man II, Alice in Wonderland, Clash of the Titans, Splice" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/125-DFGRhyqd.jpg" alt="Cinefex, OCTOBER 2010. Inception, Prince of Persia, The A-Team, The Last Airbender" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(121)</strong> APRIL 2010. The Wolfman, The Imaginarium of
              Doctor Parnassus, The Lightning Thief |
              <strong>(122)</strong> JULY 2010. Iron Man II, Alice in
              Wonderland, Clash of the Titans, Splice |
              <strong>(123)</strong> OCTOBER 2010. Inception, Prince of Persia,
              The A-Team, The Last Airbender
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/126-DoWmXxiQ.jpg" alt="Cinefex, JANUARY 2011. TRON: Legacy, Harry Potter VII: Part 1, The Chronicles of Narnia III, Hereafter" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/127-Cg2tNrqA.jpg" alt="Cinefex, APRIL 2011. Battle: Los Angeles, Rango, Black Swan, Sucker Punch" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/128-B1GYSUXw.jpg" alt="Cinefex, JUNE 2011. X-Men: First Class, Thor, Source Code, Priest" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(124)</strong> JANUARY 2011. TRON: Legacy, Harry Potter
              VII: Part 1, The Chronicles of Narnia III, Hereafter |
              <strong>(125)</strong> APRIL 2011. Battle: Los Angeles, Rango,
              Black Swan, Sucker Punch | <strong>(126)</strong> JUNE 2011.
              X-Men: First Class, Thor, Source Code, Priest
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/129-Bw0UJp4F.jpg" alt="Cinefex, OCTOBER 2011. Captain America, Cowboys &amp; Aliens, Anonymous, Harry Potter VII: Part 2" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/130-ClADtcJ0.jpg" alt="Cinefex, JANUARY 2012. Real Steel, Rise of the Planet of the Apes, Hugo, The Tree of Life" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/131-irOATiQT.jpg" alt="Cinefex, APRIL 2012. John Carter, Mission: Impossible IV, Red Tails, The Adventures of Tintin" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(127) </strong>OCTOBER 2011. Captain America, Cowboys
              &amp; Aliens, Anonymous, Harry Potter VII: Part 2 |
              <strong>(128)</strong> JANUARY 2012. Real Steel, Rise of the
              Planet of the Apes, Hugo, The Tree of Life |
              <strong>(129) </strong>APRIL 2012. John Carter, Mission:
              Impossible IV, Red Tails, The Adventures of Tintin
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/132-Ds59Te3n.gif" alt="Cinefex, JULY 2012. Prometheus, The Avengers, Battleship, Snow White and the Huntsman" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/133-DgSzogI8.jpg" alt="Cinefex, OCTOBER 2012. The Dark Knight Rises, The Amazing Spider-Man, Total Recall, Abraham Lincoln: Vampire Hunter" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/134-BE5BTKcJ.jpg" alt="Cinefex, JANUARY 2013. The Hobbit, Cloud Atlas, Life of Pi, Beasts of the Southern Wildild" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(130)</strong> JULY 2012. Prometheus, The Avengers,
              Battleship, Snow White and the Huntsman |
              <strong>(131)</strong> OCTOBER 2012. The Dark Knight Rises, The
              Amazing Spider-Man, Total Recall, Abraham Lincoln: Vampire Hunter
              | <strong>(132)</strong> JANUARY 2013. The Hobbit, Cloud Atlas,
              Life of Pi, Beasts of the Southern Wildild
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/135-DoIQF2yK.jpg" alt="Cinefex, APRIL 2013. Skyfall, Oz: The Great and Powerful, Jack the Giant Slayer, Les Misérables" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/136-DBbbjdAq.gif" alt="Cinefex, JULY 2013. Iron Man III, Star Trek Into Darkness, Oblivion, White House Down, HENRi" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/137-BZXTS2t-.jpg" alt="Cinefex, OCTOBER 2013. Elysium, World War Z, Pacific Rim, Man of Steel" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(133)</strong> APRIL 2013. Skyfall, Oz: The Great and
              Powerful, Jack the Giant Slayer, Les Misérables |
              <strong>(134)</strong> JULY 2013. Iron Man III, Star Trek Into
              Darkness, Oblivion, White House Down, HENRi |
              <strong>(135)</strong> OCTOBER 2013. Elysium, World War Z, Pacific
              Rim, Man of Steel
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/138-B01g2bAb.jpg" alt="Cinefex, JANUARY 2014. Gravity, Thor: The Dark World, Rush, Carrie" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/139-XNlvB0Wi.jpg" alt="Cinefex, APRIL 2014. Hobbit II, Game of Thrones, RoboCop, Walter Mitty" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/140-DlBIKm_z.gif" alt="Cinefex, JULY 2014. O’Brien vs Dawley, Captain America II, Amazing Spider-Man II, Maleficent, Godzilla" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(136)</strong> JANUARY 2014. Gravity, Thor: The Dark
              World, Rush, Carrie <strong>(137)</strong> APRIL 2014. Hobbit II,
              Game of Thrones, RoboCop, Walter Mitty <strong>(138)</strong> JULY
              2014. O’Brien vs Dawley, Captain America II, Amazing Spider-Man
              II, Maleficent, Godzilla
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/141-QdtFxz2d.jpg" alt="Cinefex, OCTOBER 2014. Dawn of the Planet of the Apes, Guardians of the Galaxy, Edge of Tomorrow, X-Men: Days of Future Past" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/142-CiQGRf6O.jpg" alt="Cinefex, JANUARY 2015. Interstellar, Exodus: Gods and Kings, The Zero Theorem, Q&amp;A: ADI" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/143-n7clqz0Q.jpg" alt="Cinefex, APRIL 2015. Chappie, Hobbit III, Jupiter Ascending, Unbroken" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(139)</strong> OCTOBER 2014. Dawn of the Planet of the
              Apes, Guardians of the Galaxy, Edge of Tomorrow, X-Men: Days of
              Future Past |<strong> (140)</strong> JANUARY 2015. Interstellar,
              Exodus: Gods and Kings, The Zero Theorem, Q&amp;A: ADI |
              <strong>(141) </strong>APRIL 2015. Chappie, Hobbit III, Jupiter
              Ascending, Unbroken
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/144-C6_16IPH.gif" alt="Cinefex, JULY 2015. Jurassic World, Avengers: Age of Ultron, Mad Max: Fury Road, San Andreas" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/145-DRvs9DZr.jpg" alt="Cinefex, OCTOBER 2015. Ant-Man, Terminator Salvation, X-Men Origins: Wolverine, Mission: Impossible — Rogue Nation" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/146-BM54Q2H6.jpg" alt="Cinefex, DECEMBER 2015. The Martian, In the Heart of the Sea, Crimson Peak, Everest" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(142)</strong> JULY 2015. Jurassic World, Avengers: Age of
              Ultron, Mad Max: Fury Road, San Andreas |
              <strong>(143)</strong> OCTOBER 2015. Ant-Man, Terminator
              Salvation, X-Men Origins: Wolverine, Mission: Impossible — Rogue
              Nation | <strong>(144)</strong> DECEMBER 2015. The Martian, In the
              Heart of the Sea, Crimson Peak, Everest
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/147-ez7Zqs1f.jpg" alt="Cinefex, FEBRUARY 2016. Star Wars: The Force Awakens, The Revenant, Spectre, The Finest Hours, Ex Machina" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/148-ggJQ0lG1.jpg" alt="Cinefex, APRIL 2016. Batman v Superman, Deadpool, Hail, Caesar!, The 5th Wave, Gods of Egypt" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/149-DiO004Wd.jpg" alt="Cinefex, JUNE 2016. The Jungle Book, Captain America: Civil War, X-Men: Apocalypse, Alice Through the Looking Glass" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(145)</strong> FEBRUARY 2016. Star Wars: The Force
              Awakens, The Revenant, Spectre, The Finest Hours, Ex Machina |
              <strong>(146)</strong> APRIL 2016. Batman v Superman, Deadpool,
              Hail, Caesar!, The 5th Wave, Gods of Egypt |
              <strong>(147)</strong> JUNE 2016. The Jungle Book, Captain
              America: Civil War, X-Men: Apocalypse, Alice Through the
              Looking Glass
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/150-DG6caxnW.jpg" alt="Cinefex, AUGUST 2016. Star Trek Beyond, Warcraft, Independence Day: Resurgence, The Legend of Tarzan" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/151-r051rGsp.jpg" alt="Cinefex, OCTOBER 2016. The BFG, Suicide Squad, Miss Peregrine, Approaching the Unknown, Ben-Hur" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/152-vJadtRfw.jpg" alt="Cinefex, DECEMBER 2016. Doctor Strange, Fantastic Beasts, Arrival, Allied" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(148)</strong> AUGUST 2016. Star Trek Beyond, Warcraft,
              Independence Day: Resurgence, The Legend of Tarzan
              <strong>(149)</strong> OCTOBER 2016. The BFG, Suicide Squad, Miss
              Peregrine, Approaching the Unknown, Ben-Hur |
              <strong>(150)</strong> DECEMBER 2016. Doctor Strange, Fantastic
              Beasts, Arrival, Allied
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/153-0C8-YA6g.jpg" alt="Cinefex, FEBRUARY 2017. Rogue One, Passengers, A Monster Calls, Westworld, Virtual Reality" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/154-BO5HIaEj.jpg" alt="Cinefex, APRIL 2017. Kong: Skull Island, Logan, A Cure for Wellness, The Great Wall" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/155-EHradLGM.jpg" alt="Cinefex, JUNE 2017. Guardians of the Galaxy Vol. 2, Alien: Covenant, The Fate of the Furious, Life, Ghost in the Shell" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(151)</strong> FEBRUARY 2017. Rogue One, Passengers, A
              Monster Calls, Westworld, Virtual Reality |
              <strong>(152)</strong> APRIL 2017. Kong: Skull Island, Logan, A
              Cure for Wellness, The Great Wall | <strong>(153)</strong> JUNE
              2017. Guardians of the Galaxy Vol. 2, Alien: Covenant, The Fate of
              the Furious, Life, Ghost in the Shell
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/156-Z85HZ9-O.gif" alt="Cinefex, JULY 2017. Spider-Man: Homecoming, War for the Planet of the Apes, Valerian, The Mummy, Pirates of the Caribbean 5" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/157-BLz9_uFM.jpg" alt="Cinefex, OCTOBER 2017. Blade Runner 2049, Dunkirk, The Dark Tower, Kingsman II, Blade Runner Portfolio" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/158-e-Nxpym3.jpg" alt="Cinefex, DECEMBER 2017. Thor: Ragnarok, The Shape of Water, Only the Brave, It, Wonder Woman" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(154)</strong> JULY 2017. Spider-Man: Homecoming, War for
              the Planet of the Apes, Valerian, The Mummy, Pirates of the
              Caribbean 5 | <strong>(155)</strong> OCTOBER 2017. Blade Runner
              2049, Dunkirk, The Dark Tower, Kingsman II, Blade Runner Portfolio
              | <strong>(156)</strong> DECEMBER 2017. Thor: Ragnarok, The Shape
              of Water, Only the Brave, It, Wonder Woman
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/159-CKey4MSc.jpg" alt="Cinefex, FEBRUARY 2018. Star Wars: The Last Jedi, Game of Thrones (Season 7), Jumanji: Welcome to the Jungle, Downsizing" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/160-BJV3B84x.jpg" alt="Cinefex, APRIL 2018. Special All Marvel Issue, Black Panther, MCU: The Big Bang, Q&amp;A: Victoria Alonso, Marvel Art Department" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/161-Buc_RGKo.gif" alt="Cinefex, JUNE 2018. Avengers: Infinity War, Ready Player One, Annihilation, Pacific Rim Uprising" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(157)</strong> FEBRUARY 2018. Star Wars: The Last Jedi,
              Game of Thrones (Season 7), Jumanji: Welcome to the Jungle,
              Downsizing | <strong>(158)</strong> APRIL 2018. Special All Marvel
              Issue, Black Panther, MCU: The Big Bang, Q&amp;A: Victoria Alonso,
              Marvel Art Department | <strong>(159)</strong> JUNE 2018.
              Avengers: Infinity War, Ready Player One, Annihilation, Pacific
              Rim Uprising
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/162-B_Cw2Wl8.jpg" alt="Cinefex, AUGUST 2018. Solo: A Star Wars Story, Ant-Man and the Wasp, Jurassic World: Fallen Kingdom, Deadpool II" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/163-Dh6Z9NWN.jpg" alt="Cinefex, OCTOBER 2018. First Man, Venom, Alpha, A.X.L., The Meg" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/164-BapMteK6.jpg" alt="Cinefex, DECEMBER 2018. Aquaman, Welcome to Marwen, Fantastic Beasts II, 20,000 Leagues Under the Sea, Q&amp;A: Robert Zemeckis" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(160)</strong> AUGUST 2018. Solo: A Star Wars Story,
              Ant-Man and the Wasp, Jurassic World: Fallen Kingdom, Deadpool II
              | <strong>(161)</strong> OCTOBER 2018. First Man, Venom, Alpha,
              A.X.L., The Meg | <strong>(162)</strong> DECEMBER 2018. Aquaman,
              Welcome to Marwen, Fantastic Beasts II, 20,000 Leagues Under the
              Sea, Q&amp;A: Robert Zemeckis
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/165-BJIbVUpf.jpg" alt="Cinefex, FEBRUARY 2019. Alita: Battle Angel, Bumblebee, Mary Poppins Returns, Mortal Engines" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/166-CDVt0UjX.jpg" alt="Cinefex, APRIL 2019. Captain Marvel, Hellboy, Dumbo, Digital Animals" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/167-DrRAX7JJ.jpg" alt="Cinefex, JUNE 2019. Avengers: Endgame, Godzilla: King of the Monsters, X-Men: Dark Phoenix, Pokémon: Detective Pikachu, Good Omens" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(163)</strong> FEBRUARY 2019. Alita: Battle Angel,
              Bumblebee, Mary Poppins Returns, Mortal Engines
              <strong>(164)</strong> APRIL 2019. Captain Marvel, Hellboy, Dumbo,
              Digital Animals | <strong>(165)</strong> JUNE 2019. Avengers:
              Endgame, Godzilla: King of the Monsters, X-Men: Dark Phoenix,
              Pokémon: Detective Pikachu, Good Omens |
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/168-CRgazWn6.jpg" alt="Cinefex, AUGUST 2019. The Lion King, Spider-Man: Far From Home, Game of Thrones (Season 8), Men in Black: International" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/169-BqQAErVo.jpg" alt="Cinefex, OCTOBER 2019. Gemini Man, Ad Astra, Dark Crystal: Age of Resistance, Hobbs &amp; Shaw" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/170-Au_HPPdx.jpg" alt="Cinefex, DECEMBER 2019. Terminator: Dark Fate, Midway, Ford v Ferrari, The Irishman" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(166)</strong> AUGUST 2019. The Lion King, Spider-Man: Far
              From Home, Game of Thrones (Season 8), Men in Black: International
              | <strong>(167)</strong> OCTOBER 2019. Gemini Man, Ad Astra, Dark
              Crystal: Age of Resistance, Hobbs &amp; Shaw |
              <strong>(168)</strong> DECEMBER 2019. Terminator: Dark Fate,
              Midway, Ford v Ferrari, The Irishman
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/171-DyDZp9z6.jpg" alt="Cinefex, DECEMBER 2019. Terminator: Dark Fate, Midway, Ford v Ferrari, The Irishman" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/172-D-xfxi5y.jpg" alt="Cinefex, APRIL 2020. Mulan, 1917, The New Mutants, Watchmen, Underwater" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(169)</strong> DECEMBER 2019. Terminator: Dark Fate,
              Midway, Ford v Ferrari, The Irishman |
              <strong>(170)</strong> APRIL 2020. Mulan, 1917, The New Mutants,
              Watchmen, Underwater
            </figcaption>
          </figure>
          <figure>
            <div class="fl-grid">
              <img src="https://codyburleson.com/assets/173-TnUE08jm.jpg" alt="Cinefex, JUNE 2020. Devs, Star Trek: Picard, Tales from the Loop, The Boys, Altered Carbon, Westworld" width="190" height="169" loading="lazy" decoding="async">
              <img src="https://codyburleson.com/assets/174-8RH17YKM.jpg" alt="Cinefex, FEBRUARY 2021. The Mandalorian, The Stand, Star Trek: Discovery, Mank, Raised by Wolves" width="190" height="169" loading="lazy" decoding="async">
            </div>
            <figcaption>
              <strong>(171)</strong> JUNE 2020. Devs, Star Trek: Picard, Tales
              from the Loop, The Boys, Altered Carbon, Westworld |
              <strong>(172)</strong> FEBRUARY 2021. The Mandalorian, The Stand,
              Star Trek: Discovery, Mank, Raised by Wolves
            </figcaption>
          </figure>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/cinefex-a-legacy-of-movie-magic-de17a4a0c860">Medium</a>
          on <time datetime="2024-12-30">December 30, 2024</time>.
        </p>]]></content:encoded>
    </item>
    <item>
      <title>My Recipe for Managing Contacts in Obsidian</title>
      <link>https://codyburleson.com/blog/my-recipe-for-managing-contacts-in-obsidian</link>
      <guid isPermaLink="true">https://codyburleson.com/blog/my-recipe-for-managing-contacts-in-obsidian</guid>
      <pubDate>Sat, 29 Jun 2024 00:00:00 GMT</pubDate>
      <description>Because people should be “first-class citizens” in your knowledge vault, just as they are in your life.</description>
      <content:encoded><![CDATA[<div class="fl-prose">
          <p>
            <strong               >In this article, I share my personal recipe for managing contacts
              in Obsidian.</strong>
          </p>
          <p><em>Last Modified: Aug 29, 2024</em></p>
          <figure>
            <img src="https://codyburleson.com/assets/01-C-2yrAZK.jpg" alt width="4272" height="2848" loading="lazy" decoding="async">
            <figcaption>
              Photo by Hannah Nelson:
              <a href="https://www.pexels.com/photo/four-women-in-front-of-green-bushes-1037989/">https://www.pexels.com/photo/four-women-in-front-of-green-bushes-1037989/</a>
            </figcaption>
          </figure>
          <p>
            If you’re wondering why one would do such a seemingly ludicrous
            thing as managing contacts in Obsidian (as opposed to using a
            purpose-built contacts app or back-office app like Microsoft
            Outlook), then take a look first at my previous article,
            <a href="https://codyburleson.com/blog/contacts-in-obsidian-heck-yeah">Contacts in Obsidian? Heck yeah!</a>
            where I described my top 6 reasons. Here they are again, in short:
          </p>
          <p><strong>Why Manage Contacts in Obsidian?</strong></p>
          <p>
            1. Query and report on people and their properties.<br>2. Search
            by specific metadata properties.<br>3. Classify and organize
            people into membership groups.<br>4. Link and browse people by
            their relationship to things and to one another.<br>5. Take rich
            notes that promote good relationship habits such as the “Follow
            Up.”<br>6. Provide a single point of access to A.I. agents for
            Retrieval Augmented Generation (RAG).
          </p>
          <p>
            OK, this is a recipe, not an essay, so let’s get straight to it.
          </p>
          <h2>Folders</h2>
          <p>
            In my system, I use the concept or class “Person” to represent
            instances of people (each with contact information, among other
            things).
          </p>
          <p>
            Wherever it fits in your own vault’s file structure, create a parent
            folder called <em>Persons </em>with the following recommended child
            folders for alphabetically organized entries:
          </p>
          <p>
            📂 Persons<br>….📁 A — C<br>….📁 D — F<br>….📁 G — J<br>….📁
            K — M<br>….📁 N — R<br>….📁 S — T<br>….📁 U — Z<br>📂
            Templates
          </p>
          <p>
            In my system, I title and organize Person instances by first name
            first (“John Doe” not “Doe, John”). This is important because when I
            am creating notes, I link people’s names when I mention them in my
            notes and I want the text of those links to read naturally as shown
            below.
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/02-duiK3y2A.png" alt width="1114" height="279" loading="lazy" decoding="async">
          </figure>
          <p>
            With that in mind, my alphabetical grouping of folders aims to
            balance the number of entries per folder. By analyzing common first
            names, we can determine that certain letters, like “A”, “M”, and
            “S”, are more common, so they are paired with fewer letters to
            maintain balance. This set is purposely limited to “<a href="https://en.wikipedia.org/wiki/The_Magical_Number_Seven%2C_Plus_or_Minus_Two">Miller’s Magical Number 7</a>,” but feel free to break the groups into more detail or to adjust
            them to better fit your own records.
          </p>
          <p>
            I also recommend creating a “Templates” folder somewhere, if you
            don’t already have one. You’ll need it for storing the Person
            template document, described next.
          </p>
          <h2>Person Template</h2>
          <p>
            Create a new markdown file in the Templates folder called
            “Template — Person”.
          </p>
          <p>📂 Templates<br>….📄 Template — Person</p>
          <h3>Common Contact Properties</h3>
          <p>
            Because we’re going to be querying across our
            <em>Person</em> documents, it is important that they share a set of
            common properties. At a minimum, these properties should reflect the
            common properties you would normally find for a contact record, plus
            any special properties you care to add. A standard set of common
            properties can be found on the
            <a href="https://schema.org/Person">Schema.org type for Person</a>.
          </p>
          <ul>
            <li>
              <em>givenName</em> — Given name. In the U.S., the first name of a
              Person.
            </li>
            <li>
              <em>familyName</em> — Family name. In the U.S., the last name of a
              Person.
            </li>
            <li>
              <em>jobTitle</em> — The job title of the person (for example,
              Financial Manager).
            </li>
            <li><em>email</em> — Email address.</li>
            <li><em>email2</em> — Secondary email address.</li>
            <li><em>telephone</em> — The telephone number.</li>
            <li>
              <em>streetAddress</em> — The street address. For example, 1600
              Amphitheatre Pkwy.
            </li>
            <li><em>city</em> — Center of population, town, municipality.</li>
            <li>
              <em>stateOrProvince</em> — Region within a country; states are
              found in the U.S. and provinces are found in countries like Canada
              and Italy.
            </li>
            <li><em>postalCode</em> — The postal code. For example, 94043.</li>
            <li>
              <em>country</em> — The nation as a distinct part of the world.
            </li>
            <li><em>birthDate</em> — Date of birth.</li>
          </ul>
          <figure>
            <img src="https://codyburleson.com/assets/03-Dj--qAqB.png" alt width="1140" height="1262" loading="lazy" decoding="async">
            <figcaption>Common properties, from my Person template.</figcaption>
          </figure>
          <p>
            Note that the template is tagged with <em>#type/Person</em> to
            identify its type. This helps when browsing and searching people by
            tags and by
            <a href="https://blacksmithgu.github.io/obsidian-dataview/">Dataview plugin</a>
            queries.
          </p>
          <p>
            Note that I do not include the common “company” property. That is
            because I use the “tags” property and apply an
            <em>Organization </em>membership tag for this purpose. More on that
            later.
          </p>
          <p>
            Note also that, for property names, I prefer the lower camel case
            capitalization style (with no spaces) as it conforms to the
            <a href="https://en.wikipedia.org/wiki/Resource_Description_Framework">Resource Description Framework</a>
            standards established by the W3C (keeping your data more compatible
            with future plugins and A.I. systems that may leverage Semantic Web
            standards).
          </p>
          <h3>
            Templater Trick: Optionally Prompt for a Title and Automatically
            Move the File
          </h3>
          <p>
            If you use the
            <a href="https://github.com/SilentVoid13/Templater">Templater plugin for Obsidian</a>, you can use the following snippet. When you create a new file
            using the <em>Person </em>template, you will be prompted for the
            name and that name will be used for both the name of the file and
            the page title (heading 1). Additionally, based on the name, the
            file will be automatically moved into a new folder of the same name,
            within the appropriate alphabetical classification.
          </p>
          <p>
            A parent folder is created for each person instance so that
            attachments and future files related to the person will have a
            logical home. This especially works well when you use the
            <a href="https://github.com/LostPaul/obsidian-folder-notes">Folder notes plugin</a>
            because then, when you click on a person folder, it will
            automatically open the folder note, which bears the same file name.
          </p>
          <pre><code data-language="javascript">&lt;%*
let title = tp.file.title
if ( title.startsWith("Untitled") ) {
 title = await tp.system.prompt("Person name (first last): ") 
 await tp.file.rename(title) 
}

let firstLetter = title.charAt(0).toUpperCase()
let folder = ""

if (firstLetter &gt;= "A" &amp;&amp; firstLetter &lt;= "C") {
 folder = "3 Resources/Persons/A - C"
} else if (firstLetter &gt;= "D" &amp;&amp; firstLetter &lt;= "F") {
 folder = "3 Resources/Persons/D - F"
} else if (firstLetter &gt;= "G" &amp;&amp; firstLetter &lt;= "J") {
 folder = "3 Resources/Persons/G - J"
} else if (firstLetter &gt;= "K" &amp;&amp; firstLetter &lt;= "M") {
 folder = "3 Resources/Persons/K - M"
} else if (firstLetter &gt;= "N" &amp;&amp; firstLetter &lt;= "R") {
 folder = "3 Resources/Persons/N - R"
} else if (firstLetter &gt;= "S" &amp;&amp; firstLetter &lt;= "T") {
 folder = "3 Resources/Persons/S - T"
} else if (firstLetter &gt;= "U" &amp;&amp; firstLetter &lt;= "Z") {
 folder = "3 Resources/Persons/U - Z"
}

// Move the file to the appropriate folder
await tp.file.move(folder + "/" + title + "/" + title)
%&gt;

# &lt;% title %&gt;</code></pre>
          <p>
            Note: If you use the
            <a href="https://github.com/dvcrn/obsidian-filename-heading-sync">Filename Heading Sync plugin</a>, you should disable it temporarily when creating using the snippet
            above or your file will be renamed to “&lt;% title %&gt;,” which, of
            course, you probably don’t want. Once you create the template, you
            can re-enable the plugin.
          </p>
          <h3>Add Section Headers to Taste</h3>
          <p>
            In addition to frontmatter properties, you can add section headers
            to your Person template, which will act as placeholders and
            reminders for the kinds of notes you might keep about a given
            person.
          </p>
          <figure>
            <img src="https://codyburleson.com/assets/04-C9iu41to.png" alt width="1129" height="767" loading="lazy" decoding="async">
          </figure>
          <p>
            My personal favorite is the heading “Follow Up,” which reminds me of
            things I need to discuss with a given person when we meet again.
            This works for me because I’ve made a habit of opening a given
            person’s document every time we connect. I also like “Quotes” for
            recording the notable, memorable, powerful, or just funny words a
            person has said.
          </p>
          <p>
            Personally, that’s it for me. I otherwise like to keep my notes for
            a given person freeform and ad-hoc. But, in case you want some
            ideas, I’ve taken a look at some of the templates other Obsidian
            users have published and asked ChatGPT for some ideas. I’ve compiled
            those together with my own in the list below:
          </p>
          <p><strong>Optional Person Section Headers</strong></p>
          <ul>
            <li>Follow Up</li>
            <li>Quotes</li>
            <li>Key Relationships</li>
            <li>Quick Bio</li>
            <li>Personal Background</li>
            <li>Professional Background</li>
            <li>Skills</li>
            <li>Defining Work</li>
            <li>Notable Achievements</li>
            <li>Links</li>
            <li>Social Media Profiles</li>
            <li>Education</li>
            <li>Hobbies and Interests</li>
            <li>Strengths</li>
            <li>Weaknesses</li>
            <li>Goals</li>
            <li>Projects</li>
            <li>Publications</li>
            <li>Awards and Honors</li>
            <li>Meeting Notes</li>
            <li>Communication Preferences</li>
          </ul>
          <h2>Create Query Views</h2>
          <p>
            Now we can use various Dataview plugin queries to aggregate our
            contact data into handy views. Following is one example that gives
            us a list of email addresses for all contacts at a glance. Refer to
            the
            <a href="https://blacksmithgu.github.io/obsidian-dataview/">Dataview plugin documentation</a>
            and the <a href="https://forum.obsidian.md/">Obsidian Forum</a> to
            learn how to create more advanced Dataview queries.
          </p>
          <pre><code>```dataview  
TABLE WITHOUT ID  
file.link AS Person,  
email AS Email,
phone AS Phone
FROM #type/person AND -"System/Templates"  
SORT file.name asc  
```</code></pre>
          <p>
            In the query shown above, <em>-“System/Templates”</em> prevents the
            template document from showing up in the query results (assuming the
            template is stored in that path; change this to suit your own path
            accordingly).
          </p>
          <h2>Grouping with Tags</h2>
          <p>
            To organize people into groups, you can tag them. For this, I create
            a tag hierarchy that begins with the tag, <em>#memberOf</em>. For
            example:
          </p>
          <p><em>#memberOf/usmc/1–3/delta/3rd-platoon/3rd-squad</em></p>
          <p>
            Such a tag makes the person browsable by the full hierarchy of tags.
            If I click the “usmc” tag in the tag browser, the person will be
            returned. Likewise, the person will be returned by the tag
            <em>#usmc/1–3</em>, by <em>#usmc/1–3/delta</em>, by
            <em>#usmc/delta/3rd-platoon</em> and so forth.
          </p>
          <p>
            Another way to group people is to create Organization pages and then
            just link to person instances from an Organization instance. This
            technique is known as a MOC (Map of Content). While it gives forward
            and backlinks from both the Person and the Organization pages, I
            find the maintenance with this approach to be a little too
            cumbersome.
          </p>
          <h2>Conclusion</h2>
          <p>
            In this article, I shared my personal recipe for managing contacts
            (Persons) in Obsidian.
          </p>
          <p>
            The people I know are “first-class citizens” in my knowledge vault,
            just as they are in my life. My Obsidian <em>Person </em>instances
            (markdown documents of <em>#type/person</em>) not only give me quick
            access to contact information, but also allow me to relate and
            integrate primary Person entities throughout all of my notes. This
            turns each Person page into a “topic hub” where I can easily see all
            the information I’ve related to a given person over time.
          </p>
          <p>
            I hope this recipe gives you some ideas or a solid start in creating
            the system that works for you!
          </p>
        </div>
        <p class="fl-text-sm fl-text-muted">
          First published on
          <a href="https://medium.com/@cody.burleson/my-recipe-for-managing-contacts-in-obsidian-a6156fe4787e">Medium</a>
          on <time datetime="2024-06-29">June 29, 2024</time>.
        </p>]]></content:encoded>
    </item>
  </channel>
</rss>
