<?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>
