1<!doctype html> <html lang="en"> <head> <title>THEO'S DIGITAL GARDEN - HOME</title> <meta charset="utf-8"> 2<!-- This site is hosted on Netlify. Anyone can build and deploy a site 3 like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=c5979dfe-6aef-4be7-96fc-aae4112e5270 4 Netlify hosting facts for this site: static/SSR served via Netlify Edge. --> <meta name="viewport" content="width=device-width,initial-scale=1">
4<script type="importmap"> { 5 "imports": { 6 "d3-force": "https://cdn.jsdelivr.net/npm/[email protected]/+esm", 7 "d3-selection": "https://cdn.jsdelivr.net/npm/[email protected]/+esm", 8 "d3-zoom": "https://cdn.jsdelivr.net/npm/[email protected]/+esm", 9 "d3-drag": "https://cdn.jsdelivr.net/npm/[email protected]/+esm" 10 } 11} </script>
11
11<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/pixi.min.js"></script>
11
11<script async type="module">import mermaid from"https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs";mermaid.initialize({startOnLoad:!0})</script>
11
11<script async src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/prism.min.js" integrity="sha512-hpZ5pDCF2bRCweL5WoA0/N1elet1KYL5mx3LP555Eg/0ZguaHawxNvEjF6O3rufAChs16HVNhEc6blF/rZoowQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
11
11<script async src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/plugins/autoloader/prism-autoloader.min.js" integrity="sha512-sv0slik/5O0JIPdLBCR2A3XDg/1U3WuDEheZfI/DI5n8Yqc3h5kjrnr46FGBNiUAJF7rE4LHKwQ/SoSLRKAxEA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
11
11<script>window.addEventListener("load",(()=>{document.querySelectorAll(".callout").forEach((e=>{const t=getComputedStyle(e).getPropertyValue("--callout-icon"),l=t&&t.trim().replace(/^lucide-/,"");if(l){const t=e.querySelector(".callout-title");if(t){const e=document.createElement("div"),c=document.createElement("i");e.appendChild(c),c.setAttribute("data-lucide",l),e.setAttribute("class","callout-icon"),t.insertBefore(e,t.firstChild)}}})),lucide.createIcons(),Array.from(document.querySelectorAll(".callout.is-collapsible")).forEach((e=>{e.querySelector(".callout-title").addEventListener("click",(t=>{e.classList.contains("is-collapsed")?e.classList.remove("is-collapsed"):e.classList.add("is-collapsed")}))}))}))</script>
11
11<script defer="defer" src="https://fastly.jsdelivr.net/npm/@alpinejs/[email protected]/dist/cdn.min.js"></script>
11
11<script defer="defer" src="https://fastly.jsdelivr.net/npm/[email protected]/dist/cdn.min.js"></script>
11 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/themes/prism-okaidia.min.css" integrity="sha512-mIs9kKbaw6JZFfSuo+MovjU+Ntggfoj8RwAmJbVXQ5mkAX5LlgETQEweFPI18humSPHymTb5iikEOKWF7I8ncQ==" crossorigin="anonymous" referrerpolicy="no-referrer" async>
11<script src="https://fastly.jsdelivr.net/npm/[email protected]/dist/fetch.umd.min.js" crossorigin="anonymous" referrerpolicy="no-referrer" async></script>
11 <link href="/styles/obsidian-base.css" rel="stylesheet"> <link href="/styles/_theme.0d0ab381.css" rel="stylesheet"> <link href="/styles/digital-garden-base.css" rel="stylesheet"> <link href="/styles/custom-style.css" rel="stylesheet"> <link rel="icon" href="/favicon.ico" sizes="any"> <link rel="icon" href="/favicon.svg" type="image/svg+xml"> <link rel="apple-touch-icon" href="/apple-touch-icon.png"> <link rel="manifest" href="/manifest.webmanifest"> <style></style> <style></style> </head> <body class="theme-dark markdown-preview-view markdown-rendered markdown-preview-section css-settings-manager theme-dark mod-windows is-frameless is-hidden-frameless obsidian-app styled-scrollbars is-maximized show-inline-title show-ribbon show-view-header outliner-plugin-dnd css-settings-manager pdf-plus-click-embed-to-open-link pdf-plus-backlink-selection-highlight hide-pdf-embed-toolbar hide-pdf-toolbar-in-hover-editor anp-theme-ext-light ctp-notion-light ctp-atom-dark check-color vt-hide-sidebars vt-show-active-tabs vt-exclude-self vt-trim-tab-names vt-show-more-buttons vt-use-tab-editing vt-auto-hide-tabs vt-enable-tab-zoom vt-mission-control-view-disable-pointer folder-notes-plugin hide-folder-note folder-note-underline folder-note-underline-path fn-whitespace-stop-collapsing version-1-7-2 is-focused"> <div x-init="isDesktop = (window.innerWidth>=1000) ? true: false;" x-on:resize.window="isDesktop = (window.innerWidth>=1000) ? true : false;" x-data="{isDesktop: true, showFilesMobile: false}"> <div x-show.important="!isDesktop" style="display:none"> <nav class="navbar"> <div class="navbar-inner"> <span style="font-size:1.5rem;margin-right:10px" @click="showFilesMobile=!showFilesMobile"><i data-lucide="menu"></i></span> <a href="/" style="text-decoration:none;text-align:center"> <h1 style="margin:15px!important">Theo's Digital Garden</h1> </a> </div> <div class="navbar-actions"> <div class="search-button align-icon" onclick="toggleSearch()"> <span class="search-icon"> <i data-lucide="search"></i> </span> <span class="search-text">Search</span> <span class="search-keys"><code>Ctrl</code> + <code>K</code></span> </div> <button type="button" class="page-panel-toggle" aria-controls="page-panel" aria-expanded="false" aria-label="On this page" title="On this page"> <i data-lucide="panel-right"></i> </button> </div> </nav> </div> <div x-show="showFilesMobile && !isDesktop" @click="showFilesMobile = false" style="display:none" class="fullpage-overlay"></div> <div class="filetree-wrapper" x-show.important="isDesktop || showFilesMobile" style="display:none"> <nav class="filetree-sidebar"> <a href="/" style="text-decoration:none;text-align:center"> <h1 style="text-align:center">Theo's Digital Garden</h1> </a> <div class="search-button align-icon" onclick="toggleSearch()"> <span class="search-icon"> <i data-lucide="search"></i> </span> <span class="search-text">Search</span> <span class="search-keys"><code>Ctrl</code> + <code>K</code></span> </div> <div class="folder" x-data="{isOpen: true}"> <div x-show="isOpen" style="display:none" class=""> <div class="folder inner-folder" x-data="{isOpen: $persist(false).as("DIGITAL GARDEN")}" @click.stop="isOpen=!isOpen"> <div class="foldername-wrapper align-icon"> <i x-show="isOpen" style="display:none" data-lucide="chevron-down"></i> <i x-show="!isOpen" data-lucide="chevron-right"></i> <span class="foldername">DIGITAL GARDEN</span> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink active-note"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/">THEO'S DIGITAL GARDEN - HOME </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - AEGEAN CODE ENTERPRISE - DER ERSTE PFEIL/">DG - AEGEAN CODE ENTERPRISE - DER ERSTE PFEIL </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - ATHENS24 - PRELUDE/">DG - ATHENS24 - PRELUDE </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - ATHENS24 - THE FADING TRACE/">DG - ATHENS24 - THE FADING TRACE </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - BERLIN24 - FILMIC DRIFTS/">DG - BERLIN24 - FILMIC DRIFTS </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - BERLIN - ANGELUS NOVUS/">DG - BERLIN - ANGELUS NOVUS </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - BMCC6K - Das neue Kino-Eye/">DG - BMCC6K - Das neue Kino-Eye </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - BREAK THE PATTERN - DISRUPT. CREATE. EVOLVE/">DG - Break the Pattern - Disrupt. Create. Evolve </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - BRUNSBERG SKOG - HOLZWEGE/">BRUNSBERG23 - SKOG - HOLZWEGE </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - CASA DEL VIGNAIOLO - SONGLINES OF BECOMING/">DG - CASA DEL VIGNAIOLO - SONGLINES OF BECOMING </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - CREATIVITY IN FLOW - A FILMIC CONCEPT/">DG - CREATIVITY IN FLOW - A FILMIC CONCEPT </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - DANZIG - A FLOWING PALIMPSEST/">DG - DANZIG - A FLOWING PALIMPSEST </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - DE-CONSTRUCTION RE-CONSTRUCTION/">DG - DE-CONSTRUCTION RE-CONSTRUCTION </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Die Kartografie der Erneuerung/">DG - Die Kartografie der Erneuerung - Ãber das Reisen als existenzielle Transformation </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Die Kunst der Schwellenarbeit/">DG - Die Kunst der Schwellenarbeit </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Die Kunst des Lebens - Eine Ãsthetik der Existenz/">DG - Die Kunst des Lebens - Eine Ãsthetik der Existenz </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Die Kunst des Lebens/">DG - Die Kunst des Lebens </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Die Kunst des Sehens/">DG - Die Kunst des Sehens </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Die Poetik der Rückkehr/">DG - Die Poetik der Rückkehr </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Die Poetik der Schwellen/">DG - Die Poetik der Schwellen </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Die Poetik der Skizze/">DG - Die Poetik der Skizze </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - DIE TRAJEKTORIE DES GEISTES/">DG - DIE TRAJEKTORIE DES GEISTES </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Die Ãsthetik der Lichtspuren/">DG - Die Ãsthetik der Lichtspuren </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - EC
11HOES OF OBLIVION/">DG - Echoes of Oblivion - A Journey Through Memory and Place </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - ENDLESS LOOP - DAS KONZEPT/">DG - ENDLESS LOOP - DAS KONZEPT </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - FINIS ULTIMUS - Lisbon and the Geography of the Self/">DG - FINIS ULTIMUS: Lisbon and the Geography of the Self </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - FROM PALIMPSEST TO ANAGRAM/">DG - The Architecture of Shattered Stone </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Geografien des Unsichtbaren/">DG - Geografien des Unsichtbaren </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - GEOGRAPHIES OF THE SELF â REFLECTIONS IN TRANSIT/">DG - GEOGRAPHIES OF THE SELF â REFLECTIONS IN TRANSIT </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - GOETHES GARTENHAUS - EIN ORT DER KUNST/">DG - GOETHES GARTENHAUS - EIN ORT DER KUNST </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - HUMANISM IN THE AGE OF CRISIS/">DG - HUMANISM IN THE AGE OF CRISIS </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Identity Without Essence/">DG - Identity Without Essence </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - IDENTITÃTEN IN DER POSTMODERNE/">DG - IDENTITÃTEN IN DER POSTMODERNE </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Kartografien des Werdens/">DG - Kartografien des Werdens </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Mapping the Invisible/">DG - Mapping the Invisible </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - MASARI - FRAGMENTS OF A CREATIVE RETREAT/">DG - MASARI - FRAGMENTS OF A CREATIVE RETREAT </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Mentale Gefängnisse - Ãber die Konstruktion und Befreiung der Wirklichkeit/">DG - Mentale Gefängnisse - Ãber die Konstruktion und Befreiung der Wirklichkeit </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Needs vs. Wants in the Creative Process/">DG - Needs vs. Wants in the Creative Process â The Tension That Fuels Art </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - NOSTOS ALS UTOPIA - Eine Topographie des Unbehausten/">DG - NOSTOS ALS UTOPIA - Eine Topographie des Unbehausten </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - OPORTO25 - The Signature of Flow/">OPORTO25 - The Signature of Flow - A Porto Meditation </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Poiesis of the Self â The Filmic Gaze and the Art of Self-Invention/">DG - Poiesis of the Self â The Filmic Gaze and the Art of Self-Invention </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Postbiographien - Leben zwischen Fiktion, Fragment und Entwurf/">DG - Postbiographien - Leben zwischen Fiktion, Fragment und Entwurf </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - PROCESS IS MESSY/">DG - PROCESS IS MESSY </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - REVISION, RECONSIDER, RETHINK, REWRITE, RECONSTRUCT, RECREATE/">DG - REVISION, RECONSIDER, RETHINK, REWRITE, RECONSTRUCT, RECREATE </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - ROMANTICISM 2.0 - THE UNOPTIMIZED SELF/">DG - ROMANTICISM 2.0 - THE UNOPTIMIZED SELF </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - RSSE 2.0/">DG - RSSE 2.0 </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - SAXA LOQUUNTUR- COLONIA PENA
11LE AGRICOLA/">DG - SAXA LOQUUNTUR- COLONIA PENALE AGRICOLA </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - THE ALCHEMY OF VISION/">DG - THE ALCHEMY OF VISION </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - The Architecture of Shattered Stone/">DG - The Architecture of Shattered Stone </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - The Architecture of the Arc - Priors, Bias, and the Logic of Transformation/">DG - The Architecture of the Arc - Priors, Bias, and the Logic of Transformation </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - The Nomadic Self - Reise als Spiegel der Seele/">DG - The Nomadic Self â Reise als Spiegel der Seele </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - THE ORIGINS OF IMAGES â CONCEPT AND LEITMOTIFS/">DG - THE ORIGINS OF IMAGES â CONCEPT & LEITMOTIFS </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Traces of Becoming/">DG - Traces of Becoming </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - UNCANNY SPACES - Ein filmisches Konzept/">DG - UNCANNY SPACES - Ein filmisches Konzept </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Unsichtbare Pfade der Geschichte/">DG - Unsichtbare Pfade der Geschichte </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - Via Negativa of Creativity - From Darkness to Creation/">DG - Via Negativa of Creativity - From Darkness to Creation </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - WARUM ICH DIE SCHAUFEL NIEDERGELEGT HABE/">DG - WARUM ICH DIE SCHAUFEL NIEDERGELEGT HABE </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - WARWISCH - EIN RESONANZRAUM FÃR DIE SEELE/">DG - WARWISCH - EIN RESONANZRAUM FÃR DIE SEELE </a> </div> </div> <div x-show="isOpen" style="display:none" class="filelist"> <div @click.stop class="notelink"> <a data-note-icon="2" style="text-decoration:none" class="filename" href="/DIGITAL GARDEN/DG - What I Read/">DG - What I Read? </a> </div> </div> </div> </div> </div> </nav> </div> </div> <main class="content cm-s-obsidian print"> <header> <div class="header-meta"> <div class="header-tags"> <a class="tag"> #DIGITALGARDEN </a> <a class="tag"> #DigitalContent </a> <a class="tag"> #digital/creator </a> <a class="tag"> ##DG2024AD00 </a> <a class="tag"> #DG2024AD01 </a> <a class="tag"> #2025AD/substack </a> <a class="tag"> #content/DigitalGarden </a> </div> </div> </header> <h1 id="theo-s-digital-garden-home" tabindex="-1">THEO'S DIGITAL GARDEN - HOME</h1> <hr> <p><picture src="/img/user/999%20Attachements/images.ME/DIGITAL%20GARDEN%20-%20HOME-20240616113500965.jpg" alt="DIGITAL GARDEN - HOME-20240616113500965.jpg"><source media="(max-width:480px)" srcset="/img/optimized/R28bFviFSx-500.webp" type="image/webp"> <source media="(max-width:480px)" srcset="/img/optimized/R28bFviFSx-500.jpeg"> <source media="(max-width:1920px)" srcset="/img/optimized/R28bFviFSx-700.webp" type="image/webp"><source media="(max-width:1920px)" srcset="/img/optimized/R28bFviFSx-700.jpeg"><img class="" src="/img/user/999%20Attachements/images.ME/DIGITAL%20GARDEN%20-%20HOME-20240616113500965.jpg" alt="DIGITAL GARDEN - HOME-20240616113500965.jpg" width=""></picture></p> <hr> <h2 id="span-style-color-e2725b-strong-welcome-to-theo-s-digital-garden-strong-span" tabindex="-1">ð±ðð¥ <span style="color:#e2725b"><strong>Welcome to Theo's Digital Garden</strong></span></h2> <p>Welcome, fellow explorers, to my evolving <strong>Digital Garden</strong>âa space where creativity, philosophy, and storytelling converge.</p> <p>This garden is a <strong>living archive</strong> of ideas, experiments, and evolving thoughts. In a world obsessed with polished perfection, I embrace the raw, unfinished, and ever-changingâ<strong>thinking in public</strong> as a continuous journey through creativity, cultural narratives, and artistic expression.</p> <p>As a <strong>travel writer, filmmaker, theorist, and visual artist</strong>, I explore the intersections of <strong>travel, storytelling, art, and digital preservation</strong>. My goal is to <strong>cultivate ideas</strong>âplanting seeds in this intellectual landscape, refining them through reflection, and nurturing them into deeper insights.</p> <p>This garden also serves as an experiment in <strong>Public Personal Knowledge Management</strong>âa way of working out loud, sharing thoughts as they emerge, and letting curiosity guide the structure. Rather than hiding the process, I invite you into itâbecause knowledge thrives in <strong>open, evolving ecosystems</strong>.</p> <p>But more than a collection of thoughts, this garden is a <strong>call to action</strong>. I want to inspire you to build your own <strong>digital spaces</strong>âto create, document, and explore beyond the shallow scroll of social media. In an era where attention is currency, I believe in a <strong>
11hybrid path</strong>: one that honors <strong>creative sovereignty</strong> and sustains <strong>authentic expression</strong>.</p> <p>This site is rooted in modular thoughtsâ<strong>SEEDS</strong>âand built using <a href="https://obsidian.md/" target="_blank" class="external-link">Obsidian</a>, <a href="https://app.netlify.com/" target="_blank" class="external-link">Netlify</a>, and the <a href="https://github.com/oleeskild/obsidian-digital-garden" target="_blank" class="external-link">Obsidian Digital Garden</a>, all hosted on <a href="https://github.com/" target="_blank" class="external-link">GitHub</a>.</p> <p>Enough preambleâstep in. Letâs explore this <strong>labyrinth of ideas</strong> together. ðð</p> <hr> <h2 id="traces-of-thought" tabindex="-1">ð Traces of Thought</h2> <p><strong><em>An unfolding map of reflections, experiments, and signals from the edgeâwhere storytelling meets philosophy and the digital becomes personal.</em></strong></p> <div class="table-wrapper"><table><thead><tr><th>ð Entry</th><th>ð</th><th>âï¸Status</th></tr></thead><tbody><tr><td><a class="internal-link" href="digital garden/dg - from palimpsest to anagram/">DG - FROM PALIMPSEST TO ANAGRAM</a></td><td>01.10.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - aegean code enterprise - der erste pfeil/">DG - AEGEAN CODE ENTERPRISE - DER ERSTE PFEIL</a></td><td>23.09.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - warum ich die schaufel niedergelegt habe/">DG - WARUM ICH DIE SCHAUFEL NIEDERGELEGT HABE</a></td><td>17.09.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - the architecture of shattered stone/">DG - The Architecture of Shattered Stone</a></td><td>20.08.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die kartografie der erneuerung/">DG - Die Kartografie der Erneuerung</a></td><td>24.07.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - the alchemy of vision/">DG - THE ALCHEMY OF VISION</a></td><td>07.05.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - finis ultimus - lisbon and the geography of the self/">DG - FINIS ULTIMUS - Lisbon and the Geography of the Self</a></td><td>27.02.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - the architecture of the arc - priors, bias, and the logic of transformation/">DG - The Architecture of the Arc - Priors, Bias, and the Logic of Transformation</a></td><td>14.02.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - geographies of the self â reflections in transit/">DG - GEOGRAPHIES OF THE SELF â REFLECTIONS IN TRANSIT</a></td><td>12.02.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - poiesis of the self â the filmic gaze and the art of self-invention/">DG - Poiesis of the Self â The Filmic Gaze and the Art of Self-Invention</a></td><td>12.02.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - identity without essence/">DG - Identity Without Essence</a></td><td>09.02.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - brunsberg skog - holzwege/">DG - BRUNSBERG SKOG - HOLZWEGE</a></td><td>06.02.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die kunst der schwellenarbeit/">DG - Die Kunst der Schwellenarbeit</a></td><td>05.02.2026</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - casa del vignaiolo - songlines of becoming/">DG - CASA DEL VIGNAIOLO - SONGLINES OF BECOMING</a></td><td>13.11.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - traces of becoming/">DG - Traces of Becoming</a></td><td>15.10.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - athens24 - the fading trace/">DG - ATHENS24 - THE FADING TRACE</a></td><td>03.09.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die kunst des lebens - eine ästhetik der existenz/">DG - Die Kunst des Lebens - Eine Ãsthetik der Existenz</a></td><td>30.08.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die kunst des lebens/">DG - Die Kunst des Lebens</a></td><td>20.08.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die kunst des sehens/">DG - Die Kunst des Sehens</a></td><td>20.08.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die poetik der schwellen/">DG - Die Poetik der Schwellen</a></td><td>18.08.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - mapping the invisible/">DG - Mapping the Invisible</a></td><td>01.08.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die trajektorie des geistes/">DG - DIE TRAJEKTORIE DES GEISTES</a></td><td>24.07.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die poetik der skizze/">DG - Die Poetik der Skizze</a></td><td>16.06.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - geografien des unsichtbaren/">DG - Geografien des Unsichtbaren</a></td><td>16.06.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die ästhetik der lichtspuren/">DG - Die Ãsthetik der Lichtspuren</a></td><td>16.06.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - die poetik der rückkehr/">DG - Die Poetik der Rückkehr</a></td><td>13.06.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - postbiographien - leben zwischen fiktion, fragment und entwurf/">DG - Postbiographien - Leben zwischen Fiktion, Fragment und Entwurf</a></td><td>30.05.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - bmcc6k - das neue kino-eye/">DG - BMCC6K - Das neue Kino-Eye</a></td><td>17.05.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - mentale gefängnisse - über die konstruktion und befreiung der wirklichkeit/">DG - Mentale Gefängnisse - Ãber die Konstruktion und Befreiung der Wirklic
11hkeit</a></td><td>06.05.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - nostos als utopia - eine topographie des unbehausten/">DG - NOSTOS ALS UTOPIA - Eine Topographie des Unbehausten</a></td><td>05.05.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - kartografien des werdens/">DG - Kartografien des Werdens</a></td><td>04.05.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - the nomadic self - reise als spiegel der seele/">DG - The Nomadic Self - Reise als Spiegel der Seele</a></td><td>20.04.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - oporto25 - the signature of flow/">DG - OPORTO25 - The Signature of Flow</a></td><td>17.04.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - de-construction re-construction/">DG - DE-CONSTRUCTION RE-CONSTRUCTION</a></td><td>10.04.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - rsse 2.0/">DG - RSSE 2.0</a></td><td>09.04.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - romanticism 2.0 - the unoptimized self/">DG - ROMANTICISM 2.0 - THE UNOPTIMIZED SELF</a></td><td>02.04.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - creativity in flow - a filmic concept/">DG - CREATIVITY IN FLOW - A FILMIC CONCEPT</a></td><td>03.03.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - revision, reconsider, rethink, rewrite, reconstruct, recreate/">DG - REVISION, RECONSIDER, RETHINK, REWRITE, RECONSTRUCT, RECREATE</a></td><td>27.02.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - needs vs. wants in the creative process/">DG - Needs vs. Wants in the Creative Process</a></td><td>27.02.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - via negativa of creativity - from darkness to creation/">DG - Via Negativa of Creativity - From Darkness to Creation</a></td><td>24.02.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - break the pattern - disrupt. create. evolve/">DG - BREAK THE PATTERN - DISRUPT. CREATE. EVOLVE</a></td><td>20.02.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - humanism in the age of crisis/">DG - HUMANISM IN THE AGE OF CRISIS</a></td><td>20.02.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - echoes of oblivion/">DG - ECHOES OF OBLIVION</a></td><td>20.02.2025</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - athens24 - prelude/">DG - ATHENS24 - PRELUDE</a></td><td>25.11.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - masari - fragments of a creative retreat/">DG - MASARI - FRAGMENTS OF A CREATIVE RETREAT</a></td><td>02.11.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - endless loop - das konzept/">DG - ENDLESS LOOP - DAS KONZEPT</a></td><td>26.09.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - the origins of images â concept and leitmotifs/">DG - THE ORIGINS OF IMAGES â CONCEPT AND LEITMOTIFS</a></td><td>22.09.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - warwisch - ein resonanzraum für die seele/">DG - WARWISCH - EIN RESONANZRAUM FÃR DIE SEELE</a></td><td>26.08.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - danzig - a flowing palimpsest/">DG - DANZIG - A FLOWING PALIMPSEST</a></td><td>08.08.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - unsichtbare pfade der geschichte/">DG - Unsichtbare Pfade der Geschichte</a></td><td>22.07.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - berlin24 - filmic drifts/">DG - BERLIN24 - FILMIC DRIFTS</a></td><td>17.07.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - identitäten in der postmoderne/">DG - IDENTITÃTEN IN DER POSTMODERNE</a></td><td>18.06.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/digital garden - home/">DIGITAL GARDEN - HOME</a></td><td>15.06.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - goethes gartenhaus - ein ort der kunst/">DG - GOETHES GARTENHAUS - EIN ORT DER KUNST</a></td><td>15.06.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - saxa loquuntur- colonia penale agricola/">
11DG - SAXA LOQUUNTUR- COLONIA PENALE AGRICOLA</a></td><td>09.06.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - uncanny spaces - ein filmisches konzept/">DG - UNCANNY SPACES - Ein filmisches Konzept</a></td><td>31.05.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - process is messy/">DG - PROCESS IS MESSY</a></td><td>20.05.2024</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - what i read/">DG - What I Read</a></td><td>19.12.2023</td><td>OK</td></tr><tr><td><a class="internal-link" href="digital garden/dg - berlin - angelus novus/">DG - BERLIN - ANGELUS NOVUS</a></td><td>29.12.2022</td><td>OK</td></tr></tbody></table></div> <p>[[DG - BASE.base#TRACES PUBLISHED]]</p> <hr> <h2 id="the-image-of-the-path-das-bild-des-weges" tabindex="-1">THE IMAGE OF THE PATH (DAS BILD DES WEGES)</h2> <div style="position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden"> <iframe src="https://www.youtube.com/embed/0HDWw9Hlsic?si=AuSjA-EkOogAr9mQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:100%"> </iframe> </div> <p><em>VLOGS, SKETCHES (SCRIPTS ) AND PROJECTIONS</em></p> <p><strong>TRAVELS AND TRAVEL PHILOSOPHY</strong></p> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" id="cbx_0" disabled="true"><label for="cbx_0"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - Die Poetik der Rückkehr/">DG - Die Poetik der Rückkehr</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_1" disabled="true"><label for="cbx_1"> (DG - NOSTOS ALS UTOPIA - Eine Topographie des Unbehausten)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_2" disabled="true"><label for="cbx_2"> (DG - The Nomadic Self - Reise als Spiegel der Seele)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_3" disabled="true"><label for="cbx_3"> (DG - Kartografien des Werdens - Eine Reise durch Orte, Bilder und das Selbst)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_4" disabled="true"><label for="cbx_4"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - OPORTO25 - The Signature of Flow/">DG - OPORTO25 - The Signature of Flow</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_5" disabled="true"><label for="cbx_5"> (DG - RSSE 2.0]]</label></li> </ul> <p><strong>ENDLESS LOOP</strong></p> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" id="cbx_6" disabled="true"><label for="cbx_6"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - ENDLESS LOOP - DAS KONZEPT/">DG - ENDLESS LOOP - DAS KONZEPT</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_7" disabled="true"><label for="cbx_7"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - ATHENS24 - PRELUDE/">DG - ATHENS24 - PRELUDE</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_8" disabled="true"><label for="cbx_8"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - GOETHES GARTENHAUS - EIN ORT DER KUNST/">DG - GOETHES GARTENHAUS - EIN ORT DER KUNST</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_9" disabled="true"><label for="cbx_9"> (DG - BERLIN - ANGELUS NOVUS)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_10" disabled="true"><label for="cbx_10"> (DG - BERLIN24 - FILMIC DRIFTS)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_11" disabled="true"><label for="cbx_11"> (DG - DANZIG - A FLOWING PALIMPSEST)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_12" disabled="true"><label for="cbx_12"> (DG - UNCANNY SPACES - Ein filmisches Konzept)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_13" disabled="true"><label for="cbx_13">
11 (DG - SAXA LOQUUNTUR- COLONIA PENALE AGRICOLA)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_14" disabled="true"><label for="cbx_14"> (DG - MASARI - FRAGMENTS OF A CREATIVE RETREAT)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_15" disabled="true"><label for="cbx_15"> DG - BRUNSBERG23</label></li> </ul> <hr> <p><strong>CREATIVITY IN FLOW - ÃSTHETICS OF FLUIDITY</strong></p> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" id="cbx_16" disabled="true"><label for="cbx_16"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - Geografien des Unsichtbaren/">DG - Geografien des Unsichtbaren</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_17" disabled="true"><label for="cbx_17"> (DG - CREATIVITY IN FLOW - A FILMIC CONCEPT)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_18" disabled="true"><label for="cbx_18"> (DG - REVISION, RECONSIDER, RETHINK, REWRITE, RECONSTRUCT, RECREATE)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_19" disabled="true"><label for="cbx_19"> (DG - BREAK THE PATTERN - DISRUPT. CREATE. EVOLVE)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_20" disabled="true"><label for="cbx_20"> (DG - Needs vs. Wants in the Creative Process)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_21" disabled="true"><label for="cbx_21"> (DG - DE-CONSTRUCTION RE-CONSTRUCTION)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_22" disabled="true"><label for="cbx_22"> (DG - PROCESS IS MESSY)</label></li> </ul> <hr> <h2 id="the-philosophical-flaneur" tabindex="-1">THE PHILOSOPHICAL FLANEUR</h2> <div style="position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden"> <iframe src="https://www.youtube.com/embed/jH4LKLqDLgI?si=DPpSiLQTIDeB3FyE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:100%"> </iframe> </div> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" id="cbx_23" disabled="true"><label for="cbx_23"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - BMCC6K - Das neue Kino-Eye/">DG - BMCC6K - Das neue Kino-Eye</a> (3rd Vlog)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_24" disabled="true"><label for="cbx_24"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - Via Negativa of Creativity - From Darkness to Creation/">DG - Via Negativa of Creativity - From Darkness to Creation</a> (2nd Vlog)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_25" disabled="true"><label for="cbx_25"> (TPF25AD01 - Romanticism 2.0 - SCRIPT)</label></li> </ul> <p><strong>SEEDS</strong></p> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" id="cbx_26" disabled="true"><label for="cbx_26"> (DG - Unsichtbare Pfade der Geschichte)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_27" disabled="true"><label for="cbx_27"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - HUMANISM IN THE AGE OF CRISIS/">DG - HUMANISM IN THE AGE OF CRISIS</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_28" disabled="true"><label for="cbx_28"> (DG - IDENTITÃTEN IN DER POSTMODERNE)</label></li> <li class="task-list-item"><input type="checkbox" id="cbx_29" disabled="true"><label for="cbx_29"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - Postbiographien - Leben zwischen Fiktion, Fragment und Entwurf/">DG - Postbiographien - Leben zwischen Fiktion, Fragment und Entwurf</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_30" disabled="true"><label for="cbx_30"> (DG - Mentale Gefängnisse - Ãber die Konstruktion und Befreiung der Wirklic
11hkeit)</label></li> </ul> <hr> <p><strong>THE ORIGINS OF IMAGES</strong></p> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" id="cbx_31" disabled="true"><label for="cbx_31"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - THE ORIGINS OF IMAGES â CONCEPT AND LEITMOTIFS/">DG - THE ORIGINS OF IMAGES â CONCEPT AND LEITMOTIFS</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_32" disabled="true"><label for="cbx_32"> (DG - ECHOES OF OBLIVION)</label></li> </ul> <p><strong>CINEMATIC DRIFTS</strong></p> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" id="cbx_33" disabled="true"><label for="cbx_33"> (DG - WARWISCH - EIN RESONANZRAUM FÃR DIE SEELE)</label></li> </ul> <h2 id="tools-and-re-sources" tabindex="-1">TOOLS AND RE-SOURCES</h2> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" id="cbx_34" disabled="true"><label for="cbx_34"> <a class="internal-link" target="" data-note-icon="2" href="/DIGITAL GARDEN/DG - What I Read/">DG - What I Read</a></label></li> </ul> <hr> <h2 id="connect-with-me" tabindex="-1">CONNECT WITH ME</h2> <p><picture src="/img/user/999%20Attachements/images.AI/DIGITAL%20GARDEN%20-%20HOME-20240616144023685.jpg" alt="DIGITAL GARDEN - HOME-20240616144023685.jpg400" width="400px"><source media="(max-width:480px)" srcset="/img/optimized/9-F0CD9XCM-500.webp" type="image/webp"> <source media="(max-width:480px)" srcset="/img/optimized/9-F0CD9XCM-500.jpeg"> <source media="(max-width:1920px)" srcset="/img/optimized/9-F0CD9XCM-700.webp" type="image/webp"><source media="(max-width:1920px)" srcset="/img/optimized/9-F0CD9XCM-700.jpeg"><img class="" src="/img/user/999%20Attachements/images.AI/DIGITAL%20GARDEN%20-%20HOME-20240616144023685.jpg" alt="DIGITAL GARDEN - HOME-20240616144023685.jpg400" width="400px"></picture></p> <ul class="task-list"> <li class="task-list-item"><input type="checkbox" id="cbx_35" disabled="true"><label for="cbx_35"> <strong>YouTube:</strong> <a href="https://www.youtube.com/channel/UCDVE25bw9PM23MVtIgBU7bg" target="_blank" class="external-link">The Creative Journey</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_36" disabled="true"><label for="cbx_36"> <strong>URL:</strong> <a href="http://www.photovisionproject.com" target="_blank" class="external-link">PhotoVisionProject</a></label></li> <li class="task-list-item"><input type="checkbox" id="cbx_37" disabled="true"><label for="cbx_37"> <strong>Instagram:</strong> <a href="https://www.instagram.com/photovisionproject19/?hl=en" target="_blank" class="external-link">photovisionproject19</a></label></li> </ul> <hr> </main> <aside> <div class="page-panel-backdrop" data-page-panel-close></div> <div class="sidebar" id="page-panel"> <div class="page-panel-header"> <span class="page-panel-handle" aria-hidden="true"></span> <button type="button" class="page-panel-close" data-page-panel-close aria-label="Close"> <i data-lucide="x"></i> </button> </div> <div class="sidebar-container">
11<script type="module">import{forceSimulation,forceManyBody,forceCenter,forceLink,forceCollide,forceRadial}from"d3-force";import{select}from"d3-selection";import{zoom as d3Zoom,zoomIdentity}from"d3-zoom";import{drag as d3Drag}from"d3-drag";const{Application:Application,Container:Container,Graphics:Graphics,Text:Text,Circle:Circle}=PIXI;async function fetchGraphData(){const e=await fetch("/graph.json").then((e=>e.json()));return{graphData:e,fullGraphData:filterFullGraphData(e)}}function filterFullGraphData(e){if(!e)return null;e=JSON.parse(JSON.stringify(e));const t=Object.values(e.nodes).filter((e=>e.hide)).map((e=>e.id));return{links:e.links.filter((e=>-1===t.indexOf(e.source)&&-1===t.indexOf(e.target))),nodes:Object.values(e.nodes).filter((e=>!e.hide))}}function filterLocalGraphData(e,t){if(!e)return null;t=t||1;const a=JSON.parse(JSON.stringify(e.nodes)),n=JSON.parse(JSON.stringify(e.links));let o=decodeURI(window.location.pathname),l=a[o];if(!l){const e=o.toLowerCase();l=Object.values(a).find((t=>t.url.toLowerCase()===e))}if(l||(l=Object.values(a).find((e=>e.home))),!l)return null;l.current=!0;const r=new Set(Object.values(a).filter((e=>e.hide)).map((e=>e.id))),i=e=>e===l.id||!r.has(e),c={};for(const e of n)i(e.source)&&i(e.target)&&((c[e.source]=c[e.source]||new Set).add(e.target),(c[e.target]=c[e.target]||new Set).add(e.source));const s=new Set([l.id]);let d=new Set([l.id]);for(let e=0;e<t&&d.size>0;e++){const e=new Set;for(const t of d)for(const a of c[t]||[])s.has(a)||(s.add(a),e.add(a));d=e}const u=Object.values(a).filter((e=>!e.hide&&s.has(e.id))),p=u.map((e=>e.id));return{nodes:u,links:n.filter((e=>p.indexOf(e.target)>-1&&p.indexOf(e.source)>-1))}}function getCssVar(e){return getComputedStyle(document.body).getPropertyValue(e).trim()}const _colorProbe=document.createElement("div");function resolveColor(e){_colorProbe.style.color=e;const t=getComputedStyle(_colorProbe).color.match(/(\d+),\s*(\d+),\s*(\d+)/);return t?(parseInt(t[1])<<16)+(parseInt(t[2])<<8)+parseInt(t[3]):6710886}_colorProbe.style.display="none",document.body.appendChild(_colorProbe);const _decodeEl=document.createElement("textarea");function htmlDecode(e){return _decodeEl.innerHTML=e,_decodeEl.value}function buildDegreeMap(e){const t={};for(const a of e){const e="object"==typeof a.source?a.source.id:a.source,n="object"==typeof a.target?a.target.id:a.target;t[e]=(t[e]||0)+1,t[n]=(t[n]||0)+1}return t}function nodeRadius(e,t){return 2+Math.sqrt(t[e]||0)}function renderGraph(e,t,a){if(!e||!e.nodes||0===e.nodes.length)return null;const n=document.getElementById(t);if(!n)return null;for(;n.firstChild;)n.removeChild(n.firstChild);const o=n.offsetWidth,l=n.offsetHeight||250;if(0===o)return null;const r=resolveColor(getCssVar("--dg-graph-node-color")||getCssVar("--graph-main")||"#666"),i=resolveColor(getCssVar("--dg-graph-node-color-muted")||getCssVar("--graph-muted")||"#ccc"),c=resolveColor(getCssVar("--dg-graph-label-color")||getCssVar("--text-normal")||"#eee"),s=getComputedStyle(document.body).fontFamily||"Sans-Serif",d=buildDegreeMap(e.links),u=e.nodes.map((e=>({...e,text:htmlDecode(e.title)}))),p=e.links.map((e=>({source:e.source,target:e.target}))),h=a?-300:-100,f=a?80:40,g=Math.min(o,l)/3,m=forceSimulation(u).force("charge",forceManyBody().strength(h)).force("center",forceCenter(o/2,l/2).strength(.5)).force("link",forceLink(p).id((e=>e.id)).distance(f)).force("collide",forceCollide((e=>nodeRadius(e.id,d)+1)).iterations(3)).force("radial",forceRadial(g,o/2,l/2).strength(.05)),y=new Application({width:o,height:l,antialias:!0,autoStart:!1,autoDensity:!0,backgroundAlpha:0,resolution:window.devicePixelRatio});n.appendChild(y.view);const C=y.stage;C.interactive=!0,C.hitArea=y.screen;const x=new Graphics,G=new Container,D=new Container;C.addChild(x,G,D);let b=null,v=new Set,w=!1,A=0,L=null,S=zoomIdentity;const M=[],k=[];function I(e){if(b=e,v.clear(),null===e){for(const e of M)e.active=!1;for(const e of k)e.active=!1}else{for(const t of k){const a=t.simulationData.source,n=t.simulationData.target,o="object"==typeof a?a.id:a,l="object"==typeof n?n.id:n;o!==e&&l!==e||(v.add(o),v.add(l)),t.active=o===e||l===e}for(const e of M)e.active=v.has(e.simulationData.id)}}for(const e of u){const t=nodeRadius(e.id,d),a=new Text(e.text,{fontSize:16,fill:c,fontFamily:s});a.resolution=2,a.anchor.set(.5,1),a.scale.set(1/3),a.alpha=0;const n=new Graphics;n.interactive=!0,n.cursor="pointer",n.hitArea=new Circle(0,0,t+2),n._nodeId=e.id;const o=e.current?r:i;n.beginFill(o),n.drawCircle(0,0,t),n.endFill(),e.current&&(n.lineStyle(.5,r),n.drawCircle(0,0,t+1.5));let l=0;n.on("pointerover",(()=>
11{I(n._nodeId),l=a.alpha,w||j()})),n.on("pointerleave",(()=>{I(null),a.alpha=l,w||j()})),G.addChild(n),D.addChild(a),M.push({simulationData:e,gfx:n,label:a,radius:t,active:!1,baseAlpha:1,targetAlpha:1,currentAlpha:1})}for(const e of p)k.push({simulationData:e,active:!1,baseAlpha:.4,targetAlpha:.4,currentAlpha:.4});function j(){for(const e of M)e.targetAlpha=null!==b?e.active?1:.1:e.baseAlpha;for(const e of k)e.targetAlpha=null!==b?e.active?.8:.05:e.baseAlpha}function E(e,t,a){return e+(t-e)*a}select(y.view).call(d3Drag().container((()=>y.view)).subject((()=>{if(!b)return null;const e=u.find((e=>e.id===b));return e?{x:e.x*S.k+S.x,y:e.y*S.k+S.y,node:e}:null})).on("start",(function(e){e.active||m.alphaTarget(1).restart();const t=e.subject.node;t.fx=t.x,t.fy=t.y,A=Date.now(),L={x:e.x,y:e.y},w=!0})).on("drag",(function(e){const t=e.subject.node;t.fx=(e.x-S.x)/S.k,t.fy=(e.y-S.y)/S.k})).on("end",(function(e){e.active||m.alphaTarget(0);const t=e.subject.node;t.fx=null,t.fy=null,w=!1;const a=Date.now()-A,n=e.x-L.x,o=e.y-L.y,l=Math.sqrt(n*n+o*o);a<500&&l<5&&t.url&&(window.location=t.url)})));const O=d3Zoom().extent([[0,0],[o,l]]).scaleExtent([.25,4]).on("zoom",(({transform:e})=>{S=e,C.scale.set(e.k,e.k),C.position.set(e.x,e.y);const t=Math.max((e.k-1)/3.75,0);for(const e of M)e.simulationData.id!==b&&(e.label.alpha=t)}));select(y.view).call(O);let P=!1;return requestAnimationFrame((function e(){if(!P){for(const e of M){const{x:t,y:a}=e.simulationData;null!=t&&null!=a&&(e.gfx.position.set(t,a),e.label.position.set(t,a-e.radius-2),e.currentAlpha=E(e.currentAlpha,e.targetAlpha,.15),e.gfx.alpha=e.currentAlpha,e.simulationData.id===b&&(e.label.alpha=1))}x.clear();for(const e of k){const t=e.simulationData.source,a=e.simulationData.target;null!=t.x&&null!=a.x&&(e.currentAlpha=E(e.currentAlpha,e.targetAlpha,.15),x.lineStyle(1,e.active?r:i,e.currentAlpha),x.moveTo(t.x,t.y),x.lineTo(a.x,a.y))}y.render(),requestAnimationFrame(e)}})),(a||e.nodes.length>4)&&setTimeout((()=>{let e=1/0,t=-1/0,a=1/0,n=-1/0;for(const o of u)null!=o.x&&null!=o.y&&(e=Math.min(e,o.x),t=Math.max(t,o.x),a=Math.min(a,o.y),n=Math.max(n,o.y));if(e===1/0)return;const r=t-e+100,i=n-a+100,c=Math.min(o/r,l/i,2),s=(e+t)/2,d=(a+n)/2,p=zoomIdentity.translate(o/2-s*c,l/2-d*c).scale(c);select(y.view).call(O.transform,p)}),500),function(){P=!0,m.stop(),select(y.view).on(".drag",null).on(".zoom",null),y.destroy(!0,{children:!0})}}let graphDataCache=null,fullGraphDataCache=null,localGraphCleanup=null,globalGraphCleanup=null,localGraphDepth=1,initPromise=null;function init(){return initPromise||(initPromise=fetchGraphData().then((({graphData:e,fullGraphData:t})=>{graphDataCache=e,fullGraphDataCache=t,renderLocal()}))),initPromise}const pagePanelMedia=window.matchMedia("(max-width: 1400px)");function localGraphHidden(){const e=document.getElementById("page-panel");return pagePanelMedia.matches&&e&&!e.classList.contains("is-open")}function renderLocal(){localGraphCleanup&&(localGraphCleanup(),localGraphCleanup=null);const e=renderGraph(filterLocalGraphData(graphDataCache,localGraphDepth),"link-graph",!1);localGraphCleanup=e}function setLocalGraphDepth(e){localGraphDepth=parseInt(e,10)||1,renderLocal()}function openModal(e){globalGraphCleanup&&(globalGraphCleanup(),globalGraphCleanup=null),document.getElementById("full-graph").style.display="",setTimeout((()=>{globalGraphCleanup=renderGraph(e,"full-graph-container",!0),lucide.createIcons({attrs:{class:["svg-icon"]}})}),50)}function openFullGraph(){openModal(fullGraphDataCache)}function openExpandedLocal(){openModal(filterLocalGraphData(graphDataCache,localGraphDepth))}function closeFullGraph(){document.getElementById("full-graph").style.display="none",globalGraphCleanup&&(globalGraphCleanup(),globalGraphCleanup=null)}window.__graph={openFullGraph:openFullGraph,closeFullGraph:closeFullGraph,openExpandedLocal:openExpandedLocal,rerenderLocal:renderLocal,setLocalGraphDepth:setLocalGraphDepth},document.addEventListener("forestry:css-changed",(function(){graphDataCache&&renderLocal()})),localGraphHidden()||init(),document.addEventListener("page-panel:open",(()=>init())),pagePanelMedia.addEventListener("change",(e=>{e.matches||init()}))</script>
11 <div id="graph-component" class="graph" x-data="{ showFullGraph: false, graphDepth: 1 }"> <div class="graph-title-container"> <div class="graph-title">Connected Pages</div> <div id="graph-controls"> <div class="ctrl-right"> <span id="global-graph-btn" x-on:click="showFullGraph = true; window.__graph.openFullGraph()"><i data-lucide="globe" aria-hidden="true"></i></span> <span id="graph-fs-btn" x-on:click="showFullGraph = true; window.__graph.openExpandedLocal()"><i data-lucide="expand" aria-hidden="true"></i></span> </div> </div> </div> <div id="link-graph"></div> <div x-show="showFullGraph" id="full-graph" class="show" style="display:none" x-on:click.self="window.__graph.closeFullGraph(); showFullGraph = false;"> <span id="full-graph-close" x-on:click="window.__graph.closeFullGraph(); showFullGraph = false;"><i data-lucide="x" aria-hidden="true"></i></span> <div id="full-graph-container"></div> </div> </div> <div class="toc"> <div class="toc-title-container"> <div class="toc-title"> THEO'S DIGITAL GARDEN - HOME </div> </div> <div class="toc-container"> <nav class="toc"> <ol> <li><a href="#theo-s-digital-garden-home">THEO'S DIGITAL GARDEN - HOME</a> <ol> <li><a href="#span-style-color-e2725b-strong-welcome-to-theo-s-digital-garden-strong-span">ð±ðð¥ Welcome to Theo's Digital Garden</a> </li> <li><a href="#traces-of-thought">ð Traces of Thought</a> </li> <li><a href="#the-image-of-the-path-das-bild-des-weges">THE IMAGE OF THE PATH (DAS BILD DES WEGES)</a> </li> <li><a href="#the-philosophical-flaneur">THE PHILOSOPHICAL FLANEUR</a> </li> <li><a href="#tools-and-re-sources">TOOLS AND RE-SOURCES</a> </li> <li><a href="#connect-with-me">CONNECT WITH ME</a> </li> </ol> </li> </ol> </nav> </div> </div>
11<script>!function(){const t=document.querySelectorAll('.toc-container a[href^="#"]');if(!t.length)return;const e=Array.from(t).map((t=>{const e=decodeURIComponent(t.getAttribute("href").slice(1));return{link:t,target:document.getElementById(e)}})).filter((t=>t.target));function n(){let n=e[0];for(const t of e)t.target.getBoundingClientRect().top<=100&&(n=t);t.forEach((t=>t.classList.remove("toc-active"))),n&&n.link.classList.add("toc-active")}window.addEventListener("scroll",n,{passive:!0}),n()}()</script>
11 <div class="backlinks"> <div class="backlink-title">Pages mentioning this page</div> <div class="backlink-list"><div class="backlink-card"> <span class="no-backlinks-message">No other pages mentions this page</span> </div></div> </div> </div> </div>
11<script>!function(){const e=document.getElementById("page-panel");if(!e)return;const t=window.matchMedia("(max-width: 1400px)");function n(t){e.classList.toggle("is-open",t),document.body.classList.toggle("page-panel-open",t),document.querySelectorAll(".page-panel-toggle").forEach((e=>{e.setAttribute("aria-expanded",String(t))})),document.dispatchEvent(new CustomEvent(t?"page-panel:open":"page-panel:close"))}document.addEventListener("click",(a=>{a.target.closest(".page-panel-toggle")?n(!e.classList.contains("is-open")):(a.target.closest("[data-page-panel-close]")||t.matches&&a.target.closest("#page-panel a[href]"))&&n(!1)})),document.addEventListener("keydown",(t=>{"Escape"===t.key&&e.classList.contains("is-open")&&n(!1)})),t.addEventListener("change",(e=>{e.matches||n(!1)}))}()</script>
11 </aside> <div class="floating-actions floating-bottom-right"> <button type="button" class="page-panel-toggle page-panel-fab" aria-controls="page-panel" aria-expanded="false" aria-label="On this page" title="On this page"> <i data-lucide="panel-right"></i> </button> </div> <div class="search-container" id="globalsearch" onclick="toggleSearch()"> <div class="search-box" onclick="event.stopPropagation()"> <div class="search-header"> <input type="search" id="term" placeholder="Start typing..."> </div> <div class="search-layout no-preview" id="search-layout"> <div class="search-results-panel" id="search-results"> <span><i>Enter your search text in the box above</i></span> </div> <div class="search-preview-panel" id="search-preview"> <div class="preview-placeholder"> <i data-lucide="file-text"></i> <p>Select a result to preview</p> </div> <div class="preview-content" id="preview-content"></div> </div> </div> <footer class="search-box-footer"> <div class="navigation-hint"> <span><code>Enter</code> to select</span> </div> <div class="navigation-hint"> <span><code>â
</code> to navigate</span> </div> <div class="navigation-hint"> <span><code>ESC</code> to close</span> </div> </footer> </div> </div>
11<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/flexsearch.bundle.js"></script>
11
11<script>document.addEventListener("DOMContentLoaded",init,!1),document.addEventListener("DOMContentLoaded",setCorrectShortcut,!1);const previewCache=new Map;window.toggleSearch=function(){const e=document.getElementById("globalsearch");e.classList.contains("active")?e.classList.remove("active"):(e.classList.add("active"),document.getElementById("term").focus())},window.toggleTagSearch=function(e){const t=e.textContent;t&&(document.getElementById("term").value=t.trim(),window.toggleSearch(),window.search())};const loadingSvg='\n <div style="display: flex; justify-content: center; padding: 40px;">\n <svg width="40" height="40" viewBox="0 0 45 45" xmlns="http://www.w3.org/2000/svg" stroke="currentColor">\n <g fill="none" fill-rule="evenodd" transform="translate(1 1)" stroke-width="2">\n <circle cx="22" cy="22" r="6" stroke-opacity="0">\n <animate attributeName="r" begin="1.5s" dur="3s" values="6;22" calcMode="linear" repeatCount="indefinite" />\n <animate attributeName="stroke-opacity" begin="1.5s" dur="3s" values="1;0" calcMode="linear" repeatCount="indefinite" />\n <animate attributeName="stroke-width" begin="1.5s" dur="3s" values="2;0" calcMode="linear" repeatCount="indefinite" />\n </circle>\n <circle cx="22" cy="22" r="6" stroke-opacity="0">\n <animate attributeName="r" begin="3s" dur="3s" values="6;22" calcMode="linear" repeatCount="indefinite" />\n <animate attributeName="stroke-opacity" begin="3s" dur="3s" values="1;0" calcMode="linear" repeatCount="indefinite" />\n <animate attributeName="stroke-width" begin="3s" dur="3s" values="2;0" calcMode="linear" repeatCount="indefinite" />\n </circle>\n <circle cx="22" cy="22" r="8">\n <animate attributeName="r" begin="0s" dur="1.5s" values="6;1;2;3;4;5;6" calcMode="linear" repeatCount="indefinite" />\n </circle>\n </g>\n </svg>\n </div>';function debounce(e,t,n){var r;return function(){var i=this,a=arguments,s=n&&!r;clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(i,a)}),t),s&&e.apply(i,a)}}function setCorrectShortcut(){navigator.platform.toUpperCase().indexOf("MAC")>=0&&document.querySelectorAll(".search-keys").forEach((e=>e.innerHTML="<code>â</code> + <code>K</code>"))}function tokenizeSearchTerms(e){const t=[],n=/"([^"]+)"|(\S+)/g;let r;for(;null!==(r=n.exec(e));){const e=(r[1]||r[2]).toLowerCase();e.length>1&&t.push(e)}return t.sort(((e,t)=>t.length-e.length))}function highlightTerms(e,t){if(!t||0===t.length||!e)return e;let n=e;return t.forEach((e=>{const t=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`(${t})`,"gi");n=n.replace(r,'<span class="search-highlight">$1</span>')})),n}function getContextualExcerpt(e,t,n=150){if(!e)return"";const r=e.replace(/<[^>]*>/g,"");if(!t||0===t.length)return truncateText(r,n);let i=r.length;if(t.forEach((e=>{const t=r.toLowerCase().indexOf(e.toLowerCase());-1!==t&&t<i&&(i=t)})),i===r.length)return truncateText(r,n);const a=Math.max(0,i-50),s=Math.min(r.length,a+n);let o=r.substring(a,s);return a>0&&(o="..."+o),s<r.length&&(o+="..."),o}function truncateText(e,t){return e?(e=e.replace(/<[^>]*>/g,"")).length<=t?e:e.substring(0,t-3)+"...":""}async function fetchPreviewContent(e){if(previewCache.has(e))return previewCache.get(e);try{const t=await fetch(e),n=await t.text(),r=new DOMParser,i=r.parseFromString(n,"text/html").querySelector(".content, .cm-s-obsidian, article, main"),a=i?i.innerHTML:"";return previewCache.set(e,a),a}catch(e){return console.error("Failed to fetch preview:",e),""}}function highlightTextNodes(e,t){if(!t||0===t.length)return;const n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),r=[];for(;n.nextNode();)r.push(n.currentNode);r.forEach((e=>{const n=e.textContent;let r=!1;if(t.forEach((e=>{n.toLowerCase().includes(e.toLowerCase())&&(r=!0)})),r){const r=document.createElement("span");r.innerHTML=highlightTerms(n,t),e.parentNode.replaceChild(r,e)}}))}async function showPreview(e){const t=window.searchResults;if(!t||!t[e])return;const n=t[e],r=document.getElementById("search-preview"),i=document.getElementById("preview-content"),a=r.querySelector(".preview-placeholder");if(!r||!i)return;document.querySelectorAll(".searchresult").forEach((e=>e.classList.remove("active")));const s=document.querySelector(`.searchresult[data-index="${e}"]`);s&&s.classList.add("active"),i.innerHTML=loadingSvg,i.classList.add("has-content"),a.style.display="none";const o=await fetchPreviewContent(n.url),c=n.tags&&n.tags.length>0?`<div class="preview-tags">${n.tags.map((e=>`<a class="tag" href="javascript:void(0);" onclick="toggleTagSearch(this)">#${e}</a>`)).join("")}</div>`:"";i.innerHTML=`\n <div class="preview-title">${highlightTerms(n.title,window.searchTerms)}</div>\n ${c}\n <div class="preview-body">${o}</div>\n `;const l=i.querySelector(".preview-body");l&&window.searchTerms&&highlightTextNodes(l,window.searchTerms),window.currentPreviewIndex=e}function hidePreview(){const e=document.getElementById("search-preview"),t=document.getElementById("preview-content"),n=e?.querySelector(".preview-placeholder");n&&(n.style.display="flex"),t&&(t.classList.remove("has-content"),t.innerHTML=""),window.currentPreviewIndex=-1}function createIndex(e){const t=e=>(e=>e.toLowerCase().normalize("NFD").replace(/n\u0303/g,"ñ").replace(/[\u0300-\u036f]/g,"").normalize("NFC"))(e).split(/([^a-z]|[^\x00-\x7F])/),n=new FlexSearch.Document({cache:!0,charset:"latin:extra",optimize:!0,index:[{field:"content",tokenize:"reverse",encode:t},{field:"title",tokenize:"forward",encode:t},{field:"tags",tokenize:"forward",encode:t}]});return e.forEach(((e,t)=>{n.add({id:t,title:e.title,content:e.content,tags:e.tags})})),n}
11async function init(){const e=await fetch("/searchIndex.json?v=2026-10-01T12:25:32.190Z").then((e=>e.json())),t=createIndex(e);function n(e){const t=document.querySelectorAll(".searchresult");if(0===t.length)return;let n,r=-1;t.forEach(((e,t)=>{e.classList.contains("active")&&(r=t)})),-1===r?n=e>0?0:t.length-1:(n=r+e,n<0&&(n=t.length-1),n>=t.length&&(n=0)),t.forEach((e=>e.classList.remove("active"))),t[n].classList.add("active"),t[n].scrollIntoView({behavior:"smooth",block:"nearest"}),showPreview(parseInt(t[n].dataset.index))}window.docs=e,window.index=t,document.addEventListener("keydown",(e=>{if((e.ctrlKey||e.metaKey)&&"k"===e.key&&(e.preventDefault(),toggleSearch()),"Escape"===e.key&&document.getElementById("globalsearch").classList.remove("active"),document.getElementById("globalsearch").classList.contains("active")&&("ArrowDown"===e.key&&(e.preventDefault(),n(1)),"ArrowUp"===e.key&&(e.preventDefault(),n(-1)),"Enter"===e.key)){e.preventDefault();const t=document.querySelector(".searchresult.active");if(t){const e=t.dataset.url;e&&(window.location.href=e)}}}));const r=debounce(search,200,!1);window.field=document.querySelector("#term"),field.addEventListener("keydown",(e=>{"ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"Enter"!==e.key&&r()})),window.resultsDiv=document.querySelector("#search-results");const i=new URL(location.href).searchParams;i.get("q")&&(field.setAttribute("value",i.get("q")),toggleSearch(),search())}async function search(){const e=field.value.trim(),t=document.getElementById("search-layout");if(!e)return resultsDiv.innerHTML="<span><i>Enter your search text in the box above</i></span>",hidePreview(),void(t&&t.classList.add("no-preview"));window.lastSearch=e,window.searchTerms=tokenizeSearchTerms(e),resultsDiv.innerHTML=loadingSvg,hidePreview();const n=offlineSearch(e);if(window.searchResults=n,!n.length)return t&&t.classList.add("no-preview"),void(resultsDiv.innerHTML=`\n <div class="no-results">\n <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <circle cx="11" cy="11" r="8"></circle>\n <line x1="21" y1="21" x2="16.65" y2="16.65"></line>\n <line x1="8" y1="11" x2="14" y2="11"></line>\n </svg>\n <p>No results for "${e}"</p>\n </div>\n `);t&&t.classList.remove("no-preview");let r="";n.forEach(((e,t)=>{const n=highlightTerms(getContextualExcerpt(e.content,window.searchTerms,120),window.searchTerms),i=highlightTerms(e.title,window.searchTerms),a=e.tags&&e.tags.length>0?`<div class="result-tags">${e.tags.map((e=>`<span class="tag">#${e}</span>`)).join("")}</div>`:"";r+=`\n <div class="searchresult${0===t?" active":""}"\n data-index="${t}"\n data-url="${e.url}"\n onmouseenter="showPreview(${t})"\n onclick="window.location.href='${e.url}'">\n <span class="result-title">${i}</span>\n ${a}\n <div class="result-excerpt">${n}</div>\n </div>\n `})),resultsDiv.innerHTML=r,n.length>0&&showPreview(0),"undefined"!=typeof lucide&&lucide.createIcons()}function offlineSearch(e){const t=window.docs,n="#"===e[0]&&e.length>1?index.search(e.substring(1),[{field:"tags"}]):index.search(e,[{field:"title",limit:5},{field:"content",limit:10}]),r=e=>{const t=n.filter((t=>t.field===e));return 0===t.length?[]:[...t[0].result]};return[...new Set([...r("title"),...r("content"),...r("tags")])].map((e=>{const n={...t[e]};return n.tags=n.tags.filter((e=>
11"gardenEntry"!==e&&"note"!==e)),n}))}window.lastSearch="",window.searchResults=[],window.searchTerms=[],window.currentPreviewIndex=-1,window.search=search,document.addEventListener("click",(function(e){const t=e.target.closest("a.tag");if(!t||t.closest("#globalsearch"))return;const n=t.getAttribute("href");n&&"javascript:void(0);"!==n||window.toggleTagSearch(t)}))</script>
11
11<script defer="defer" src="https://unpkg.com/lucide@latest"></script>
11
11<script defer="defer">document.addEventListener("DOMContentLoaded",(()=>{lucide.createIcons({attrs:{class:["svg-icon"]}})}))</script>
11
11<script>document.addEventListener("DOMContentLoaded",(function(){document.querySelectorAll(".obsidian-bases-views").forEach((function(e){var t=e.querySelector(".obsidian-bases-active-view"),a=e.querySelector(".obsidian-bases-dropdown"),i=e.querySelectorAll(".obsidian-bases-dropdown-item"),n=e.querySelectorAll(".obsidian-bases-view-panel"),o=e.querySelector(".obsidian-bases-active-view-name"),r=e.querySelector(".obsidian-bases-count-value");t&&a&&(t.addEventListener("click",(function(e){e.stopPropagation();var i="none"!==a.style.display;a.style.display=i?"none":"block",t.setAttribute("aria-expanded",!i)})),document.addEventListener("click",(function(){a.style.display="none",t.setAttribute("aria-expanded","false")})),i.forEach((function(s){s.addEventListener("click",(function(s){s.stopPropagation();var d=this.getAttribute("data-view-index");i.forEach((function(e){e.classList.remove("active")})),this.classList.add("active"),n.forEach((function(e){e.style.display="none"}));var l=e.querySelector('.obsidian-bases-view-panel[data-view-index="'+d+'"]');l&&(l.style.display="block");var c=this.querySelector(".obsidian-bases-view-icon"),u=t.querySelector(".obsidian-bases-view-icon");if(c&&u&&u.replaceWith(c.cloneNode(!0)),o&&(o.textContent=this.textContent.trim()),r&&l){var b=l.querySelectorAll("tbody tr:not(.obsidian-base-group-row), .obsidian-base-card, .obsidian-base-list li");r.textContent=b.length}a.style.display="none",t.setAttribute("aria-expanded","false")}))})))})),document.querySelectorAll(".bases-dynamic-date").forEach((function(e){var t=e.getAttribute("data-type"),a=new Date;if("today"===t){var i=a.getFullYear(),n=String(a.getMonth()+1).padStart(2,"0"),o=String(a.getDate()).padStart(2,"0");e.textContent=i+"-"+n+"-"+o}else if("now"===t){i=a.getFullYear(),n=String(a.getMonth()+1).padStart(2,"0"),o=String(a.getDate()).padStart(2,"0");var r=String(a.getHours()).padStart(2,"0"),s=String(a.getMinutes()).padStart(2,"0");e.textContent=i+"-"+n+"-"+o+" "+r+":"+s}}))}))</script>
11 <style>.excalidraw-svg .excalidraw-embedded-note-content{width:100%;height:100%;overflow-y:auto;background:var(--background-primary);color:var(--text-normal);padding:.5em 1em;font-size:.8em;border:1px solid var(--background-modifier-border,#e3e3e3);border-radius:4px;box-sizing:border-box;unicode-bidi:plaintext}</style>
11<script>window.addEventListener("load",(function(){document.querySelectorAll("iframe.excalidraw-embedded-note").forEach((function(e){function t(){var t;try{t=e.contentDocument}catch(e){return}if(t){var n=t.querySelector(".content");if(n){var c=document.createElement("div");c.className="excalidraw-embedded-note-content",c.innerHTML=n.innerHTML,e.parentNode.replaceChild(c,e)}}}e.contentDocument&&"complete"===e.contentDocument.readyState&&e.contentDocument.querySelector(".content")?t():e.addEventListener("load",t)}))}))</script>
11
11<script data-goatcounter="https://photovisionproject.goatcounter.com/count" 12 async src="//gc.zgo.at/count.js"></script>
12</body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.