<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<rss version="2.0"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:media="http://search.yahoo.com/mrss/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
>
  <channel>
    <title>Home on @jelloeater👾</title>
    <link>https://jelloeater.me/location/home/</link>
    <description>Recent content in Home on @jelloeater👾</description>
    <generator>Hugo</generator>
    <language>en</language>
    
    <copyright>Jelloeater 2024</copyright>
    <image>
      <title>Home on @jelloeater👾</title>
      <url>https://jelloeater.me/location/home/favicon-32x32.png</url>
      <link>https://jelloeater.me/location/home/</link>
      <description>Recent content in Home on @jelloeater👾</description>
    </image>
    <lastBuildDate>Sat, 27 Sep 2025 23:55:17 -0400</lastBuildDate>
    
    <atom:link href="https://jelloeater.me/location/home/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>What Ive read in Sept 2025</title>
      <link>
      https://jelloeater.me/blog/rss-dump-2025-09/
      </link>
      <dc:creator>Jelloeater</dc:creator>
      <comments>
      https://jelloeater.me/blog/rss-dump-2025-09/#comments
      </comments>
      <pubDate>Sat, 27 Sep 2025 23:55:17 -0400</pubDate>
      <category>link_dump</category>
      <guid>https://jelloeater.me/blog/rss-dump-2025-09/</guid>
      


    
    
    
    

    
    


    
        



    

    

    <media:content url="https://jelloeater.me/blog/rss-dump-2025-09/gen-cover.png" medium="image" type="image/png"/>
    <media:thumbnail url="https://jelloeater.me/blog/rss-dump-2025-09/gen-cover.png"/>
    



      
      
      <description><![CDATA[Open web, gaming, and security highlights]]></description>
      
      <content:encoded>
        <![CDATA[
        
        <p>Here is a condensed, markdown-formatted link dump blog post covering the most interesting, novel, or representative entries from your September 2025 collection.</p>
<h3 id="software--tech">Software &amp; Tech</h3>
<ul>
<li><a href="https://jamesg.blog/2025/09/15/a-255-byte-web-page/">A 255 byte web page</a> &ndash; Minimalist web coding at its peak.</li>
<li><a href="https://www.docker.com/blog/announcing-docker-model-runner-ga/">Docker: Model Runner General Availability</a> &ndash; Docker’s latest tool for ML workloads.</li>
<li><a href="https://github.blog/ai-and-ml/github-copilot/5-ways-to-integrate-github-copilot-coding-agent-into-your-workflow/">GitHub Copilot in Workflows</a> &ndash; Practical uses for Copilot agents right now.</li>
<li><a href="https://blog.cloudflare.com/eliminating-cold-starts-2-shard-and-conquer/">Eliminating Cold Starts: Cloudflare</a> &ndash; Performance lessons from edge computing.</li>
<li><a href="https://itsfoss.com/hyprland-distros/">Hyprland Made Easy: Beautiful Distros</a> &ndash; Eye-candy Linux for the modern desktop.</li>
</ul>
<h3 id="open-web--blogging">Open Web &amp; Blogging</h3>
<ul>
<li><a href="https://bapsi.micro.blog/2025/08/20/long-live-rss.html">LONG LIVE RSS!! 📚</a> &ndash; RSS endures in the IndieWeb.</li>
<li><a href="https://blog.jim-nielsen.com/2025/why-make-a-website-in-2025/">Why Make a Website in 2025?</a> &ndash; The ongoing relevance of personal sites.</li>
<li><a href="https://manuelmoreale.com/blogs-don-t-need-to-be-so-lonely">Blogs Don’t Need to Be So Lonely</a> &ndash; The joys of blogging community.</li>
</ul>
<h3 id="culture--society">Culture &amp; Society</h3>
<ul>
<li><a href="https://insidemordecai.com/joy-of-libraries/">The Joy of Libraries</a> &ndash; A love letter to public libraries.</li>
<li><a href="https://joelchrono.xyz/blog/keeping-old-stuff-or-not/?ref=feedle.world">Keeping Old Stuff, or Not</a> &ndash; Rethinking possessions in a digital age.</li>
<li><a href="https://onefoottsunami.com/2025/09/22/weaponizing-narcan/">Weaponizing Narcan</a> &ndash; Unexpected uses and abuses of opioid reversal drugs.</li>
<li><a href="https://bigthink.com/series/the-big-think-interview/upwards-immobility/?ref=feedle.world">Why the American Dream No Longer Moves Upward</a> &ndash; A timely Big Think essay.</li>
</ul>
<h3 id="developer--productivity">Developer &amp; Productivity</h3>
<ul>
<li><a href="https://www.chriseldon.com/blog/2025/09/do-it-for-fun.html">Do It for Fun</a> &ndash; Rediscovering joy in making things.</li>
<li><a href="https://www.chriseldon.com/blog/2025/09/learning-vim.html">Learning Vim</a> &ndash; One dev’s migration tale.</li>
<li><a href="https://sethmlarson.dev/extracting-nes-and-n64-from-zelda-collectors-edition?utm_campaign=rss">Extracting NES &amp; N64 ROMs from Zelda Collector&rsquo;s Edition</a> &ndash; Deep retro hacking.</li>
</ul>
<h3 id="science--future">Science &amp; Future</h3>
<ul>
<li><a href="https://www.economist.com/science-and-technology/2025/09/15/pink-pineapples-and-lab-grown-meat-tasting-the-foods-of-the-future">Pink Pineapples and Lab-Grown Meat</a> &ndash; The new era of engineered food.</li>
<li><a href="https://www.economist.com/united-states/2025/09/21/rail-travel-is-booming-in-america">Rail Travel is Booming in America</a> &ndash; Infrastructure and cultural shift news.</li>
<li><a href="https://bigthink.com/mini-philosophy/the-cold-plunge-fallacy-why-some-fads-may-never-work-for-you/">The Cold-Plunge Fallacy</a> &ndash; Debunking wellness trends.</li>
</ul>
<h3 id="security--privacy">Security &amp; Privacy</h3>
<ul>
<li><a href="http://android-developers.googleblog.com/2025/09/best-practices-migrating-users-passkeys-credential-manager.html">Best Practices for Migrating Users to Passkeys</a> &ndash; Android Dev on passkey transitions.</li>
<li><a href="https://www.darkreading.com/endpoint-security/hacked-routers-linger-on-the-internet-for-years-data-shows">Hacked Routers Linger on the Internet for Years</a> &ndash; Dark Reading on persistent vulnerabilities.</li>
<li><a href="https://www.backblaze.com/blog/why-cloud-native-developers-need-a-specialized-storage-layer/">Why Cloud-Native Developers Need Specialized Storage</a> &ndash; Rethinking infrastructure.</li>
</ul>
<h3 id="media--entertainment">Media &amp; Entertainment</h3>
<ul>
<li><a href="https://stephvee.ca/blog/entertainment/alien-earth-was-ultimately-a-letdown/">Alien: Earth Was Ultimately a Letdown</a> &ndash; A genre-movie postmortem.</li>
<li><a href="https://embedded.substack.com/p/the-tiktok-ification-of-saturday">The TikTok-ification of ‘Saturday Night Live’</a> &ndash; Streaming culture’s new normal.</li>
</ul>
<h3 id="bonus-classic-web-nostalgia">Bonus: Classic Web Nostalgia</h3>
<ul>
<li><a href="https://indieweb.social/@classicweb/115221622533497620">bored.com, December 02, 2010 (Internet Archive)</a> &ndash; Remember internet before enshittification?</li>
<li><a href="https://indieweb.social/@classicweb/115095560660576364">memepool.com, December 10, 2001 (Internet Archive)</a> &ndash; The roots of social linking.</li>
</ul>

        <br>
<div class="rss_avatar">
    
<a href="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=800" target="_blank" rel="noopener noreferrer">
  <img
  class="gravatar-img"
  
  alt="Avatar"
  loading="lazy"
  src="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=250"
  />
</a>

</div>
<style>
.rss_avatar{
    float: right;
}
.rss_avatar img{
    border-radius: 100%;
    max-height: 150px;
}
</style>
<br>
<hr>
Reply:
<a href="https://mastodon.social/@jelloeater">🐘 @jelloeater - Masto</a> |
<a href="https://bsky.app/profile/jelloeater.bsky.social">🦋 @jelloeater - Bsky</a> |
<a href="https://bsky.app/profile/did:plc:srmltlrjqfr7mbfdejuxrbss/rss">🦋 @jelloeater - Bsky RSS</a> |
<a href="mailto:jello@jelloeater.me?subject=RE:rss-dump-2025-09">📧 Email Me</a> |
<a href="https://jelloeater.me/blog/rss-dump-2025-09/#comments">💬 Comment</a>
<br>
<a href="https://jelloeater.me/link/">🌳 LinkTree</a> |
<a href="https://ko-fi.com/jelloeater">☕ Buy me a coffee</a>
<hr>


Tags:
<a href="https://jelloeater.me/tags/link_dump/">#link_dump</a>

        ]]>
        </content:encoded>
    </item>
    <item>
      <title>Sunday Funday - Sept 2025</title>
      <link>
      https://jelloeater.me/blog/sunday-funday-2025-09/
      </link>
      <dc:creator>Jelloeater</dc:creator>
      <comments>
      https://jelloeater.me/blog/sunday-funday-2025-09/#comments
      </comments>
      <pubDate>Sat, 27 Sep 2025 23:51:12 -0400</pubDate>
      <category>link_dump</category>
      
      <category>sunday_funday</category>
      <guid>https://jelloeater.me/blog/sunday-funday-2025-09/</guid>
      


    
    
    
    

    
    


    
        



    

    

    <media:content url="https://jelloeater.me/blog/sunday-funday-2025-09/gen-cover.png" medium="image" type="image/png"/>
    <media:thumbnail url="https://jelloeater.me/blog/sunday-funday-2025-09/gen-cover.png"/>
    



      
      
      <description><![CDATA[Some politics, a little AI, and a lot of culture]]></description>
      
      <content:encoded>
        <![CDATA[
        
        <p>Some of the best reads I&rsquo;ve come across recently, organized by theme. Enjoy!</p>
<h3 id="coping-culture--community">Coping, Culture &amp; Community</h3>
<ul>
<li><a href="https://kottke.org/25/01/how-to-weather-the-storm">How to Weather the Storm</a> &ndash; Jason Kottke collects practical wisdom on surviving authoritarian times, mutual aid, critical ignoring, and building community.</li>
<li><a href="https://flaminghydra.com/cooking-to-survive/">Cooking to Survive</a> &ndash; A personal take on food, resilience, and how eating connects us during turbulent times.</li>
<li><a href="https://kottke.org/25/07/the-kindly-brontosaurus-1">The Kindly Brontosaurus</a> &ndash; On quiet persistence, awkward waiting, and making your presence felt in the gentlest way.</li>
<li><a href="https://tracydurnell.com/2025/06/01/midlife-rage/">Midlife Rage</a> &ndash; Reflections on hitting a boiling point in middle age, and channeling it toward something purposeful.</li>
<li><a href="https://yordi.me/the-world-is-improvised/">The World Is Improvised</a> &ndash; A hopeful essay about navigating uncertainty by embracing improvisation.</li>
<li><a href="https://www.theparisreview.org/blog/2025/07/17/the-same-damned-thing-over-and-over/">The Same Damned Thing Over and Over</a> &ndash; Parisians, rituals, patterns, and the strange comfort of repetition.</li>
</ul>
<hr>
<h3 id="ai-tech--digital-life">AI, Tech &amp; Digital Life</h3>
<ul>
<li><a href="https://stratechery.com/2025/checking-in-on-ai-and-the-big-five/">Checking In on AI and the Big Five</a> &ndash; Ben Thompson’s deep dive on where Apple, Google, Meta, Microsoft, and Amazon stand in the AI arms race.</li>
<li><a href="https://stratechery.com/2025/snapshots-of-an-evolving-ai-landscape/">Snapshots of an Evolving AI Landscape</a> &ndash; Follow-up thoughts on AI trends and strategic shifts.</li>
<li><a href="https://www.404media.co/inside-ai-addiction-support-groups-where-people-try-to-stop-talking-to-chatbots/">Inside AI Addiction Support Groups</a> &ndash; Support circles for those who can’t stop chatting with bots.</li>
<li><a href="https://futurism.com/ai-turbocharging-global-inequality">AI Turbocharging Global Inequality</a> &ndash; How this new wave of automation could widen divides.</li>
<li><a href="https://mjtsai.com/blog/2025/06/26/software-is-changing-again/">Software Is Changing Again</a> &ndash; Michael Tsai on another turning point for software dev.</li>
<li><a href="https://bigthink.com/business/ai-vs-humans-a-question-of-humanity/">AI vs Humans: A Question of Humanity</a> &ndash; A philosophical examination of what remains uniquely human.</li>
<li><a href="https://www.theatlantic.com/culture/archive/2025/06/artificial-intelligence-illiteracy/683021/">Artificial Intelligence Illiteracy</a> &ndash; Why daily life increasingly demands AI literacy.</li>
</ul>
<hr>
<h3 id="tools-code--open-source">Tools, Code &amp; Open Source</h3>
<ul>
<li><a href="https://www.docker.com/blog/docker-desktop-4-43/">Docker Desktop 4.43</a> &ndash; New updates for container developers.</li>
<li><a href="https://www.docker.com/blog/docker-mcp-catalog-secure-way-to-discover-and-run-mcp-servers/">Docker MCP Catalog</a> &ndash; A secure way to explore MCP servers.</li>
<li><a href="https://www.ducktyped.org/p/aws-in-terraform">AWS in Terraform</a> &ndash; Practical breakdowns for infrastructure coders.</li>
<li><a href="https://github.blog/ai-and-ml/github-copilot/5-ways-to-transform-your-workflow-using-github-copilot-and-mcp/">GitHub Copilot + MCP</a> &ndash; New AI-assisted dev workflows.</li>
<li><a href="https://github.com/aws/pgactive">pgactive</a> &ndash; Active-active database setup for Postgres from AWS.</li>
<li><a href="https://github.com/fastapi/typer">FastAPI Typer</a> &ndash; Build intuitive Python CLIs.</li>
<li><a href="https://github.com/AdguardTeam/AdGuardHome?tab=readme-ov-file#comparison">AdGuard Home comparisons</a> &ndash; Block ads, trackers, and take back your network.</li>
<li><a href="https://github.com/chubin/wttr.in">wttr.in</a> &ndash; Minimalist weather forecasts in your terminal.</li>
</ul>
<hr>
<h3 id="indie-web--digital-minimalism">Indie Web &amp; Digital Minimalism</h3>
<ul>
<li><a href="https://www.joanwestenberg.com/p/i-deleted-my-second-brain">I Deleted My Second Brain</a> &ndash; On letting go of obsessive notetaking systems.</li>
<li><a href="https://winther.sysctl.dk/curate-your-own-website/">Curate Your Own Website</a> &ndash; A call for more personal web gardens.</li>
<li><a href="https://flaminghydra.com/the-internet-you-make/">The Internet You Make</a> &ndash; Why the web we have is the one we cultivate.</li>
<li><a href="https://www.optoutproject.net/stop-the-scroll/">Stop the Scroll</a> &ndash; Strategies to avoid infinite feeds.</li>
<li><a href="https://www.hottakes.space/p/you-dont-always-have-to-publish">You Don’t Always Have to Publish</a> &ndash; On rest, restraint, and resisting output pressure.</li>
</ul>
<hr>
<h3 id="politics-labor--media">Politics, Labor &amp; Media</h3>
<ul>
<li><a href="https://www.bloodinthemachine.com/p/the-budget-bill-opens-the-floodgates">The Budget Bill Opens the Floodgates</a> &ndash; Worker struggles in the wake of new policy.</li>
<li><a href="https://www.bloodinthemachine.com/p/hundreds-of-workers-mobilize-to-stop">Hundreds of Workers Mobilize to Stop</a> &ndash; Collective resistance comes into focus.</li>
<li><a href="https://www.bloodinthemachine.com/p/the-luddite-renaissance-is-in-full">The Luddite Renaissance</a> &ndash; On modern echoes of machine-breaking resistance.</li>
<li><a href="https://www.nytimes.com/2025/06/26/opinion/peter-thiel-antichrist-ross-douthat.html">Peter Thiel, Antichrist?</a> Provocative op-ed exploring ideology.</li>
<li><a href="https://jtwoodhouse.com/let-democracy-go/">Let Democracy Go</a> &ndash; Hard questions about system fragility.</li>
<li><a href="https://lucio.boxofcox.org/2025/07/12/itching-for-just-violence/">Itching for Just Violence</a> &ndash; A grim reflection on reactionary force.</li>
</ul>
<hr>
<h3 id="odds--ends">Odds &amp; Ends</h3>
<ul>
<li><a href="https://www.osnews.com/story/142677/servers-and-thin-clients-in-every-home-is-the-future-they-stole-from-us/">Servers and Thin Clients in Every Home</a> &ndash; A retro-futurist computing dream that never arrived.</li>
<li><a href="https://www.dpreview.com/articles/8692510157/what-gear-does-dpreview-staff-use-for-travel">What Gear Does DPReview Staff Use for Travel?</a> &ndash; Behind-the-scenes kit picks.</li>
<li><a href="https://disassociated.com/emulate-wes-anderson-with-shoot-like-wes-book-adam-woodward-liz-seabrook/">Emulate Wes Anderson</a> &ndash; A photo book on capturing symmetry and color.</li>
<li><a href="https://www.historicaltechtree.com/">Historical Tech Tree</a> &ndash; A playful chart mapping humanity’s inventions like a strategy game.</li>
<li><a href="https://weatherstar.netbymatt.com/">WeatherStar Emulator</a> &ndash; Bring back retro Weather Channel vibes.</li>
<li><a href="https://www.bee-link.com/products/beelink-me-mini-n150?variant=47599172780274">BeeLink Mini N150</a> &ndash; A budget tiny PC with surprising power.</li>
</ul>

        <br>
<div class="rss_avatar">
    
<a href="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=800" target="_blank" rel="noopener noreferrer">
  <img
  class="gravatar-img"
  
  alt="Avatar"
  loading="lazy"
  src="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=250"
  />
</a>

</div>
<style>
.rss_avatar{
    float: right;
}
.rss_avatar img{
    border-radius: 100%;
    max-height: 150px;
}
</style>
<br>
<hr>
Reply:
<a href="https://mastodon.social/@jelloeater">🐘 @jelloeater - Masto</a> |
<a href="https://bsky.app/profile/jelloeater.bsky.social">🦋 @jelloeater - Bsky</a> |
<a href="https://bsky.app/profile/did:plc:srmltlrjqfr7mbfdejuxrbss/rss">🦋 @jelloeater - Bsky RSS</a> |
<a href="mailto:jello@jelloeater.me?subject=RE:sunday-funday-2025-09">📧 Email Me</a> |
<a href="https://jelloeater.me/blog/sunday-funday-2025-09/#comments">💬 Comment</a>
<br>
<a href="https://jelloeater.me/link/">🌳 LinkTree</a> |
<a href="https://ko-fi.com/jelloeater">☕ Buy me a coffee</a>
<hr>


Tags:
<a href="https://jelloeater.me/tags/link_dump/">#link_dump</a>

<a href="https://jelloeater.me/tags/sunday_funday/">#sunday_funday</a>

        ]]>
        </content:encoded>
    </item>
    <item>
      <title>August 2025 Blog Dump</title>
      <link>
      https://jelloeater.me/blog/blog-dump-2025-aug/
      </link>
      <dc:creator>Jelloeater</dc:creator>
      <comments>
      https://jelloeater.me/blog/blog-dump-2025-aug/#comments
      </comments>
      <pubDate>Sun, 31 Aug 2025 17:47:52 +0000</pubDate>
      <category>blogdump</category>
      
      <category>link_dump</category>
      <guid>https://jelloeater.me/blog/blog-dump-2025-aug/</guid>
      


    
    
    
    

    
    


    
        



    

    

    <media:content url="https://jelloeater.me/blog/blog-dump-2025-aug/gen-cover.png" medium="image" type="image/png"/>
    <media:thumbnail url="https://jelloeater.me/blog/blog-dump-2025-aug/gen-cover.png"/>
    



      
      
      <description><![CDATA[Blogs about Technology, design, niche hobbies, cultural commentary, and daily life]]></description>
      
      <content:encoded>
        <![CDATA[
        
        <h2 id="another-month-more-links--neat">Another month, more links &hellip; neat!</h2>
<p>I&rsquo;m still struggling to find time to get through my RSS feeds, so <em>hopefully</em> this will be the last blog dump for a month or so, but either way, I just want to make sure these don&rsquo;t get lost into the ether. 💝</p>
<h2 id="blog-list">Blog List</h2>
<h3 id="tech-development--web-design">Tech, Development, &amp; Web Design</h3>
<p><em>This category includes blogs focused on software development, web design, cloud infrastructure, and general technology commentary.</em></p>
<ul>
<li><a href="https://aaronparecki.com/">Aaron Parecki</a></li>
<li><a href="https://allenpike.com/">Allen Pike, pixel crafter</a></li>
<li><a href="https://www.anildash.com/">Anil Dash</a></li>
<li><a href="https://artemis.sh/">Artemis Everfree</a></li>
<li><a href="https://www.benkuhn.net/">benkuhn.net</a></li>
<li><a href="https://benovermyer.com/">Ben Overmyer, the Coder</a></li>
<li><a href="https://bradfrost.com/blog/">Blog | Brad Frost</a></li>
<li><a href="https://david.shanske.com/">David Shanske – The Definitive Location</a></li>
<li><a href="https://davideaversa.it/">Davide Aversa</a></li>
<li><a href="https://writing.kemitchell.com/">/dev/lawyer</a></li>
<li><a href="https://matuzo.at/">Home - Manuel Matuzovic</a></li>
<li><a href="https://sarahspiekermann.com/">Home - Sarah Spiekermann</a></li>
<li><a href="https://chrismcleod.dev/">I Build Things — Chris McLeod</a></li>
<li><a href="https://zeldman.com/">Jeffrey Zeldman Presents - Since 1995.</a></li>
<li><a href="https://jzhao.xyz/">jzhao.xyz</a></li>
<li><a href="https://maggieappleton.com/">Maggie Appleton</a></li>
<li><a href="https://mikebell.io/">Mike Bell - Blog &amp; Stuff</a></li>
<li><a href="https://hamatti.org/blog/">My writings : Juha-Matti Santala</a></li>
<li><a href="https://nelson.cloud/">Nelson Figueroa</a></li>
<li><a href="https://takuti.me/note/">Notes | Takuya Kitazawa</a></li>
<li><a href="https://pcarrier.com/">Pierre Carrier</a></li>
<li><a href="https://rishikeshs.com/">Rishikesh Sreehari</a></li>
<li><a href="https://squeaki.sh/">squeaki.sh</a></li>
<li><a href="https://stackdiver.com/">Stack Diver</a></li>
<li><a href="https://stephango.com/">Steph Ango</a></li>
<li><a href="https://waxy.org/">Waxy.org - Andy Baio lives here</a></li>
</ul>
<h3 id="design-art--creativity">Design, Art, &amp; Creativity</h3>
<p><em>Blogs focusing on graphic design, illustration, photography, art, and the creative process.</em></p>
<ul>
<li><a href="https://tyfromtheinternet.com/posts/">Blog | Ty Finck, Graphic Design in Ithaca, New York</a></li>
<li><a href="https://www.sholis.com/">Brian Sholis</a></li>
<li><a href="https://blog.reimenayee.com/">Home | Blog – Reimena Yee</a></li>
<li><a href="https://maique.eu/">{maique}</a></li>
<li><a href="https://www.rotational.co.uk/">rotational by Alex Wiltshire</a></li>
<li><a href="https://scottboms.com/">Scott Boms | Creative direction, Design, and Printmaking</a></li>
<li><a href="https://www.lazaruscorporation.co.uk/blogs/artists-notebook">The Artist’s Notebook</a></li>
</ul>
<h3 id="culture-media--history">Culture, Media, &amp; History</h3>
<p><em>These blogs cover topics like history, media analysis, music, theatre, and cultural commentary.</em></p>
<ul>
<li><a href="https://www.fluxblog.org/">Fluxblog</a></li>
<li><a href="https://going-medieval.com/">Going Medieval – Medieval History, Pop Culture, Swearing</a></li>
<li><a href="https://glycerinequeenmedia.com/">Glycerine Queen Media - News, opinion and everything in between</a></li>
<li><a href="https://warnercrocker.com/">Life on the Wicked Stage: Act 3 – Musings on life, the theatre, technology, culture&hellip;</a></li>
<li><a href="https://thisvictorianlife.com/">Secure Site Not Available</a></li>
</ul>
<h3 id="niche--special-interest">Niche &amp; Special Interest</h3>
<p><em>Blogs dedicated to a very specific topic, from coffee to science to travel.</em></p>
<ul>
<li><a href="https://hasbrouck.org/">Edward Hasbrouck, &ldquo;The Practical Nomad&rdquo;</a> (Travel)</li>
<li><a href="https://www.futilitycloset.com/">Futility Closet - An idler&rsquo;s miscellany of compendious amusements</a> (Curiosities &amp; Puzzles)</li>
<li><a href="https://jamesg.blog/">James&rsquo; Coffee Blog</a> (Coffee)</li>
<li><a href="https://mythcreants.com/">Mythcreants – Fantasy &amp; Science Fiction for Storytellers</a> (Writing &amp; Genre Fiction)</li>
<li><a href="https://rootprivileges.net/">Root Privileges – A blog about science and scepticism with an Indian outlook</a> (Science &amp; Skepticism)</li>
<li><a href="https://spectralcodex.com/">Spectral Codex</a> (Curiosities)</li>
</ul>
<h3 id="link-blogs--curated-content">Link Blogs &amp; Curated Content</h3>
<p><em>Blogs whose primary format is sharing and commenting on links from around the web.</em></p>
<ul>
<li><a href="https://www.timemachinego.com/linkmachinego/">LinkMachineGo | &lsquo;This is Lima Mike Golf. Shall we blog?&rsquo;</a></li>
<li><a href="https://www.marginalia.nu/log/">Weblog @ marginalia.nu</a></li>
</ul>
<h3 id="digital-gardens--wikis">Digital Gardens &amp; Wikis</h3>
<p><em>A non-linear format for sharing knowledge and notes.</em></p>
<ul>
<li><a href="https://chotrin.org/">chötrin&rsquo;s wiki.</a></li>
</ul>
<h3 id="personal--general-musings">Personal &amp; General Musings</h3>
<p><em>A broad category for personal journals, life updates, and general commentary that defines much of the indie blogosphere.</em></p>
<ul>
<li><a href="https://aegir.org/words/lush">Aegir.org | Lush</a></li>
<li><a href="https://blakewatson.com/">blakewatson.com - Homepage</a></li>
<li><a href="https://www.eddiedale.com/blog">Blog | Eddie Dale</a></li>
<li><a href="https://julianpaul.me/blog">Blog - Julian Paul</a></li>
<li><a href="https://rosano.ca/blog">Blog</a></li>
<li><a href="https://www.flingelli.com/blog">Blog — Jakob Flingelli</a></li>
<li><a href="https://bobbyhiltz.com/">Bobby&rsquo;s Blog | BobbyHiltz.com</a></li>
<li><a href="https://cadence.moe/">cadence&rsquo;s website</a></li>
<li><a href="https://calv.info/">calv.info/</a></li>
<li><a href="https://www.cboxes.icu/">cboxes.icu/</a></li>
<li><a href="https://chrisglass.com/">Chris Glass</a></li>
<li><a href="https://www.cozypper.net/">Cozy Zypper</a></li>
<li><a href="https://freyavie.blog/">Freya Vie</a></li>
<li><a href="https://www.joshbeckman.org/">From the Desk of Josh Beckman</a></li>
<li><a href="https://grubz.net/">gru:Bz</a></li>
<li><a href="https://heyloura.com/">Hey Loura!</a></li>
<li><a href="https://hosentaschenblog.org/">hosentaschenblog.org</a> (<em>&ldquo;Pocket blog&rdquo; in German - might be fun for your language practice!</em>)</li>
<li><a href="https://jesperreiche.com/">Jesper</a></li>
<li><a href="https://joelchrono.xyz/">Joel&rsquo;s Homepage</a></li>
<li><a href="https://jshox.com/jay/">jshox.com/jay</a></li>
<li><a href="https://www.cassandrapages.com/">Just a moment&hellip;</a></li>
<li><a href="https://ludic.mataroa.blog/">Ludicity</a></li>
<li><a href="https://nice-marmot.net/">Main Page</a></li>
<li><a href="https://mandarismoore.com/">Mandaris</a></li>
<li><a href="https://noahie.xyz/blog/">Noahie&rsquo;s Blog</a></li>
<li><a href="https://www.henryleach.com/">Notes</a></li>
<li><a href="https://ptrbrynt.com/">Peter Bryant</a></li>
<li><a href="https://peterspath.net/">Peter&rsquo;s Path</a></li>
<li><a href="https://rebeccatoh.co/">rebeccatoh.co</a></li>
<li><a href="https://www.patrickrhone.net/">Rhoneisms – by Patrick Rhone, Master Generalist</a></li>
<li><a href="https://sals.place/">Sal&rsquo;s</a></li>
<li><a href="https://stfn.pl/">STFN</a></li>
<li><a href="https://stephen.nyc/">Stephen Petrey - hypertext, words and more</a></li>
<li><a href="https://stillness.digital/">Stillness.Digital | A Place To Rest</a></li>
<li><a href="https://aj.bourg.family/">The Anti Social – just something I was thinking</a></li>
<li><a href="https://notaprick.blog/">trying not to be a prick</a></li>
<li><a href="https://usamainsights.com/">Usama Insights</a></li>
<li><a href="https://vale.rocks/">Vale.Rocks</a></li>
<li><a href="https://victorwynne.com/">Victor Wynne</a></li>
<li><a href="https://www.jayeless.net/">Welcome! - Jayeless.net</a></li>
<li><a href="https://fredrocha.net/words/">Words - fredrocha.net</a></li>
<li><a href="https://blog.x-way.org/">x-log</a></li>
</ul>

        <br>
<div class="rss_avatar">
    
<a href="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=800" target="_blank" rel="noopener noreferrer">
  <img
  class="gravatar-img"
  
  alt="Avatar"
  loading="lazy"
  src="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=250"
  />
</a>

</div>
<style>
.rss_avatar{
    float: right;
}
.rss_avatar img{
    border-radius: 100%;
    max-height: 150px;
}
</style>
<br>
<hr>
Reply:
<a href="https://mastodon.social/@jelloeater">🐘 @jelloeater - Masto</a> |
<a href="https://bsky.app/profile/jelloeater.bsky.social">🦋 @jelloeater - Bsky</a> |
<a href="https://bsky.app/profile/did:plc:srmltlrjqfr7mbfdejuxrbss/rss">🦋 @jelloeater - Bsky RSS</a> |
<a href="mailto:jello@jelloeater.me?subject=RE:blog-dump-2025-aug">📧 Email Me</a> |
<a href="https://jelloeater.me/blog/blog-dump-2025-aug/#comments">💬 Comment</a>
<br>
<a href="https://jelloeater.me/link/">🌳 LinkTree</a> |
<a href="https://ko-fi.com/jelloeater">☕ Buy me a coffee</a>
<hr>


Tags:
<a href="https://jelloeater.me/tags/blogdump/">#blogdump</a>

<a href="https://jelloeater.me/tags/link_dump/">#link_dump</a>

        ]]>
        </content:encoded>
    </item>
    <item>
      <title>Sunday Funday - Aug 2025</title>
      <link>
      https://jelloeater.me/blog/sunday-funday-2025-08/
      </link>
      <dc:creator>Jelloeater</dc:creator>
      <comments>
      https://jelloeater.me/blog/sunday-funday-2025-08/#comments
      </comments>
      <pubDate>Sat, 09 Aug 2025 21:41:49 +0000</pubDate>
      <category>ai</category>
      
      <category>design</category>
      
      <category>devops</category>
      
      <category>hardware</category>
      
      <category>link_dump</category>
      
      <category>python</category>
      
      <category>slow_living</category>
      
      <category>sunday_funday</category>
      
      <category>web_culture</category>
      <guid>https://jelloeater.me/blog/sunday-funday-2025-08/</guid>
      


    
    
    
    

    
    


    
        



    

    

    <media:content url="https://jelloeater.me/blog/sunday-funday-2025-08/gen-cover.png" medium="image" type="image/png"/>
    <media:thumbnail url="https://jelloeater.me/blog/sunday-funday-2025-08/gen-cover.png"/>
    



      
      
      <description><![CDATA[Now with moar Linux]]></description>
      
      <content:encoded>
        <![CDATA[
        
        <h2 id="-tech--programming">🖥️ Tech &amp; Programming</h2>
<ul>
<li><a href="https://blog.frankel.ch/opentelemetry-tracing-jvm/">OpenTelemetry Tracing on the JVM</a></li>
<li><a href="https://golangweekly.com/issues/565">An explorer and visualizer for Go concurrency patterns</a></li>
<li><a href="https://github.blog/ai-and-ml/generative-ai/a-practical-guide-on-how-to-use-the-github-mcp-server/">A practical guide on how to use the GitHub MCP server</a></li>
<li><a href="https://aws.amazon.com/blogs/devops/gitops-continuous-delivery-with-argocd-and-eks-using-natural-language/">GitOps continuous delivery with ArgoCD and EKS using natural language</a></li>
<li><a href="https://packagemain.tech/p/terminal-ui-bubble-tea">Developing a terminal UI in Go with Bubble Tea</a></li>
<li><a href="https://simonwillison.net/2025/Aug/3/virtual-threads/#atom-everything">From Async/Await to Virtual Threads</a></li>
<li><a href="https://simonwillison.net/2025/Jul/14/application-development-without-programmers/#atom-everything">Application development without programmers</a></li>
<li><a href="https://www.reddit.com/r/zsh/comments/1lv6u2f/modern_linux_a_containerized_batteriesincluded/">Modern linux: a containerized, batteries-included collection of tools</a></li>
<li><a href="https://simonwillison.net/2025/Jul/8/uv-cache-prune/#atom-everything">uv cache prune</a></li>
</ul>
<h2 id="-ai--machine-learning">🤖 AI &amp; Machine Learning</h2>
<ul>
<li><a href="https://github.blog/ai-and-ml/generative-ai/junior-developers-arent-obsolete-heres-how-to-thrive-in-the-age-of-ai/">Junior developers aren’t obsolete: Here’s how to thrive in the age of AI</a></li>
<li><a href="https://packagemain.tech/p/evolution-of-code-review-practices-code-rabbit">The evolution of code review practices in the world of AI</a></li>
<li><a href="https://pxlnv.com/linklog/google-ai-search-response/">Google Says A.I. Search Is Just Great</a></li>
<li><a href="https://simonwillison.net/2025/Aug/4/chatgpt-agents-agent/#atom-everything">ChatGPT agent triggers crawls from Bingbot and Yandex</a></li>
<li><a href="https://thoughts.uncountable.uk/working-with-ai/">Working with AI</a></li>
<li><a href="https://www.bloodinthemachine.com/p/inside-the-escalating-struggle-over">Inside the escalating struggle over AI in journalism</a></li>
<li><a href="https://www.bloodinthemachine.com/p/trumps-ai-action-plan-is-a-blueprint">Trump&rsquo;s AI Action Plan is a blueprint for dystopia</a></li>
<li><a href="https://futurism.com/expert-people-losing-themselves-ai">Experts Warn that People Are Losing Themselves to AI</a></li>
<li><a href="https://futurism.com/pyschiatric-researchers-risk-ai">Psychiatric Researchers Warn of Grim Psychological Risks for AI Users</a></li>
<li><a href="https://pxlnv.com/blog/personal-superintelligence/">The Vagueness and Vagaries of ‘Personal Superintelligence’</a></li>
</ul>
<h2 id="-web--internet-culture">🌐 Web &amp; Internet Culture</h2>
<ul>
<li><a href="https://buttondown.com/justinpot/archive/youtube-and-the-end-of-internet-culture/">YouTube and the end of &ldquo;internet culture&rdquo;</a></li>
<li><a href="https://iam.skoo.bz/from-small-web-july-to-blaugust/">From Small Web July to Blaugust</a></li>
<li><a href="https://disassociated.com/classic-web-mastodon-page-explores-early-web/">Classic Web, a Mastodon page that explores the web of old</a></li>
<li><a href="https://disassociated.com/personal-websites-comments-not-social-media-channels/">Personal websites are the place for comments, not social media channels</a></li>
<li><a href="https://jtwoodhouse.com/the-rowboat-theres-a-life-after-social-media/">Rowboats: There&rsquo;s a life after social media</a></li>
<li><a href="https://ldstephens.net/blog/link-post-own-whats-yours/">Link Post: Own what’s yours</a></li>
<li><a href="https://mirroredworld.bearblog.dev/rediscovering-joy-in-blogging/">Rediscovering Joy in Blogging</a></li>
<li><a href="https://mirroredworld.bearblog.dev/minimalism-is-a-cult/">Minimalism is a Cult</a></li>
<li><a href="https://mirroredworld.bearblog.dev/if-it-works-it-works/">If It Works, It Works</a></li>
<li><a href="https://mirroredworld.bearblog.dev/popcap-games-are-still-fun-actually/">Popcap Games are Still Fun, Actually</a></li>
<li><a href="https://mirroredworld.bearblog.dev/getting-things-done-without-keeling-over/">Getting Things Done (Without Keeling Over)</a></li>
<li><a href="https://sentfrom.me/week-notes-2025-07-06/">Week Notes, 2025-07-06</a></li>
</ul>
<h2 id="-security--privacy">🛡️ Security &amp; Privacy</h2>
<ul>
<li><a href="https://www.docker.com/blog/mcp-horror-stories-the-supply-chain-attack/">MCP Horror Stories: The Supply Chain Attack</a></li>
<li><a href="https://www.darkreading.com/vulnerabilities-threats/old-ways-still-best-most-cybercriminals">Why the Old Ways Are Still the Best for Most Cybercriminals</a></li>
<li><a href="https://www.backblaze.com/blog/the-essential-guide-to-disaster-recovery-building-resilience-for-your-enterprise/">The Essential Guide to Disaster Recovery: Building Resilience for Your Enterprise</a></li>
<li><a href="https://aws.amazon.com/blogs/security/secure-file-sharing-solutions-in-aws-a-security-and-cost-analysis-guide-part-2/">Secure file sharing solutions in AWS: A security and cost analysis guide: Part 2</a></li>
<li><a href="https://www.darkreading.com/application-security/malicious-open-source-packages-spike">Malicious Open Source Packages Spike 188% YoY</a></li>
<li><a href="https://www.darkreading.com/vulnerabilities-threats/coinbase-breach-insider-risk">What the Coinbase Breach Says About Insider Risk</a></li>
<li><a href="https://www.darkreading.com/cybersecurity-operations/can-security-culture-be-taught-aws-says-yes">Can Security Culture Be Taught? AWS Says Yes</a></li>
<li><a href="https://www.darkreading.com/vulnerabilities-threats/fire-ant-cyber-spies-siloed-vmware-systems">‘Fire Ant&rsquo; Cyber Spies Compromise Siloed VMware Systems</a></li>
</ul>
<h2 id="-linux--open-source">🐧 Linux &amp; Open Source</h2>
<ul>
<li><a href="https://www.reddit.com/r/linux/comments/1miggm8/should_i_switch_over_to_a_linuxbased_software_for/">Should I switch over to a Linux-Based software for College?</a></li>
<li><a href="https://www.reddit.com/r/linux/comments/1m3lyvy/why_do_most_linux_users_prefer_thinkpad_laptops/">Why do most Linux users prefer ThinkPad laptops? share your opinion.</a></li>
<li><a href="https://www.reddit.com/r/linux/comments/1m4o5pt/linux_is_healing_me_mentally/">Linux is healing me mentally.</a></li>
<li><a href="https://itsfoss.com/file-transfer-apps-linux-android/">5 Open Source Apps You Can use for Seamless File Transfer Between Linux and Android</a></li>
<li><a href="https://itsfoss.com/linux-android-file-transfer/">Packet is the Linux App You Didn’t Know You Needed for Fast Android File Transfers</a></li>
<li><a href="https://www.reddit.com/r/linux/comments/1lwt4tt/flatsync_sync_flatpaks_between_devices/">FlatSync: Sync flatpaks between devices.</a></li>
<li><a href="https://www.reddit.com/r/linux/comments/1lxd0hl/systemctl_vs_busctl_as_dbus_clients_visual_guide/">‘systemctl’ vs ‘busctl’ as D-Bus clients (Visual Guide)</a></li>
<li><a href="https://www.omgubuntu.co.uk/2025/08/flameshot-13">Flameshot Screenshot App Gets First Major Update in 3 Years</a></li>
<li><a href="https://www.omgubuntu.co.uk/2025/07/mozilla-addons-listing-page-redesign">Firefox Add-Ons Website Revamps Listing Pages</a></li>
</ul>
<h2 id="-hardware--devices">🛠️ Hardware &amp; Devices</h2>
<ul>
<li><a href="https://www.backblaze.com/blog/backblaze-drive-stats-for-q2-2025/">Backblaze Drive Stats for Q2 2025</a></li>
<li><a href="https://distrowatch.com/12517">Distribution Release: Proxmox 9.0 &ldquo;Virtual Environment&rdquo;</a></li>
<li><a href="https://liliputing.com/magink-is-a-power-bank-with-a-color-e-ink-display-crowdfunding/">MagInk is a power bank with a color E Ink display (crowdfunding)</a></li>
<li><a href="https://liliputing.com/keyphone-is-a-feature-phone-with-swappable-keyboard-and-camera-modules-crowdfunding/">Keyphone is a feature phone with swappable keyboard and camera modules (crowdfunding)</a></li>
<li><a href="https://m.dpreview.com/opinion/8980731893/opinion-fixed-lens-cameras-are-no-substitute-for-mirrorless">Un-interchangeable: Fixed-lens cameras are no substitute for mirrorless</a></li>
<li><a href="https://www.commodore.net/">Reborn Commodore Is Taking Pre-Orders for New Commodore 64 Models</a></li>
<li><a href="https://ubuntu.com//blog/state-of-silicon-devices-q2">The State of Silicon and Devices – Q2 2025 roundup</a></li>
</ul>
<h2 id="-design--creativity">🎨 Design &amp; Creativity</h2>
<ul>
<li><a href="https://kottke.org/25/08/classical-statues-dressed-up-as-hipsters-1">Classical Statues Dressed Up As Hipsters</a></li>
<li><a href="https://thecreativeindependent.com/people/artist-hebru-brantley-on-reframing-past-stories-with-a-fresh-perspective/">Artist Hebru Brantley on reframing past stories with a fresh perspective</a></li>
<li><a href="https://thecreativeindependent.com/people/writer-publisher-and-podcaster-elly-blue-on-following-a-nontraditional-path/">Writer, publisher, and podcaster Elly Blue on following a nontraditional path</a></li>
<li><a href="https://www.thisiscolossal.com/2025/07/circe-irasema/">Cosmetics and Cosmos Blend in Circe Irasema’s Wooden Sculptures</a></li>
<li><a href="https://www.thisiscolossal.com/2025/07/slow-light-animated-film/">In ‘Slow Light,’ Past and Present Merge in the Uncanny, Animated Life of a Unique Protagonist</a></li>
</ul>
<h2 id="-personal-slow-living--miscellaneous">🧘 Personal, Slow Living &amp; Miscellaneous</h2>
<ul>
<li><a href="https://bigthink.com/series/the-big-think-interview/jefferson-fisher/">The true cost of always needing to win an argument</a></li>
<li><a href="https://bigthink.com/perception-box/brain-briefs-somatic-awareness/">Trauma, healing, and your nervous system explained</a></li>
<li><a href="https://lazybea.rs/hitn-2025/">How I take notes in 2025</a></li>
<li><a href="https://spacetimetech.wordpress.com/2025/07/05/projects-joy-etc/">Projects, joy, etc</a></li>
<li><a href="https://www.henrikkarlsson.xyz/p/agency">On agency</a></li>
<li><a href="https://maurice-renck.de/en/notes/2025/silence">Silence</a></li>
<li><a href="https://anildash.com/2025/06/11/time_for_something_new/">It&rsquo;s Time for Something New</a></li>
<li><a href="https://www.web-goddess.org/archive/80639">Cornish pasty</a></li>
<li><a href="https://www.ghastlymirror.xyz/blog/birdwatching-from-home/">Birdwatching From Home</a></li>
<li><a href="https://www.ghastlymirror.xyz/blog/blog-hosting-recomendations/">Blog Hosting Recomendations</a></li>
</ul>

        <br>
<div class="rss_avatar">
    
<a href="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=800" target="_blank" rel="noopener noreferrer">
  <img
  class="gravatar-img"
  
  alt="Avatar"
  loading="lazy"
  src="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=250"
  />
</a>

</div>
<style>
.rss_avatar{
    float: right;
}
.rss_avatar img{
    border-radius: 100%;
    max-height: 150px;
}
</style>
<br>
<hr>
Reply:
<a href="https://mastodon.social/@jelloeater">🐘 @jelloeater - Masto</a> |
<a href="https://bsky.app/profile/jelloeater.bsky.social">🦋 @jelloeater - Bsky</a> |
<a href="https://bsky.app/profile/did:plc:srmltlrjqfr7mbfdejuxrbss/rss">🦋 @jelloeater - Bsky RSS</a> |
<a href="mailto:jello@jelloeater.me?subject=RE:sunday-funday-2025-08">📧 Email Me</a> |
<a href="https://jelloeater.me/blog/sunday-funday-2025-08/#comments">💬 Comment</a>
<br>
<a href="https://jelloeater.me/link/">🌳 LinkTree</a> |
<a href="https://ko-fi.com/jelloeater">☕ Buy me a coffee</a>
<hr>


Tags:
<a href="https://jelloeater.me/tags/ai/">#ai</a>

<a href="https://jelloeater.me/tags/design/">#design</a>

<a href="https://jelloeater.me/tags/devops/">#devops</a>

<a href="https://jelloeater.me/tags/hardware/">#hardware</a>

<a href="https://jelloeater.me/tags/link_dump/">#link_dump</a>

<a href="https://jelloeater.me/tags/python/">#python</a>

<a href="https://jelloeater.me/tags/slow_living/">#slow_living</a>

<a href="https://jelloeater.me/tags/sunday_funday/">#sunday_funday</a>

<a href="https://jelloeater.me/tags/web_culture/">#web_culture</a>

        ]]>
        </content:encoded>
    </item>
    <item>
      <title>July Blog Dump</title>
      <link>
      https://jelloeater.me/blog/blog-dump-2025-july/
      </link>
      <dc:creator>Jelloeater</dc:creator>
      <comments>
      https://jelloeater.me/blog/blog-dump-2025-july/#comments
      </comments>
      <pubDate>Sat, 19 Jul 2025 20:53:23 +0000</pubDate>
      <category>blogdump</category>
      
      <category>link_dump</category>
      <guid>https://jelloeater.me/blog/blog-dump-2025-july/</guid>
      


    
    
    
    

    
    


    
        



    

    

    <media:content url="https://jelloeater.me/blog/blog-dump-2025-july/gen-cover.png" medium="image" type="image/png"/>
    <media:thumbnail url="https://jelloeater.me/blog/blog-dump-2025-july/gen-cover.png"/>
    



      
      
      <description><![CDATA[Blogs ranging from tech and design to personal reflections and creative works]]></description>
      
      <content:encoded>
        <![CDATA[
        
        <h2 id="more-links-more-problems">More links, more problems</h2>
<p>While I really need to find more time to read through, I know I&rsquo;m not going to have the time to read through all of them. Maybe eventually I&rsquo;ll get through the whole list, but for now, I just want to at least leave this here incase anyone else finds it interesting. Pardon the LLM for the descriptions, but I don&rsquo;t have the time to write them all out myself.</p>
<h3 id="a-curated-collection-of-blogs-to-check-out"><strong>A Curated Collection of Blogs to Check Out:</strong></h3>
<ul>
<li><strong><a href="https://wildwild.directory/blog">The Wild Wild Web - Blog</a></strong>: A blog by the &ldquo;Wild Wild Web&rdquo; directory, focusing on curated content and discussions about the independent web and smaller online communities.</li>
<li><strong><a href="https://marmar22.tilde.team/">Marmar @ tilde.team</a></strong>: A personal blog likely part of the tildeverse, featuring various musings and thoughts from Marmar.</li>
<li><strong><a href="https://rdldn.co.uk/">Roast Dinners In London</a></strong>: A highly specific blog dedicated to reviewing and celebrating roast dinners found in London, complete with photos and detailed critiques.</li>
<li><strong><a href="https://www.laurahilliger.com/blog/">Posts - Laura Hilliger</a></strong>: Laura Hilliger&rsquo;s personal blog, featuring posts on open culture, technology, education, and social impact, often from a progressive viewpoint.</li>
<li><strong><a href="https://bohemiansultriness.nekoweb.org/">Bohemian Sultriness</a></strong>: A personal blog with an eclectic mix of thoughts, art, and possibly reflections on a bohemian lifestyle.</li>
<li><strong><a href="https://mjulius.com/">Michael Julius</a></strong>: Michael Julius&rsquo;s personal site, likely featuring a mix of professional work (design/development) and personal projects or writings.</li>
<li><strong><a href="https://insidemordecai.com/">Mordecai Kipng&rsquo;etich</a></strong>: Mordecai Kipng&rsquo;etich&rsquo;s personal blog, offering insights and thoughts on various topics, potentially tech or personal development.</li>
<li><strong><a href="https://gurupanguji.com/">@gurupanguji - Ramblings of an Eccentric Soul</a></strong>: A blog offering philosophical, personal, and sometimes humorous &ldquo;ramblings&rdquo; from a unique perspective.</li>
<li><strong><a href="https://notes.jeddacp.com/">Notes by JCProbably</a></strong>: A collection of notes and short-form writings from JCProbably, covering a range of interests.</li>
<li><strong><a href="https://perrotta.dev/">¬ just serendipity 🍀</a></strong>: The personal blog of a developer (Perrotta), likely sharing thoughts on code, personal projects, and other serendipitous discoveries.</li>
<li><strong><a href="https://uncorrected.net/">Uncorrected - By Alex Nonnemacher</a></strong>: Alex Nonnemacher&rsquo;s blog, presenting &ldquo;uncorrected&rdquo; thoughts, essays, and observations, often on culture and technology.</li>
<li><strong><a href="https://jagibson.org/">jagibson.org</a></strong>: A personal website for Jagibson, likely containing updates, projects, or personal reflections.</li>
<li><strong><a href="https://folkmoss.bearblog.dev/">The Folkmoss Logs</a></strong>: A personal journal or log of thoughts and experiences, hosted on the minimal Bear Blog platform, often evoking a cozy, reflective tone.</li>
<li><strong><a href="https://thewallflowerdigest.co.uk/">The Wallflower Digest - Blogging book reviews, embroidery &amp; whatever else may on my mind.</a></strong>: A charming UK-based blog covering book reviews, embroidery projects, and a variety of personal thoughts and interests.</li>
<li><strong><a href="https://jvns.ca/">Julia Evans</a></strong>: Julia Evans&rsquo;s highly popular blog known for its clear, insightful, and often illustrated explanations of technical concepts, particularly for programmers.</li>
<li><strong><a href="https://www.jemjabella.co.uk/">Jem - UK blogger - Developer - Entrepeneur</a></strong>: Jem&rsquo;s blog, showcasing insights from a UK-based developer and entrepreneur, likely covering technology, business, and personal experiences.</li>
<li><strong><a href="https://img25.com/">my photos</a></strong>: A minimalist photo blog, dedicated to sharing personal photography.</li>
<li><strong><a href="https://www.benji.dog/">benji</a></strong>: A simple, personal blog that might include updates on life, projects, or musings, perhaps with a charming, laid-back vibe.</li>
<li><strong><a href="https://memory.elliott.computer/">memory site</a></strong>: A personal &ldquo;memory site&rdquo; by Elliott, possibly a digital garden or collection of thoughts and personal archives.</li>
<li><strong><a href="https://www.mollywhite.net/">Molly White</a></strong>: Molly White&rsquo;s critical blog, often focusing on web3, cryptocurrency, and financial technology, known for its in-depth analysis and skepticism.</li>
<li><strong><a href="https://www.eliseomartelli.it/">Eliseo Martelli</a></strong>: Eliseo Martelli&rsquo;s personal and professional website, likely featuring work related to web development, design, or personal interests.</li>
<li><strong><a href="https://coyotetracks.org/">Coyote Tracks</a></strong>: A blog that might explore nature, travel, personal journeys, or reflections on the wild.</li>
<li><strong><a href="https://marksuth.dev/">Home - Mark Sutherland</a></strong>: Mark Sutherland&rsquo;s developer blog, where he shares insights, projects, and thoughts on software development.</li>
<li><strong><a href="https://v6.robweychert.com/blog/">Blog Archive | Rob Weychert</a></strong>: The blog archive of Rob Weychert, likely containing reflections on design, technology, and culture, with a focus on past writings.</li>
<li><strong><a href="https://tedium.co/">Tedium | An Offbeat Digital Newsletter</a></strong>: A unique newsletter and blog that delves into obscure, fascinating, and often overlooked corners of history, technology, and culture.</li>
<li><strong><a href="https://shkspr.mobi/blog/">Terence Eden’s Blog - Regular nonsense about tech and its effects 🙃</a></strong>: Terence Eden&rsquo;s blog, offering often humorous and insightful commentary on technology, its societal effects, and digital policy.</li>
<li><strong><a href="https://bookmaniac.org/">Composite - Internet - information - criticism - poetry - connection - feminism - open source - open spaces - translation - digression - recursion - boats - wheelchairs - disability rights - ranting - the future - by Liz Henry</a></strong>: Liz Henry&rsquo;s incredibly diverse blog, covering a vast range of topics including internet culture, open source, feminism, and disability rights with critical insight.</li>
<li><strong><a href="https://birchtree.me/">Birchtree</a></strong>: A personal blog, likely featuring thoughts on technology, productivity, and everyday life.</li>
<li><strong><a href="https://www.aleesteele.com/">/home (aleesteele.com)</a></strong>: A personal online space by Alee Steele, potentially sharing reflections, creative work, or personal updates.</li>
<li><strong><a href="https://www.scottishstoater.com/">Scottish Stoater - A collection of photographs and notes by Chris Collins</a></strong>: Chris Collins&rsquo;s blog, featuring stunning photography and personal notes from Scotland, capturing its landscapes and spirit.</li>
<li><strong><a href="https://www.chrisvogt.me/">Chris Vogt - Software Engineer in San Francisco | Digital Garden of Photography, Piano, and Travel</a></strong>: Chris Vogt&rsquo;s personal digital garden, blending his software engineering insights with his passions for photography, piano, and travel.</li>
<li><strong><a href="https://www.rousette.org.uk/">but she&rsquo;s a girl&hellip;</a></strong>: A personal blog by a woman, sharing her thoughts and experiences, possibly with a focus on feminism or personal identity.</li>
<li><strong><a href="https://write.as/matt/">Matt - Write.as</a></strong>: A minimalist blog by Matt, hosted on Write.as, likely featuring personal reflections or short-form essays.</li>
<li><strong><a href="https://sethw.xyz/">HELLO, I&rsquo;M SETH WERKHEISER - Founder of the Social Media Escape Club</a></strong>: Seth Werkheiser&rsquo;s blog, promoting a break from traditional social media and offering insights on independent online presence.</li>
<li><strong><a href="https://www.nicksimson.com/">Nick Simson, Internet Nobody.</a></strong>: Nick Simson&rsquo;s self-deprecatingly named blog, offering personal thoughts and observations on technology, internet culture, and daily life.</li>
<li><strong><a href="https://xandra.cc/">the museum of alexandra</a></strong>: Alexandra&rsquo;s unique personal site, presented as a &ldquo;museum&rdquo; of her thoughts, projects, and digital artifacts.</li>
<li><strong><a href="https://frills.dev/">Home - Frills</a></strong>: A developer&rsquo;s blog, potentially focusing on the &ldquo;frills&rdquo; of web development-design, user experience, and aesthetic details.</li>
<li><strong><a href="https://blog.gerbenjacobs.nl/">Gerben Jacobs</a></strong>: Gerben Jacobs&rsquo;s personal blog, likely covering topics related to technology, personal development, or professional insights.</li>
<li><strong><a href="https://karshwrites.com/">Karsh Writes</a></strong>: A blog primarily dedicated to Karsh&rsquo;s writing, which could include fiction, essays, or personal reflections.</li>
<li><strong><a href="https://paulrjohnson.net/">Paul Johnson</a></strong>: Paul Johnson&rsquo;s personal website, likely featuring a mix of professional work, personal interests, or reflective essays.</li>
<li><strong><a href="https://glycerinequeenmedia.com/">Glycerine Queen Media - News, opinion and everything in between</a></strong>: A media blog offering news, opinions, and general commentary on a wide range of topics.</li>
<li><strong><a href="https://veronique.ink/">véronique</a></strong>: Véronique&rsquo;s personal site, potentially a portfolio, digital garden, or blog covering her creative and intellectual pursuits.</li>
<li><strong><a href="https://tracydurnell.com/">Tracy Durnell&rsquo;s Mind Garden - Thinking and Learning In Public</a></strong>: Tracy Durnell&rsquo;s &ldquo;mind garden,&rdquo; a concept for a personal blog where thoughts, ideas, and learning processes are documented publicly.</li>
<li><strong><a href="https://aaronparecki.com/">Aaron Parecki</a></strong>: Aaron Parecki&rsquo;s personal website, a prominent figure in the IndieWeb movement, often documenting his tools, projects, and thoughts on personal data and online identity.</li>
<li><strong><a href="https://anderegg.ca/">anderegg.ca | Something (slightly) less boring than nothing.</a></strong>: A personal blog from anderegg.ca promising content &ldquo;slightly less boring than nothing,&rdquo; implying a casual and engaging style.</li>
<li><strong><a href="https://artlung.com/blog/">ArtLung: Joe Crawford</a></strong>: Joe Crawford&rsquo;s blog, often exploring the intersection of art, technology, and personal expression.</li>
<li><strong><a href="https://www.cboxes.icu/">CBOXES PHOTOGRAPHY</a></strong>: A dedicated photography blog, showcasing images and possibly accompanying narratives.</li>
<li><strong><a href="https://rknight.me/blog/">Blog • Robb Knight</a></strong>: Robb Knight&rsquo;s personal blog, typically featuring thoughts on technology, web development, and personal projects.</li>
<li><strong><a href="https://sergiswriting.com/">Sergi&rsquo;s writing</a></strong>: Sergi&rsquo;s dedicated space for his writing, which could encompass various forms and topics.</li>
<li><strong><a href="https://alexwlchan.net/">alexwlchan</a></strong>: Alex Chan&rsquo;s technical blog, offering insights on software engineering, Python, and personal projects.</li>
<li><strong><a href="https://dominikhofer.me/">Curious. Creative. Coder. | Dominik Hofer</a></strong>: Dominik Hofer&rsquo;s personal site, embodying his interests as a curious, creative coder, likely sharing projects and thoughts.</li>
<li><strong><a href="https://alabut.com/writing/">Writing Archives | Essays, articles &amp; notes</a></strong>: Alabut&rsquo;s collection of essays, articles, and notes, serving as a public archive of their written works.</li>
<li><strong><a href="https://george-lakoff.com/">George Lakoff</a></strong>: The official website and blog of George Lakoff, a cognitive linguist known for his work on metaphor and its role in politics and thought.</li>
<li><strong><a href="https://omeratagun.net/">Omers playground</a></strong>: Omer Atagun&rsquo;s personal &ldquo;playground,&rdquo; likely a space for experimenting with code, sharing personal projects, or exploring ideas.</li>
<li><strong><a href="https://rubenerd.com/">Rubenerd</a></strong>: Rubenerd&rsquo;s blog, featuring tech news, Linux-related content (which you&rsquo;d appreciate!), personal updates, and general internet culture.</li>
<li><strong><a href="https://ialja.com/">Meet iAlja</a></strong>: A personal blog introducing iAlja and their thoughts, projects, or professional endeavors.</li>
<li><strong><a href="https://refugionorte.com/">Refugio Norte - Reflexiones sobre la experiencia humana y los espacios arquitectónicos</a></strong>: A blog offering reflections on the human experience and architectural spaces, likely from a Spanish-speaking perspective.</li>
<li><strong><a href="https://pgadey.ca/">Parker Glynn-Adey</a></strong>: Parker Glynn-Adey&rsquo;s personal website, possibly featuring academic work, personal projects, or general musings.</li>
<li><strong><a href="https://erikjohannes.no/">Erik Johannes Husom</a></strong>: Erik Johannes Husom&rsquo;s personal blog, sharing thoughts, projects, or professional updates.</li>
<li><strong><a href="https://beradadisini.com/">Home - Beradadisini</a></strong>: A personal blog or online presence, likely based in Indonesia given the name.</li>
<li><strong><a href="https://www.ottorask.com/">Home - ottorask.com</a></strong>: Otto Rask&rsquo;s personal website, potentially a portfolio, blog, or digital garden.</li>
<li><strong><a href="https://ggirelli.info/">ggirelli | Filopoetica</a></strong>: A blog by ggirelli combining philosophy and poetry (&ldquo;Filopoetica&rdquo;).</li>
<li><strong><a href="https://cybrkyd.com/">cybrkyd - just another cyber kid</a></strong>: A personal blog by &ldquo;cybrkyd,&rdquo; reflecting a youthful or digital-native perspective on technology and life.</li>
<li><strong><a href="https://bneil.me/">bneil.me | Home</a></strong>: B Neil&rsquo;s personal website, likely featuring a mix of professional information, personal projects, or blog posts.</li>
<li><strong><a href="https://renecoignard.com/">renecoignard.com/</a></strong>: René Coignard&rsquo;s personal website, probably a portfolio or blog.</li>
<li><strong><a href="https://www.dazeland.com/index-en.html">Dazeland - We won’t nag you with cookies!</a></strong>: A blog that proudly declares no cookie nags, focusing on art, design, and creative content.</li>
<li><strong><a href="https://creativwork.org/">creativwork.org</a></strong>: A website dedicated to showcasing and discussing creative work.</li>
<li><strong><a href="https://frederickvanbrabant.com/">Frederick&rsquo;s delirious rantings</a></strong>: Frederick&rsquo;s personal blog for his &ldquo;delirious rantings,&rdquo; suggesting unedited thoughts on various topics.</li>
<li><strong><a href="https://wordsdeferred.com/">Words Deferred - Free fiction, ruminations on craft, and a radically open writing process</a></strong>: A blog by a writer sharing free fiction, thoughts on the writing craft, and a transparent look into their writing process.</li>
<li><strong><a href="https://olly.pagecord.com/">Posts from @olly</a></strong>: A personal blog or collection of posts from Olly, likely on a variety of personal interests.</li>
<li><strong><a href="https://kyscg.github.io/">New Ideas</a></strong>: A blog or repository for &ldquo;new ideas,&rdquo; possibly related to coding projects, innovative concepts, or personal insights.</li>
<li><strong><a href="https://essentialthinker.com/">Essential Thinker</a></strong>: A blog dedicated to thoughtful analysis and reflection on essential topics.</li>
<li><strong><a href="https://arbourtrary.com/">ɑrbərtrɛri</a></strong>: A personal blog with a unique name, likely featuring arbitrary but interesting thoughts and observations.</li>
<li><strong><a href="https://ivndbt.com/">Home (ivndbt.com)</a></strong>: A personal website with no overt theme, potentially a digital garden or collection of thoughts.</li>
<li><strong><a href="https://hq.getmatter.com/">Matter</a></strong>: A reading app and platform that also features curated articles and a blog with insights on reading, writing, and current events.</li>
<li><strong><a href="https://ninox.com/en">Ninox | The low-code platform for all business processes</a></strong>: While primarily a low-code platform, their blog likely covers business processes, database solutions, and tech productivity.</li>
<li><strong><a href="https://stfn.pl/">STFN</a></strong>: A personal or project blog from Poland, likely focusing on tech, development, or personal interests.</li>
<li><strong><a href="https://morgan.zoemp.be/">Morgan - Peanuts 🥜 - Quality is always right</a></strong>: Morgan&rsquo;s blog, possibly with short, concise, and high-quality &ldquo;peanut&rdquo; sized thoughts.</li>
<li><strong><a href="https://davehenry.blog/">Dave Henry Blog</a></strong>: Dave Henry&rsquo;s personal blog, featuring his thoughts and experiences.</li>
<li><strong><a href="https://nullrouted.space/">Nullrouted Space - The void is my friend.</a></strong>: A technical or philosophical blog with a focus on networks, privacy, or the &ldquo;void&rdquo; of the internet.</li>
<li><strong><a href="https://netbros.com/">Notes (netbros.com)</a></strong>: A collection of notes or short posts by Netbros, possibly on tech or personal reflections.</li>
<li><strong><a href="https://bucketz.wtf/">A Drop From The Bucket</a></strong>: A blog offering small, insightful &ldquo;drops from the bucket&rdquo; of knowledge or personal experience.</li>
<li><strong><a href="https://www.martinhaagen.se/">MartinHaagen.se</a></strong>: Martin Haagen&rsquo;s personal website, likely featuring professional work, personal projects, or blog posts.</li>
<li><strong><a href="https://laze.net/">laze.net</a></strong>: A personal blog or website that might have a relaxed, casual approach to its content.</li>
<li><strong><a href="https://alexcarpenter.me/notes">Notes // Alex Carpenter</a></strong>: Alex Carpenter&rsquo;s collection of notes, serving as a digital garden of thoughts and learnings.</li>
</ul>
<h3 id="recent-discoveries-saved-6292025-32806-pm"><strong>Recent Discoveries (Saved 6/29/2025, 3:28:06 PM):</strong></h3>
<ul>
<li><strong><a href="https://hypercritical.co/">Hypercritical</a></strong>: John Siracusa&rsquo;s renowned blog, known for its extremely detailed, thoughtful, and often lengthy commentary on Apple products and technology in general (though you&rsquo;re not an Apple fan, his depth of analysis is noteworthy).</li>
<li><strong><a href="https://blog.jpnearl.com/">Life Is Such A Sweet Insanity.</a></strong>: JP Nearl&rsquo;s personal blog, offering reflections on life&rsquo;s eccentricities and personal experiences.</li>
<li><strong><a href="https://joshcollinsworth.com/">Josh Collinsworth</a></strong>: Josh Collinsworth&rsquo;s blog, often covering web development, front-end technologies, and related industry thoughts.</li>
<li><strong><a href="https://meyerweb.com/">meyerweb.com</a></strong>: Eric Meyer&rsquo;s influential blog, a foundational resource for web standards, CSS, and web design, often featuring technical insights and personal reflections.</li>
<li><strong><a href="https://alicebartlett.co.uk/">The website of Alice Bartlett</a></strong>: Alice Bartlett&rsquo;s personal website, likely featuring her work in data, technology, or personal insights.</li>
<li><strong><a href="https://tantek.com/">Tantek Çelik</a></strong>: Tantek Çelik&rsquo;s personal website and blog, a key figure in microformats and the IndieWeb movement, focused on personal data and web standards.</li>
<li><strong><a href="https://www.jwz.org/blog/">jwz</a></strong>: Jamie Zawinski&rsquo;s classic, often irreverent, and highly opinionated blog on software, technology, and personal anecdotes.</li>
<li><strong><a href="https://librarian.aedileworks.com/">Librarian of Things - Mita Williams. Her blog.</a></strong>: Mita Williams&rsquo;s blog, sharing insights from a librarian&rsquo;s perspective on information, technology, and public life.</li>
<li><strong><a href="https://alis.me/">» alis.me</a></strong>: Alis&rsquo;s personal blog, potentially a digital garden or collection of thoughts and projects.</li>
<li><strong><a href="https://emilygorcenski.com/">Emily F. Gorcenski</a></strong>: Emily Gorcenski&rsquo;s blog, often covering data science, social justice, technology&rsquo;s societal impact, and political commentary from a progressive stance.</li>
</ul>
<h3 id="more-great-reads-saved-6272025-20017-pm"><strong>More Great Reads (Saved 6/27/2025, 2:00:17 PM):</strong></h3>
<ul>
<li><strong><a href="https://www.sparklytrainers.com/">The travels of Mary Loosemore</a></strong>: Mary Loosemore&rsquo;s blog, documenting her travels and experiences, often with a lighthearted and engaging tone.</li>
<li><strong><a href="https://www.birdsoutsidemywindow.org/">Outside My Window | A Blog of Birds &amp; Nature with Kate St. John</a></strong>: Kate St. John&rsquo;s nature blog, focusing on birdwatching, wildlife, and observations from her window.</li>
<li><strong><a href="https://gwern.net/">Essays · Gwern.net</a></strong>: Gwern Branwen&rsquo;s extensive collection of long-form essays, covering a wide range of topics from psychology and technology to statistics and personal experiments.</li>
<li><strong><a href="https://xlthlx.com/en/">Third Level | Don&rsquo;t waste your time, or time will waste you.</a></strong>: A blog that offers reflections and philosophical insights on productivity, personal growth, and making the most of one&rsquo;s time.</li>
<li><strong><a href="https://jasdev.me/">Distillations (jasdev.me)</a></strong>: Jasdev&rsquo;s blog, where he &ldquo;distills&rdquo; complex ideas into clear, concise posts, often on technology or personal development.</li>
<li><strong><a href="https://www.robinsloan.com/">Robin Sloan</a></strong>: Robin Sloan&rsquo;s personal website and blog, from a writer and media inventor, featuring his unique projects, thoughts on technology, and storytelling.</li>
<li><strong><a href="https://maggieappleton.com/">Maggie Appleton</a></strong>: Maggie Appleton&rsquo;s visual blog, known for her hand-drawn illustrations and insightful explanations of complex concepts, often related to knowledge work and digital gardens.</li>
<li><strong><a href="https://zioibi.com/">Adam Wood</a></strong>: Adam Wood&rsquo;s personal website, likely a portfolio or blog showcasing his work and thoughts.</li>
</ul>
<h3 id="latest-finds-saved-6292025-115324-pm"><strong>Latest Finds (Saved 6/29/2025, 11:53:24 PM):</strong></h3>
<ul>
<li><strong><a href="https://coxy.co/">coxy - designer and internet addict</a></strong>: Coxy&rsquo;s blog, blending insights from a designer&rsquo;s perspective with reflections on internet culture and digital life.</li>
<li><strong><a href="https://fromemily.com/">&hellip;from Emily Moran Barwick</a></strong>: Emily Moran Barwick&rsquo;s personal blog, likely featuring updates, personal thoughts, or creative projects.</li>
<li><strong><a href="https://www.elmikewalsh.com/">Front-End Web Designer, Developer &amp; Translator in Villarrica</a></strong>: El Mike Walsh&rsquo;s blog, detailing insights from his work as a front-end web designer, developer, and translator.</li>
<li><strong><a href="https://davidallengreen.com/">The Law and Policy Blog - Independent commentary on law and policy from a liberal constitutionalist and critical perspective</a></strong>: David Allen Green&rsquo;s blog, providing independent and critical commentary on law and policy from a liberal constitutionalist viewpoint, which aligns with your progressive political leanings.</li>
<li><strong><a href="https://timharek.no/">Tim Hårek</a></strong>: Tim Hårek&rsquo;s personal blog, likely featuring thoughts, projects, or professional insights.</li>
<li><strong><a href="https://netwars.pelicancrossing.net/">net.wars - computers, freedom, and privacy</a></strong>: Wendy Grossman&rsquo;s long-running blog focusing on the critical intersection of computers, digital freedom, and privacy issues.</li>
<li><strong><a href="https://bryanmanio.com/">Bryan Maniotakis - Design Director</a></strong>: Bryan Maniotakis&rsquo;s blog, offering insights into design, creative direction, and professional experiences.</li>
<li><strong><a href="https://rys.io/en/index.html">Songs on the Security of Networks</a></strong>: A blog by RYS.io, likely delving into cybersecurity topics, network security, and related technical discussions.</li>
<li><strong><a href="https://photothunk.blogspot.com/">Secure Site Not Available</a></strong>: A blog primarily focused on photography, sharing images and possibly thoughts on the photographic process.</li>
<li><strong><a href="https://www.bruh.ltd/">Ruby Klover</a></strong>: A personal blog by Ruby Klover, with a unique domain, likely featuring personal reflections or creative content.</li>
<li><strong><a href="https://impossiblesongs.blogspot.com/">impossible songs</a></strong>: A blog dedicated to &ldquo;impossible songs,&rdquo; suggesting a focus on music, creative audio projects, or musings on the art of songwriting.</li>
<li><strong><a href="https://wiby.me/">Wiby - Search Engine for the Classic Web</a></strong>: While a search engine, their blog or &ldquo;about&rdquo; section often provides commentary on the classic web, privacy, and independent web discovery.</li>
</ul>
<h3 id="more-interesting-blogs"><strong>More Interesting Blogs:</strong></h3>
<ul>
<li><strong><a href="https://hacdias.com/">Home - Henrique Dias</a></strong>: Henrique Dias&rsquo;s personal website, showcasing his projects, thoughts, and professional work, likely in development or open source.</li>
<li><strong><a href="https://www.jasonhalf.com/">JASON HALF : writer - Home</a></strong>: Jason Half&rsquo;s dedicated writing website, where he publishes his works, essays, or personal blog posts.</li>
<li><strong><a href="https://www.kryobot.io/">kryobot - Home of Emanuel Schwarz</a></strong>: Emanuel Schwarz&rsquo;s personal website, possibly focusing on robotics, AI, or other tech-related projects.</li>
<li><strong><a href="https://lindsma.com/">Linda Ma</a></strong>: Linda Ma&rsquo;s personal website, potentially a portfolio, digital garden, or blog covering her interests.</li>
<li><strong><a href="https://www.karlkoch.me/">Karl Koch | Home</a></strong>: Karl Koch&rsquo;s personal website, likely featuring his work, thoughts, or projects.</li>
<li><strong><a href="https://christopherharper.media/">Christopher Harper | Documenting life and exploration on Guam</a></strong>: Christopher Harper&rsquo;s blog, visually documenting life and explorations on the island of Guam through photos and stories.</li>
<li><strong><a href="https://calebhailey.com/">Caleb Hailey</a></strong>: Caleb Hailey&rsquo;s personal website, probably a professional portfolio or blog.</li>
<li><strong><a href="https://oliverobscure.xyz/">obscure blog</a></strong>: Oliver Obscure&rsquo;s personal blog, likely offering unique, perhaps unconventional, thoughts and observations.</li>
<li><strong><a href="https://blog.ucant.org/">Martin Keegan: All posts</a></strong>: Martin Keegan&rsquo;s blog, featuring a wide array of posts on technology, programming, and personal musings, often with a distinct perspective.</li>
<li><strong><a href="https://captainawkward.com/">CaptainAwkward.com - Don&rsquo;t need to be cool to be kind.</a></strong>: A popular advice blog focused on navigating awkward social situations, boundaries, and interpersonal relationships with kindness and directness.</li>
<li><strong><a href="https://tomcritchlow.com/">Tom Critchlow. Move. Think. Create.</a></strong>: Tom Critchlow&rsquo;s blog, where he writes about strategy, digital products, independent consulting, and the future of work.</li>
<li><strong><a href="https://fredrocha.net/words/">Words - fredrocha.net</a></strong>: Fred Rocha&rsquo;s space for his written works, which could include essays, articles, or personal reflections.</li>
</ul>

        <br>
<div class="rss_avatar">
    
<a href="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=800" target="_blank" rel="noopener noreferrer">
  <img
  class="gravatar-img"
  
  alt="Avatar"
  loading="lazy"
  src="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=250"
  />
</a>

</div>
<style>
.rss_avatar{
    float: right;
}
.rss_avatar img{
    border-radius: 100%;
    max-height: 150px;
}
</style>
<br>
<hr>
Reply:
<a href="https://mastodon.social/@jelloeater">🐘 @jelloeater - Masto</a> |
<a href="https://bsky.app/profile/jelloeater.bsky.social">🦋 @jelloeater - Bsky</a> |
<a href="https://bsky.app/profile/did:plc:srmltlrjqfr7mbfdejuxrbss/rss">🦋 @jelloeater - Bsky RSS</a> |
<a href="mailto:jello@jelloeater.me?subject=RE:blog-dump-2025-july">📧 Email Me</a> |
<a href="https://jelloeater.me/blog/blog-dump-2025-july/#comments">💬 Comment</a>
<br>
<a href="https://jelloeater.me/link/">🌳 LinkTree</a> |
<a href="https://ko-fi.com/jelloeater">☕ Buy me a coffee</a>
<hr>


Tags:
<a href="https://jelloeater.me/tags/blogdump/">#blogdump</a>

<a href="https://jelloeater.me/tags/link_dump/">#link_dump</a>

        ]]>
        </content:encoded>
    </item>
    <item>
      <title>Moving my diary to Obsidian</title>
      <link>
      https://jelloeater.me/blog/diary-migrate/
      </link>
      <dc:creator>Jelloeater</dc:creator>
      <comments>
      https://jelloeater.me/blog/diary-migrate/#comments
      </comments>
      <pubDate>Mon, 07 Jul 2025 01:32:00 -0500</pubDate>
      <category>diary</category>
      
      <category>obsidian</category>
      
      <category>personal</category>
      
      <category>private</category>
      
      <category>update</category>
      <guid>https://jelloeater.me/blog/diary-migrate/</guid>
      
      <media:content url="https://jelloeater.me/blog/diary-migrate.png" medium="image" type="image/png"/>
      <media:thumbnail url="https://jelloeater.me/blog/diary-migrate.png"/>
      


    
    



      
      
      <description><![CDATA[Keeping private thoughts; private]]></description>
      
      <content:encoded>
        <![CDATA[
        
          <p><img src="https://jelloeater.me/blog/diary-migrate.png" alt="Featured Image"/></p>
        
        <h2 id="intro">Intro</h2>
<p>So, I recently decided to migrate from <a href="https://diaroapp.com">Diaro</a> to Two Obsidian for my diary. Not that I have a problem with their website. For the low price of $20, I believe it was, I think it&rsquo;s a good deal. They gave me a lifetime subscription to their site, which utilizes Dropbox to sync its data backend. They&rsquo;ve never lost a single entry, and they&rsquo;ve helped me chronicle my life over the last three or four years. One of the great features they had was that you could upload a photo, and it would tag the location and set the time and date based on the photo. This was a great feature, and something I hope I can find similar to in Obsidian.</p>
<h2 id="getting-the-data-out">Getting the data out</h2>
<p>Getting the data out of the service wasn&rsquo;t exactly the easiest process, though they offered a few different export options, one that did CSV and one that did Text. When the PDF, A few different things, depending on which platform you tried to export from, the options were different depending on whether you did it on mobile or on the website. This was a little bit difficult because all the formats that they offered didn&rsquo;t include photos, at least in an easy-to-access format. Y, You could try and export the photos by ripping them out of the PDFs, but that was a nightmare. Luckily, I was able to do some digging through the Dropbox account that it happened to be using as a backend sync. In there. I found some XML files and my photos all as JPEGs. The XML file wasn&rsquo;t the easiest to parse, but thankfully, the structure was relatively sane. Attachments were in one table, Locations in another, and then the direct entries themselves in another table, all on one giant XML document.</p>
<h2 id="custom-scripting">Custom scripting</h2>
<p>I was able to cook up a little bit of Python magic to get all this converted into a standardized markdown format with some YAML front matter and the images embedded at the bottom of the posts. All in all. This took two to three days Of Work over a weekend. Nothing too crazy, but I do wish that they offered a better export option. Maybe something with JSON or at least CSVs with attachments easily linked? Maybe like a photo dump option as well, just some food for thought. Either way, I can&rsquo;t complain too much. For a whopping $20, I spent on a lifetime license, and the fact that they never lost a single post, but arguably, I would have to probably thank Dropbox for that. As they were debating the back end. Thankfully, the app always worked on every single device, and the website was reliable, so no digs against them. I&rsquo;m gonna include a link to the Python script or maybe just embed it in this post. At the bottom, we&rsquo;ll see. Just in case, it can help somebody else out down the road by moving their notes over from this service to either Obsidian or another markdown-based Diary application. Thanks!</p>
<p>🖖 Jelloeater</p>
<h2 id="migration-script">Migration script</h2>


  
    <blockquote>
      <p>This script is used to migrate data from Diaro to Obsidian, parsing XML files and creating markdown files with metadata. It&rsquo;s kind of crap, but it DOES work. Feel free to email me if you need help&hellip; ❤️</p>
    </blockquote>
  
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e">#!/usr/bin/env -S uv run --quiet</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># /// script</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># requires-python = &#34;&gt;=3.12&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># dependencies = [</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">#     &#34;pymarkdownlnt&#34;,</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># ]</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># ///</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> xml.etree.ElementTree <span style="color:#66d9ef">as</span> ET
</span></span><span style="display:flex;"><span><span style="color:#f92672">from</span> datetime <span style="color:#f92672">import</span> datetime
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> zipfile
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> os
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> re
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> pymarkdown
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> xml.etree.ElementTree <span style="color:#66d9ef">as</span> ET
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Location</span>:
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">def</span> __init__(self, uid, title, address, lat, lng, zoom):
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>uid <span style="color:#f92672">=</span> uid
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>title <span style="color:#f92672">=</span> title
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>address <span style="color:#f92672">=</span> address
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>lat <span style="color:#f92672">=</span> lat
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>lng <span style="color:#f92672">=</span> lng
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>zoom <span style="color:#f92672">=</span> zoom
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">def</span> __repr__(self):
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">return</span> (
</span></span><span style="display:flex;"><span>            <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Location(uid=&#39;</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>uid<span style="color:#e6db74">}</span><span style="color:#e6db74">&#39;, title=&#39;</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>title<span style="color:#e6db74">}</span><span style="color:#e6db74">&#39;, &#34;</span>
</span></span><span style="display:flex;"><span>            <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;address=&#39;</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>address<span style="color:#e6db74">}</span><span style="color:#e6db74">&#39;, lat=</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>lat<span style="color:#e6db74">}</span><span style="color:#e6db74">, lng=</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>lng<span style="color:#e6db74">}</span><span style="color:#e6db74">, zoom=</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>zoom<span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Attachment</span>:
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">def</span> __init__(self, uid, entry_uid, type, filename, position):
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>uid <span style="color:#f92672">=</span> uid
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>entry_uid <span style="color:#f92672">=</span> entry_uid
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>type <span style="color:#f92672">=</span> type
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>filename <span style="color:#f92672">=</span> filename
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>position <span style="color:#f92672">=</span> position
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">def</span> __repr__(self):
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">return</span> (
</span></span><span style="display:flex;"><span>            <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Attachment(uid=&#39;</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>uid<span style="color:#e6db74">}</span><span style="color:#e6db74">&#39;, entry_uid=&#39;</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>entry_uid<span style="color:#e6db74">}</span><span style="color:#e6db74">&#39;, &#34;</span>
</span></span><span style="display:flex;"><span>            <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;type=&#39;</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>type<span style="color:#e6db74">}</span><span style="color:#e6db74">&#39;, filename=&#39;</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>filename<span style="color:#e6db74">}</span><span style="color:#e6db74">&#39;, position=</span><span style="color:#e6db74">{</span>self<span style="color:#f92672">.</span>position<span style="color:#e6db74">}</span><span style="color:#e6db74">)&#34;</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">parse_locations_xml</span>(xml_file_path):
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;&#34;&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    Parses an XML file containing location data into a list of Location objects.
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    Args:
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">        xml_file_path (str): The path to the XML file.
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    Returns:
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">        list: A list of Location objects.
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    &#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span>    tree <span style="color:#f92672">=</span> ET<span style="color:#f92672">.</span>parse(xml_file_path)
</span></span><span style="display:flex;"><span>    root <span style="color:#f92672">=</span> tree<span style="color:#f92672">.</span>getroot()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    locations <span style="color:#f92672">=</span> []
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> r_element <span style="color:#f92672">in</span> root<span style="color:#f92672">.</span>findall(<span style="color:#e6db74">&#34;r&#34;</span>):
</span></span><span style="display:flex;"><span>        uid <span style="color:#f92672">=</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;uid&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;uid&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>        title <span style="color:#f92672">=</span> (
</span></span><span style="display:flex;"><span>            r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;title&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;title&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>        address <span style="color:#f92672">=</span> (
</span></span><span style="display:flex;"><span>            r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;address&#34;</span>)<span style="color:#f92672">.</span>text
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;address&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        lat_text <span style="color:#f92672">=</span> (
</span></span><span style="display:flex;"><span>            r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;lat&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;lat&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;0.0&#34;</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>        lng_text <span style="color:#f92672">=</span> (
</span></span><span style="display:flex;"><span>            r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;lng&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;lng&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;0.0&#34;</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>        zoom_text <span style="color:#f92672">=</span> (
</span></span><span style="display:flex;"><span>            r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;zoom&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;zoom&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;0&#34;</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span>            lat <span style="color:#f92672">=</span> float(lat_text)
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ValueError</span>:
</span></span><span style="display:flex;"><span>            lat <span style="color:#f92672">=</span> <span style="color:#ae81ff">0.0</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span>            lng <span style="color:#f92672">=</span> float(lng_text)
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ValueError</span>:
</span></span><span style="display:flex;"><span>            lng <span style="color:#f92672">=</span> <span style="color:#ae81ff">0.0</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span>            zoom <span style="color:#f92672">=</span> int(zoom_text)
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ValueError</span>:
</span></span><span style="display:flex;"><span>            zoom <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        location <span style="color:#f92672">=</span> Location(uid, title, address, lat, lng, zoom)
</span></span><span style="display:flex;"><span>        locations<span style="color:#f92672">.</span>append(location)
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> locations
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">parse_attachments_xml</span>(xml_file_path):
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;&#34;&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    Parses an XML file containing attachment data into a list of Attachment objects.
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    Args:
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">        xml_file_path (str): The path to the XML file.
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    Returns:
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">        list: A list of Attachment objects.
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    &#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span>    tree <span style="color:#f92672">=</span> ET<span style="color:#f92672">.</span>parse(xml_file_path)
</span></span><span style="display:flex;"><span>    root <span style="color:#f92672">=</span> tree<span style="color:#f92672">.</span>getroot()
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    attachments <span style="color:#f92672">=</span> []
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> r_element <span style="color:#f92672">in</span> root<span style="color:#f92672">.</span>findall(<span style="color:#e6db74">&#34;r&#34;</span>):
</span></span><span style="display:flex;"><span>        uid <span style="color:#f92672">=</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;uid&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;uid&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>        entry_uid <span style="color:#f92672">=</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;entry_uid&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;entry_uid&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>        type <span style="color:#f92672">=</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;type&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;type&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>        filename <span style="color:#f92672">=</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;filename&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;filename&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>        position_text <span style="color:#f92672">=</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;position&#34;</span>)<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> r_element<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#34;position&#34;</span>) <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;0&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">try</span>:
</span></span><span style="display:flex;"><span>            position <span style="color:#f92672">=</span> int(position_text)
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">except</span> <span style="color:#a6e22e">ValueError</span>:
</span></span><span style="display:flex;"><span>            position <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        attachment <span style="color:#f92672">=</span> Attachment(uid, entry_uid, type, filename, position)
</span></span><span style="display:flex;"><span>        attachments<span style="color:#f92672">.</span>append(attachment)
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> attachments
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">write_files</span>():
</span></span><span style="display:flex;"><span>    <span style="color:#e6db74">&#34;&#34;&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    Parses the Diaro XML data from a string, creates markdown files,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    and zips them up.
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">    &#34;&#34;&#34;</span>
</span></span><span style="display:flex;"><span>    data <span style="color:#f92672">=</span> open(<span style="color:#e6db74">&#39;DiaroBackup.xml&#39;</span>)<span style="color:#f92672">.</span>read()
</span></span><span style="display:flex;"><span>    root <span style="color:#f92672">=</span> ET<span style="color:#f92672">.</span>fromstring(data)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    folders <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span>        folder<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;uid&#39;</span>)<span style="color:#f92672">.</span>text: folder<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;title&#39;</span>)<span style="color:#f92672">.</span>text
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">for</span> folder <span style="color:#f92672">in</span> root<span style="color:#f92672">.</span>findall(<span style="color:#e6db74">&#34;.//table[@name=&#39;diaro_folders&#39;]/r&#34;</span>)
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># locations = {</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     location.find(&#39;uid&#39;).text: location.find(&#39;name&#39;).text</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     for location in root.findall(&#34;.//table[@name=&#39;diaro_locations&#39;]/r&#34;)</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># }</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># moods = {</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     mood.find(&#39;uid&#39;).text: mood.find(&#39;name&#39;).text</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">#     for mood in root.findall(&#34;.//table[@name=&#39;diaro_moods&#39;]/r&#34;)</span>
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># }</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    entries <span style="color:#f92672">=</span> root<span style="color:#f92672">.</span>findall(<span style="color:#e6db74">&#34;.//table[@name=&#39;diaro_entries&#39;]/r&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    output_dir <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;diaro_markdown_entries&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> <span style="color:#f92672">not</span> os<span style="color:#f92672">.</span>path<span style="color:#f92672">.</span>exists(output_dir):
</span></span><span style="display:flex;"><span>        os<span style="color:#f92672">.</span>makedirs(output_dir)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    markdown_files <span style="color:#f92672">=</span> []
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    xml_path <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;./locations.xml&#34;</span>
</span></span><span style="display:flex;"><span>    parsed_locations <span style="color:#f92672">=</span> parse_locations_xml(xml_path)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    xml_path_attach <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;./attachments.xml&#34;</span>
</span></span><span style="display:flex;"><span>    parsed_attach <span style="color:#f92672">=</span> parse_attachments_xml(xml_path_attach)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> entry <span style="color:#f92672">in</span> entries:
</span></span><span style="display:flex;"><span>        date_ms <span style="color:#f92672">=</span> int(entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;date&#39;</span>)<span style="color:#f92672">.</span>text)
</span></span><span style="display:flex;"><span>        dt_object <span style="color:#f92672">=</span> datetime<span style="color:#f92672">.</span>fromtimestamp(date_ms <span style="color:#f92672">/</span> <span style="color:#ae81ff">1000</span>)
</span></span><span style="display:flex;"><span>        date_str <span style="color:#f92672">=</span> dt_object<span style="color:#f92672">.</span>strftime(<span style="color:#e6db74">&#34;%Y-%m-</span><span style="color:#e6db74">%d</span><span style="color:#e6db74"> %H:%M:%S %z&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        text_element <span style="color:#f92672">=</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;text&#39;</span>)
</span></span><span style="display:flex;"><span>        text <span style="color:#f92672">=</span> text_element<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> text_element <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#f92672">and</span> text_element<span style="color:#f92672">.</span>text <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;No content&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        title_element <span style="color:#f92672">=</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;title&#39;</span>)
</span></span><span style="display:flex;"><span>        title <span style="color:#f92672">=</span> title_element<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> title_element <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#f92672">and</span> title_element<span style="color:#f92672">.</span>text <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;Untitled&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> title <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;Untitled&#34;</span>:
</span></span><span style="display:flex;"><span>            title <span style="color:#f92672">=</span> re<span style="color:#f92672">.</span>sub(<span style="color:#e6db74">r</span><span style="color:#e6db74">&#34;[^\w]&#34;</span>, <span style="color:#e6db74">&#34; &#34;</span>, text<span style="color:#f92672">.</span>split(<span style="color:#e6db74">&#39;.&#39;</span>)[<span style="color:#ae81ff">0</span>][:<span style="color:#ae81ff">30</span>])
</span></span><span style="display:flex;"><span>            <span style="color:#75715e"># Use the first X characters of text if title is &#34;Untitled&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        mood_element <span style="color:#f92672">=</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;mood&#39;</span>)
</span></span><span style="display:flex;"><span>        mood <span style="color:#f92672">=</span> title_element<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> mood_element <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#f92672">and</span> mood_element<span style="color:#f92672">.</span>text <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;3&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> mood <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;1&#34;</span>:
</span></span><span style="display:flex;"><span>            mood <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;5-🥰&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> mood <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;2&#34;</span>:
</span></span><span style="display:flex;"><span>            mood <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;4-🙂&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> mood <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;3&#34;</span>:
</span></span><span style="display:flex;"><span>            mood <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;3-😑&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> mood <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;4&#34;</span>:
</span></span><span style="display:flex;"><span>            mood <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;2-🙁&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> mood <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;5&#34;</span>:
</span></span><span style="display:flex;"><span>            mood <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;1-😢&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        media_path <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;../media/&#34;</span>
</span></span><span style="display:flex;"><span>        attachments <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">for</span> i <span style="color:#f92672">in</span> parsed_attach:
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">if</span> i<span style="color:#f92672">.</span>entry_uid <span style="color:#f92672">==</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;uid&#39;</span>)<span style="color:#f92672">.</span>text:
</span></span><span style="display:flex;"><span>                attachments <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">---------------------------------------------------------------&#34;</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">if</span> i<span style="color:#f92672">.</span>type <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;image&#34;</span>:
</span></span><span style="display:flex;"><span>                    attachments <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">![</span><span style="color:#e6db74">{</span>i<span style="color:#f92672">.</span>filename<span style="color:#e6db74">}</span><span style="color:#e6db74">](</span><span style="color:#e6db74">{</span>media_path<span style="color:#e6db74">}{</span>i<span style="color:#f92672">.</span>filename<span style="color:#e6db74">}</span><span style="color:#e6db74">)</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">elif</span> i<span style="color:#f92672">.</span>type <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;video&#34;</span>:
</span></span><span style="display:flex;"><span>                    attachments <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">[Video: </span><span style="color:#e6db74">{</span>i<span style="color:#f92672">.</span>filename<span style="color:#e6db74">}</span><span style="color:#e6db74">](</span><span style="color:#e6db74">{</span>media_path<span style="color:#e6db74">}{</span>i<span style="color:#f92672">.</span>filename<span style="color:#e6db74">}</span><span style="color:#e6db74">)</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">elif</span> i<span style="color:#f92672">.</span>type <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;audio&#34;</span>:
</span></span><span style="display:flex;"><span>                    attachments <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">[Audio: </span><span style="color:#e6db74">{</span>i<span style="color:#f92672">.</span>filename<span style="color:#e6db74">}</span><span style="color:#e6db74">](</span><span style="color:#e6db74">{</span>media_path<span style="color:#e6db74">}{</span>i<span style="color:#f92672">.</span>filename<span style="color:#e6db74">}</span><span style="color:#e6db74">)</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span>                    attachments <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">![</span><span style="color:#e6db74">{</span>i<span style="color:#f92672">.</span>filename<span style="color:#e6db74">}</span><span style="color:#e6db74">](</span><span style="color:#e6db74">{</span>media_path<span style="color:#e6db74">}{</span>i<span style="color:#f92672">.</span>filename<span style="color:#e6db74">}</span><span style="color:#e6db74">)</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># Create a safe filename</span>
</span></span><span style="display:flex;"><span>        safe_title <span style="color:#f92672">=</span> re<span style="color:#f92672">.</span>sub(<span style="color:#e6db74">r</span><span style="color:#e6db74">&#39;[^\w\s-]&#39;</span>, <span style="color:#e6db74">&#39;&#39;</span>, title)<span style="color:#f92672">.</span>strip()<span style="color:#f92672">.</span>lower()
</span></span><span style="display:flex;"><span>        safe_title <span style="color:#f92672">=</span> re<span style="color:#f92672">.</span>sub(<span style="color:#e6db74">r</span><span style="color:#e6db74">&#39;[-\s]+&#39;</span>, <span style="color:#e6db74">&#39;-&#39;</span>, safe_title) <span style="color:#66d9ef">if</span> safe_title <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;entry&#34;</span>
</span></span><span style="display:flex;"><span>        filename <span style="color:#f92672">=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">{</span>dt_object<span style="color:#f92672">.</span>strftime(<span style="color:#e6db74">&#39;%Y-%m-</span><span style="color:#e6db74">%d</span><span style="color:#e6db74">&#39;</span>)<span style="color:#e6db74">}</span><span style="color:#e6db74">-</span><span style="color:#e6db74">{</span>safe_title<span style="color:#e6db74">}</span><span style="color:#e6db74">.md&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># Front Matter</span>
</span></span><span style="display:flex;"><span>        front_matter <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;&#34;</span>
</span></span><span style="display:flex;"><span>        front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">&#34;---</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> title:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;title: </span><span style="color:#e6db74">{</span>title<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;title: Entry on </span><span style="color:#e6db74">{</span>dt_object<span style="color:#f92672">.</span>strftime(<span style="color:#e6db74">&#39;%Y-%m-</span><span style="color:#e6db74">%d</span><span style="color:#e6db74">&#39;</span>)<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;date: </span><span style="color:#e6db74">{</span>date_str<span style="color:#f92672">.</span>rstrip()<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        folder_uid <span style="color:#f92672">=</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;folder_uid&#39;</span>)<span style="color:#f92672">.</span>text
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> folder_uid <span style="color:#f92672">and</span> folder_uid <span style="color:#f92672">in</span> folders:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;folder: </span><span style="color:#e6db74">{</span>folders[folder_uid]<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># location_uid = entry.find(&#39;location_uid&#39;).text</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># if location_uid and location_uid in locations:</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">#     front_matter += f&#34;location: {locations[location_uid]}\n&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        location_element <span style="color:#f92672">=</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;location_uid&#39;</span>)
</span></span><span style="display:flex;"><span>        location <span style="color:#f92672">=</span> location_element<span style="color:#f92672">.</span>text <span style="color:#66d9ef">if</span> location_element <span style="color:#f92672">is</span> <span style="color:#f92672">not</span> <span style="color:#66d9ef">None</span> <span style="color:#f92672">and</span> location_element<span style="color:#f92672">.</span>text <span style="color:#66d9ef">else</span> <span style="color:#e6db74">&#34;N/A&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> location <span style="color:#f92672">!=</span> <span style="color:#e6db74">&#34;N/A&#34;</span>:
</span></span><span style="display:flex;"><span>            <span style="color:#75715e"># Find the location in the parsed locations</span>
</span></span><span style="display:flex;"><span>            location_obj <span style="color:#f92672">=</span> next((loc <span style="color:#66d9ef">for</span> loc <span style="color:#f92672">in</span> parsed_locations <span style="color:#66d9ef">if</span> loc<span style="color:#f92672">.</span>uid <span style="color:#f92672">==</span> location), <span style="color:#66d9ef">None</span>)
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">if</span> location_obj:
</span></span><span style="display:flex;"><span>                location_obj <span style="color:#f92672">=</span> location_obj
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span>                location_obj <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;Unknown Location&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> location <span style="color:#f92672">!=</span> <span style="color:#e6db74">&#34;N/A&#34;</span>:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;location: </span><span style="color:#e6db74">{</span>location_obj<span style="color:#f92672">.</span>lat<span style="color:#e6db74">}</span><span style="color:#e6db74">,</span><span style="color:#e6db74">{</span>location_obj<span style="color:#f92672">.</span>lng<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;location_title: </span><span style="color:#e6db74">{</span>location_obj<span style="color:#f92672">.</span>title<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;location_address: </span><span style="color:#e6db74">{</span>location_obj<span style="color:#f92672">.</span>address<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">&#34;location: Unknown</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> mood:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;mood: </span><span style="color:#e6db74">{</span>mood<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        tags_text <span style="color:#f92672">=</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;tags&#39;</span>)<span style="color:#f92672">.</span>text
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> tags_text <span style="color:#f92672">and</span> tags_text<span style="color:#f92672">.</span>strip(<span style="color:#e6db74">&#39;,&#39;</span>) :
</span></span><span style="display:flex;"><span>            tags <span style="color:#f92672">=</span> [tag<span style="color:#f92672">.</span>strip() <span style="color:#66d9ef">for</span> tag <span style="color:#f92672">in</span> tags_text<span style="color:#f92672">.</span>split(<span style="color:#e6db74">&#39;,&#39;</span>) <span style="color:#66d9ef">if</span> tag<span style="color:#f92672">.</span>strip()]
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;tags: </span><span style="color:#e6db74">{</span>tags<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># mood_uid = entry.find(&#39;mood&#39;).text</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># if mood_uid and mood_uid in moods:</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">#     front_matter += f&#34;mood: {moods[mood_uid]}\n&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        weather_temp <span style="color:#f92672">=</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;weather_temperature&#39;</span>)<span style="color:#f92672">.</span>text
</span></span><span style="display:flex;"><span>        weather_icon <span style="color:#f92672">=</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;weather_icon&#39;</span>)<span style="color:#f92672">.</span>text
</span></span><span style="display:flex;"><span>        weather_desc <span style="color:#f92672">=</span> entry<span style="color:#f92672">.</span>find(<span style="color:#e6db74">&#39;weather_description&#39;</span>)<span style="color:#f92672">.</span>text
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> weather_temp:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;temp_c: </span><span style="color:#e6db74">{</span>weather_temp<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> weather_icon:
</span></span><span style="display:flex;"><span>            weather_data <span style="color:#f92672">=</span> weather_icon<span style="color:#f92672">.</span>split(<span style="color:#e6db74">&#34;-&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            time_of_day <span style="color:#f92672">=</span> weather_data[<span style="color:#ae81ff">0</span>]
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">if</span> time_of_day <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;day&#34;</span>:
</span></span><span style="display:flex;"><span>                front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">&#34;time_of_day: day</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">elif</span> time_of_day <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;night&#34;</span>:
</span></span><span style="display:flex;"><span>                front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">&#34;time_of_day: night</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span>                front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">&#34;time_of_day: unknown</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            weather_icon <span style="color:#f92672">=</span> weather_data[<span style="color:#ae81ff">1</span>:]
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">if</span> weather_icon:
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">if</span> <span style="color:#e6db74">&#39;alt&#39;</span> <span style="color:#f92672">in</span> weather_icon:
</span></span><span style="display:flex;"><span>                    weather_icon<span style="color:#f92672">.</span>remove(<span style="color:#e6db74">&#39;alt&#39;</span>)
</span></span><span style="display:flex;"><span>                front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;weather: [</span><span style="color:#e6db74">{</span><span style="color:#e6db74">&#39;, &#39;</span><span style="color:#f92672">.</span>join(weather_icon)<span style="color:#e6db74">}</span><span style="color:#e6db74">]</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> weather_desc:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;forcast: </span><span style="color:#e6db74">{</span>weather_desc<span style="color:#e6db74">}</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> <span style="color:#e6db74">&#34;-----BEGIN PGP MESSAGE-----&#34;</span> <span style="color:#f92672">in</span> text:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">&#34;encrypted: true</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">else</span>:
</span></span><span style="display:flex;"><span>            front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">&#34;encrypted: false</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        front_matter <span style="color:#f92672">+=</span> <span style="color:#e6db74">&#34;---</span><span style="color:#ae81ff">\n\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        converted_entry <span style="color:#f92672">=</span> front_matter <span style="color:#f92672">+</span> text <span style="color:#f92672">+</span> attachments <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;</span><span style="color:#ae81ff">\n</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># Write markdown file</span>
</span></span><span style="display:flex;"><span>        filepath <span style="color:#f92672">=</span> os<span style="color:#f92672">.</span>path<span style="color:#f92672">.</span>join(output_dir, filename)
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">with</span> open(filepath, <span style="color:#e6db74">&#39;w&#39;</span>, encoding<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;utf-8&#39;</span>) <span style="color:#66d9ef">as</span> f:
</span></span><span style="display:flex;"><span>            f<span style="color:#f92672">.</span>write(converted_entry)
</span></span><span style="display:flex;"><span>        markdown_files<span style="color:#f92672">.</span>append(filepath)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> __name__ <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;__main__&#34;</span>:
</span></span><span style="display:flex;"><span>    write_files()
</span></span></code></pre></div><h2 id="ai-version">AI version</h2>
<p>I ran this through Gemini to see if it would emulate my style&hellip; eh&hellip;</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span>I recently made the switch from [<span style="color:#f92672">Diaro</span>](<span style="color:#a6e22e">https://diaroapp.com</span>) to [<span style="color:#f92672">Obsidian</span>](<span style="color:#a6e22e">https://obsidian.md/</span>) for my personal diary. While I had a great experience with Diaro - their lifetime subscription was a steal at around $20, and their Dropbox sync never lost a single entry over three or four years. Diaro&#39;s feature to automatically tag location, time, and date from uploaded photos was incredibly convenient, and I&#39;m hoping to find a similar workflow in Obsidian.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">## Extracting the Data
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>Getting my data out of Diaro proved to be the trickiest part. Diaro offered various export options (CSV, text, PDF), but these varied by platform (mobile vs. web) and none provided an easy way to export photos alongside the entries. Ripping images from PDFs was an absolute nightmare.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Fortunately, I dug into the Dropbox backend Diaro used for syncing. There, I discovered XML files containing all my entries and, more importantly, all my photos as JPEGs. The XML structure was relatively sane, with attachments, locations, and the diary entries themselves all contained within one large document, which made parsing manageable.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">## Custom Scripting for Conversion
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>To get everything into a standardized Markdown format with YAML front matter and embedded images, I cooked up some Python magic. This conversion process took me a solid two to three days over a weekend. While not &#34;crazy&#34; in terms of effort, I do wish Diaro offered more robust export options – perhaps JSON or CSVs with easily linked attachments, or even a dedicated photo dump.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>That said, for a $20 lifetime license and the peace of mind that came with never losing a single post (kudos to Dropbox for the reliable backend!), I can&#39;t really complain too much. The Diaro app itself was consistently reliable across all my devices, and the website was solid.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>I&#39;ll include a link to the Python script, or perhaps embed it directly in this post, just in case it can help someone else migrate their notes from Diaro to Obsidian or another Markdown-based diary application down the road.
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Thanks for reading!
</span></span><span style="display:flex;"><span>--- over From this service to either obsidian Or another Mark down based Diary application. Thanks!
</span></span></code></pre></div>
        <br>
<div class="rss_avatar">
    
<a href="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=800" target="_blank" rel="noopener noreferrer">
  <img
  class="gravatar-img"
  
  alt="Avatar"
  loading="lazy"
  src="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=250"
  />
</a>

</div>
<style>
.rss_avatar{
    float: right;
}
.rss_avatar img{
    border-radius: 100%;
    max-height: 150px;
}
</style>
<br>
<hr>
Reply:
<a href="https://mastodon.social/@jelloeater">🐘 @jelloeater - Masto</a> |
<a href="https://bsky.app/profile/jelloeater.bsky.social">🦋 @jelloeater - Bsky</a> |
<a href="https://bsky.app/profile/did:plc:srmltlrjqfr7mbfdejuxrbss/rss">🦋 @jelloeater - Bsky RSS</a> |
<a href="mailto:jello@jelloeater.me?subject=RE:diary-migrate">📧 Email Me</a> |
<a href="https://jelloeater.me/blog/diary-migrate/#comments">💬 Comment</a>
<br>
<a href="https://jelloeater.me/link/">🌳 LinkTree</a> |
<a href="https://ko-fi.com/jelloeater">☕ Buy me a coffee</a>
<hr>


Tags:
<a href="https://jelloeater.me/tags/diary/">#diary</a>

<a href="https://jelloeater.me/tags/obsidian/">#obsidian</a>

<a href="https://jelloeater.me/tags/personal/">#personal</a>

<a href="https://jelloeater.me/tags/private/">#private</a>

<a href="https://jelloeater.me/tags/update/">#update</a>

        ]]>
        </content:encoded>
    </item>
    <item>
      <title>Sunday Funday - June 2025</title>
      <link>
      https://jelloeater.me/blog/sunday-funday-2025-06/
      </link>
      <dc:creator>Jelloeater</dc:creator>
      <comments>
      https://jelloeater.me/blog/sunday-funday-2025-06/#comments
      </comments>
      <pubDate>Mon, 30 Jun 2025 05:43:24 +0000</pubDate>
      <category>ai</category>
      
      <category>design</category>
      
      <category>devops</category>
      
      <category>hardware</category>
      
      <category>link_dump</category>
      
      <category>python</category>
      
      <category>slow_living</category>
      
      <category>sunday_funday</category>
      
      <category>web_culture</category>
      <guid>https://jelloeater.me/blog/sunday-funday-2025-06/</guid>
      


    
    
    
    

    
    


    
        



    

    

    <media:content url="https://jelloeater.me/blog/sunday-funday-2025-06/gen-cover.png" medium="image" type="image/png"/>
    <media:thumbnail url="https://jelloeater.me/blog/sunday-funday-2025-06/gen-cover.png"/>
    



      
      
      <description><![CDATA[Small Web, Big Ideas]]></description>
      
      <content:encoded>
        <![CDATA[
        
        <p>Here’s a curated link dump of standout articles, tools, and odd corners of the web that caught my attention this month. Expect a mix of tech, design, culture, and a dash of whimsy. Enjoy exploring!</p>
<h2 id="web--tech-culture">Web &amp; Tech Culture</h2>
<ul>
<li>
<p><a href="https://alexwlchan.net/2025/my-favourite-websites/">My Favourite Websites from My Bookmark Collection</a>
Alex Chan wraps up a series on web archiving by sharing a handful of creative, quirky sites that celebrate the web’s diversity. From ever-changing designs to hand-drawn aesthetics, it&rsquo;s a reminder that the internet can still surprise and delight.</p>
</li>
<li>
<p><a href="https://thehistoryoftheweb.com/can-directories-rise-again/">Can Directories Rise Again?</a>
A thoughtful look at whether old-school web directories could make a comeback in today’s algorithm-dominated internet.</p>
</li>
<li>
<p><a href="https://www.theringer.com/2021/07/21/tech/google-reader-ode-end-of-the-good-internet">The End of the Good Internet: An Ode to Google Reader</a>
A nostalgic reflection on the loss of Google Reader and what it meant for the open web.</p>
</li>
<li>
<p><a href="https://fredrocha.net/2025/05/21/small-web-is-beautiful/">Small Web is Beautiful</a>
A celebration of independent, small-scale websites and why they matter more than ever.</p>
</li>
</ul>
<h2 id="devops-linux--command-line">DevOps, Linux &amp; Command Line</h2>
<ul>
<li>
<p><a href="https://blog.kalvad.com/our-journey-through-linux-unix-landscapes/">Our Journey Through Linux/Unix Landscapes</a>
A personal narrative through the evolving world of Linux and Unix, with insights for both newcomers and seasoned sysadmins.</p>
</li>
<li>
<p><a href="https://magnus919.com/2025/05/zsh-hidden-gems-advanced-tricks-that-will-transform-your-command-line-experience/">Zsh Hidden Gems: Advanced Tricks That Will Transform Your Command Line Experience</a>
Discover lesser-known Zsh features and plugins to supercharge your shell workflow.</p>
</li>
<li>
<p><a href="https://terminaltrove.com/gitid/">GitID: A Minimalist Git Identity Manager</a>
A handy tool for managing multiple Git identities—perfect for open source contributors and contractors.</p>
</li>
</ul>
<h2 id="python--programming">Python &amp; Programming</h2>
<ul>
<li>
<p><a href="https://realpython.com/python-script-structure/">How to Structure a Python Script</a>
Real Python delivers a practical guide on organizing Python scripts for clarity and maintainability.</p>
</li>
<li>
<p><a href="https://community.emergingthreats.net/t/come-sail-the-cves-part-1-data-acquisition/2750">Come Sail the CVEs: Data Acquisition</a>
A deep dive into collecting and analyzing CVE data, valuable for anyone interested in infosec or vulnerability management.</p>
</li>
</ul>
<h2 id="design-accessibility--ux">Design, Accessibility &amp; UX</h2>
<ul>
<li>
<p><a href="https://goodinternetmagazine.com/can-accessibility-be-whimsical/">Can Accessibility Be Whimsical?</a>
An exploration of how accessible design doesn’t have to be boring—whimsy and usability can coexist.</p>
</li>
<li>
<p><a href="https://www.smashingmagazine.com/2025/06/designing-for-neurodiversity/">Designing for Neurodiversity</a>
Smashing Magazine offers actionable advice for creating digital experiences that are inclusive of neurodivergent users.</p>
</li>
<li>
<p><a href="https://stephaniewalter.design/blog/neurodiversity-and-ux-essential-resources-for-cognitive-accessibility/">Neurodiversity and UX: Essential Resources for Cognitive Accessibility</a>
A resource-rich post for designers looking to improve cognitive accessibility in their products.</p>
</li>
</ul>
<h2 id="ai-society--the-future">AI, Society &amp; the Future</h2>
<ul>
<li>
<p><a href="https://www.bloodinthemachine.com/p/openais-desperate-quest-to-become">OpenAI’s Desperate Quest to Become</a>
A critical look at the current trajectory of OpenAI and the broader AI industry.</p>
</li>
<li>
<p><a href="https://www.bloodinthemachine.com/p/the-ai-jobs-crisis-is-here-now">The AI Jobs Crisis Is Here Now</a>
A sobering analysis of how AI is already impacting the labor market.</p>
</li>
<li>
<p><a href="https://arstechnica.com/science/2025/05/why-incels-take-the-blackpill-and-why-we-should-care/">Why Incels Take the Blackpill—and Why We Should Care</a>
Ars Technica examines the social and psychological forces behind the “blackpill” ideology and its real-world consequences.</p>
</li>
</ul>
<h2 id="digital-life--slow-living">Digital Life &amp; Slow Living</h2>
<ul>
<li>
<p><a href="https://buttondown.com/justinpot/archive/we-buy-too-much-crap-anyway/">We Buy Too Much Crap Anyway</a>
A personal essay on consumerism, minimalism, and finding satisfaction with less.</p>
</li>
<li>
<p><a href="https://tracydurnell.com/2025/03/23/slow-craft-writing-noncapitalist-mentality/">Slow Craft: Writing with a Noncapitalist Mentality</a>
Tracy Durnell explores the value of slow, intentional creative work in a fast-paced world.</p>
</li>
<li>
<p><a href="https://www.fromjason.xyz/p/notebook/the-bliss-of-good-enough-an-ode-to-my-moka-pot/">The Bliss of Good Enough: An Ode to My Moka Pot</a>
A love letter to the humble moka pot and the joys of embracing “good enough” in daily life.</p>
</li>
</ul>
<h2 id="hardware--gadgets">Hardware &amp; Gadgets</h2>
<ul>
<li>
<p><a href="https://liliputing.com/banana-pi-bpi-r4-pro-is-a-versatile-router-board-with-wifi-7-10-gb-and-2-5-gb-lan-and-multiple-m-2-connectors/">Banana Pi BPI-R4 Pro: A Versatile Router Board</a>
An overview of a new router board supporting WiFi 7, 10Gbps LAN, and multiple M.2 connectors—catnip for home lab enthusiasts.</p>
</li>
<li>
<p><a href="https://www.campsnapphoto.com/collections/camp-snap-screen-free-digital-cameras">Camp Snap: Screen-Free Digital Cameras</a>
A collection of digital cameras designed to be screen-free, encouraging mindful photography.</p>
</li>
</ul>
<h2 id="odds--ends">Odds &amp; Ends</h2>
<ul>
<li>
<p><a href="https://pxlnv.com/linklog/ai-calvin-and-hobbes-strip/">AI Calvin and Hobbes Strip</a>
What happens when AI meets classic comics? This link explores the intersection in a playful way.</p>
</li>
<li>
<p><a href="https://www.joanwestenberg.com/a-world-without-touch-is-a-world-without-trust/">A World Without Touch Is a World Without Trust</a>
Joan Westenberg reflects on the importance of physical connection in a digital age.</p>
</li>
<li>
<p><a href="https://old.reddit.com/r/Volumeeating/comments/1l1xd56/thanks_for_showing_me_the_ways_of_jellogurt/">Volume Eating &amp; Jellogurt</a>
A quirky Reddit thread on creative, low-calorie eating hacks.</p>
</li>
<li>
<p><a href="https://scifiinterfaces.com/">Scifi Interfaces</a>
A treasure trove of design inspiration from sci-fi movies and TV.</p>
</li>
</ul>
<h2 id="tools--platforms">Tools &amp; Platforms</h2>
<ul>
<li>
<p><a href="https://techcrunch.com/2025/06/05/introducing-bounce-a-tool-to-move-your-follwing-between-bluesky-and-mastodon/">Introducing Bounce: Move Your Following Between Bluesky and Mastodon</a>
TechCrunch covers a new tool for migrating your social graph across decentralized platforms.</p>
</li>
<li>
<p><a href="https://zorin.com/">Zorin OS</a>
A user-friendly Linux distro worth checking out, especially if you’re looking for a polished desktop experience.</p>
</li>
</ul>
<h2 id="meta--web-discovery">Meta &amp; Web Discovery</h2>
<ul>
<li>
<p><a href="https://winther.sysctl.dk/blog-discovery-requires-effort/">Blog Discovery Requires Effort</a>
A meditation on the changing landscape of blog discovery and why finding good writing is harder—but more rewarding—than ever.</p>
</li>
<li>
<p><a href="https://shellsharks.com/scrolls/scroll/2025-06-24">Shellsharks Scrolls</a>
A regularly updated scroll of interesting links and commentary from the Shellsharks community.</p>
</li>
</ul>
<hr>
<p><em>Happy browsing! If you have a favorite link or hidden gem, let me know—there’s always room for more in the next dump.</em></p>

        <br>
<div class="rss_avatar">
    
<a href="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=800" target="_blank" rel="noopener noreferrer">
  <img
  class="gravatar-img"
  
  alt="Avatar"
  loading="lazy"
  src="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=250"
  />
</a>

</div>
<style>
.rss_avatar{
    float: right;
}
.rss_avatar img{
    border-radius: 100%;
    max-height: 150px;
}
</style>
<br>
<hr>
Reply:
<a href="https://mastodon.social/@jelloeater">🐘 @jelloeater - Masto</a> |
<a href="https://bsky.app/profile/jelloeater.bsky.social">🦋 @jelloeater - Bsky</a> |
<a href="https://bsky.app/profile/did:plc:srmltlrjqfr7mbfdejuxrbss/rss">🦋 @jelloeater - Bsky RSS</a> |
<a href="mailto:jello@jelloeater.me?subject=RE:sunday-funday-2025-06">📧 Email Me</a> |
<a href="https://jelloeater.me/blog/sunday-funday-2025-06/#comments">💬 Comment</a>
<br>
<a href="https://jelloeater.me/link/">🌳 LinkTree</a> |
<a href="https://ko-fi.com/jelloeater">☕ Buy me a coffee</a>
<hr>


Tags:
<a href="https://jelloeater.me/tags/ai/">#ai</a>

<a href="https://jelloeater.me/tags/design/">#design</a>

<a href="https://jelloeater.me/tags/devops/">#devops</a>

<a href="https://jelloeater.me/tags/hardware/">#hardware</a>

<a href="https://jelloeater.me/tags/link_dump/">#link_dump</a>

<a href="https://jelloeater.me/tags/python/">#python</a>

<a href="https://jelloeater.me/tags/slow_living/">#slow_living</a>

<a href="https://jelloeater.me/tags/sunday_funday/">#sunday_funday</a>

<a href="https://jelloeater.me/tags/web_culture/">#web_culture</a>

        ]]>
        </content:encoded>
    </item>
    <item>
      <title>Bookmarking &amp; Blogging</title>
      <link>
      https://jelloeater.me/blog/info-overload/
      </link>
      <dc:creator>Jelloeater</dc:creator>
      <comments>
      https://jelloeater.me/blog/info-overload/#comments
      </comments>
      <pubDate>Wed, 04 Jun 2025 02:59:29 +0000</pubDate>
      <category>blogging</category>
      
      <category>bookmarking</category>
      
      <category>instapaper</category>
      
      <category>link_dump</category>
      
      <category>mozilla_sync</category>
      
      <category>raindrop.io</category>
      
      <category>rss</category>
      
      <category>update</category>
      <guid>https://jelloeater.me/blog/info-overload/</guid>
      
      <media:content url="https://jelloeater.me/blog/info-overload.png" medium="image" type="image/png"/>
      <media:thumbnail url="https://jelloeater.me/blog/info-overload.png"/>
      


    
    



      
      
      <description><![CDATA[Blog posts (in theory) last forever...ish]]></description>
      
      <content:encoded>
        <![CDATA[
        
          <p><img src="https://jelloeater.me/blog/info-overload.png" alt="Featured Image"/></p>
        
        <h2 id="-information-overload">🤯 Information Overload</h2>
<p>I&rsquo;ve been rethinking my bookmarking and sharing habits. I consume a massive amount of content via RSS using <a href="https://www.inoreader.com">Inoreader</a>, often skimming 100-250 posts daily. This leads to an overwhelming reading list.</p>
<p>I&rsquo;ve been using <a href="https://openvibe.social/">OpenVibe</a> for quick shares and <a href="https://buffer.com/">Buffer</a> for automated posting, which works, but feels impersonal. Longer articles get starred for later review, resulting in a backlog of around 100 articles weekly. <a href="https://www.instapaper.com/">Instapaper</a> is my go-to for long-form content, but even then, I struggle to keep up.</p>
<p>I&rsquo;m trying to be more selective with what I send to Instapaper, reserving it for thought-provoking pieces. My free Buffer plan limits me to 10 queued articles, forcing me to be more discerning. I post around 20-30 articles weekly, which makes me question if I&rsquo;m a person or just a link aggregator.</p>
<p>While I&rsquo;m more selective than some, I want to avoid overwhelming my own followers. Feeds that post excessively feel like a chore, and I don&rsquo;t want to create that experience for others.</p>
<h2 id="-blogging">📝 Blogging</h2>
<p>To that end, I&rsquo;m going to TRY and start writing up a blog entry of the things I find interesting each week, and then posting that to my social media accounts. This way I can be more deliberate about what I share, and hopefully make it easier for folks reading my stuff things that interest <strong>them</strong>.</p>
<ul>
<li>Worst case, it becomes a highlight reel of the things I find interesting, and I can look back on it in a few months and see what I was into at the time.</li>
<li>Best case, it becomes a way for me to share my thoughts on the things I find interesting.</li>
</ul>
<p>Yeah, I&rsquo;ll still post timely stuff that&rsquo;s neat like now now, but I really want to focus more on the slow insightful stuff, as I&rsquo;m hoping it makes the whole info digestion process a bit easier for me, and hopefully for you too.</p>
<h2 id="-reading-and-bookmarking">📚 Reading and Bookmarking</h2>
<p>I use <a href="https://sync.mozilla.org/">Mozilla Sync</a> to manage my bookmarks, but it doesn&rsquo;t really help with the reading aspect. I do like how it integrates and lets me do bulk actions.</p>
<p>I&rsquo;ve also been testing out <a href="http://raindrop.io/">Raindrop.io</a>, which is also pretty neat. But the integration just feels second rate compared to FF Sync.</p>
<p>If you&rsquo;re not looking to use Mozilla Sync, then you might want to try [<a href="https://floccus.org/">Floccus</a>](<a href="https://floccus.org/">https://floccus.org/</a>) for doing cross browser bookmark syncing. It does work fairly well, but it does require a desktop to have all the bookmarks sync up, vs FF Sync, which is totally cloud based.</p>
<p>For reading long form, I prefer Instapaper due to its text reformating and features like reading progress tracking and highlighting. It also has Kindle sync, which I should utilize more.</p>
<p>However, I need a streamlined way to bulk bookmark, read, and share articles without service hassles. Currently, Mozilla Sync suits me for managing links to share later, while Buffer/OpenVibe handle immediate sharing.</p>
<pre class="mermaid">graph TD
Start --> Neat_Link --Skim_Headline-->

Interesting? --YES--> Read_Moar
Interesting? --NO--> Start

Read_Moar --> Lots_of_text
Lots_of_text --yeah--> InstaPaper
Still_Relevent --Nope--> Archive_It
InstaPaper --> Still_Relevent --Yeah--> Buffer/OpenVibe

Lots_of_text --nope--> Time_Sensitive
Time_Sensitive --Yes--> Buffer
Time_Sensitive --Nope--> Bookmark_It


Bookmark_It --> Blog_Post
  </pre>
  
<h2 id="-tldr">🤔 TL;DR</h2>
<p>I have a lot of bookmarks, and I want to be more deliberate about what I read and share. I&rsquo;m going to TRY to start writing up blog posts of the things I find interesting, and then posting that to my social media accounts.</p>
<ul>
<li>Worst case, you get a highlight reel / link dump of the things I find interesting</li>
<li>Best case, it becomes a new way for me to share my thoughts on the things I find interesting.</li>
</ul>
<p>🖖 Jelloeater</p>


  
    <blockquote>
      <p>Social media comes and goes, but blog posts (in theory) last forever&hellip;ish &lt;3</p>
    </blockquote>
  

        <br>
<div class="rss_avatar">
    
<a href="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=800" target="_blank" rel="noopener noreferrer">
  <img
  class="gravatar-img"
  
  alt="Avatar"
  loading="lazy"
  src="https://www.gravatar.com/avatar/38b1e3a9923c356e248e749ace56d4fd?s=250"
  />
</a>

</div>
<style>
.rss_avatar{
    float: right;
}
.rss_avatar img{
    border-radius: 100%;
    max-height: 150px;
}
</style>
<br>
<hr>
Reply:
<a href="https://mastodon.social/@jelloeater">🐘 @jelloeater - Masto</a> |
<a href="https://bsky.app/profile/jelloeater.bsky.social">🦋 @jelloeater - Bsky</a> |
<a href="https://bsky.app/profile/did:plc:srmltlrjqfr7mbfdejuxrbss/rss">🦋 @jelloeater - Bsky RSS</a> |
<a href="mailto:jello@jelloeater.me?subject=RE:info-overload">📧 Email Me</a> |
<a href="https://jelloeater.me/blog/info-overload/#comments">💬 Comment</a>
<br>
<a href="https://jelloeater.me/link/">🌳 LinkTree</a> |
<a href="https://ko-fi.com/jelloeater">☕ Buy me a coffee</a>
<hr>


Tags:
<a href="https://jelloeater.me/tags/blogging/">#blogging</a>

<a href="https://jelloeater.me/tags/bookmarking/">#bookmarking</a>

<a href="https://jelloeater.me/tags/instapaper/">#instapaper</a>

<a href="https://jelloeater.me/tags/link_dump/">#link_dump</a>

<a href="https://jelloeater.me/tags/mozilla_sync/">#mozilla_sync</a>

<a href="https://jelloeater.me/tags/raindrop.io/">#raindrop.io</a>

<a href="https://jelloeater.me/tags/rss/">#rss</a>

<a href="https://jelloeater.me/tags/update/">#update</a>

        ]]>
        </content:encoded>
    </item>
  </channel>
</rss>
