<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://www.fuzzygrim.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.fuzzygrim.com/" rel="alternate" type="text/html" /><updated>2025-12-28T20:39:31+00:00</updated><id>https://www.fuzzygrim.com/feed.xml</id><title type="html">FuzzyGrim</title><subtitle>Another computer enthusiast</subtitle><entry><title type="html">Autumn 2025 in review</title><link href="https://www.fuzzygrim.com/seasons/autumn-2025" rel="alternate" type="text/html" title="Autumn 2025 in review" /><published>2025-12-21T00:00:00+00:00</published><updated>2025-12-21T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/seasons/autumn-2025</id><content type="html" xml:base="https://www.fuzzygrim.com/seasons/autumn-2025"><![CDATA[<h2 id="games-i-have-played">Games I have played</h2>

<p>It’s been a while since I’ve properly lost myself in a game, but this autumn I finally sat down with one I’d been eyeing for months: Expedition 33. The trailer had sold me on the premise, and I’d been waiting for the right moment to dive in. Now that I’ve finished it, I can say that it was a great experience overall. The narrative was engaging, with multiple parts that kept me hooked throughout. The gameplay was mostly solid, though I’ll admit the mechanics grew a bit samey in the final stretch. Still, I appreciated the effort to try  something fresh with the turn-based combat system. The real highlight was the soundtrack and world-building, every track felt perfectly chosen, wrapping the whole experience in exactly the right mood. While it may not be perfect, Expedition 33 is definitely worth the time for those interested in narrative-driven games.</p>

<h2 id="interesting-blog-posts">Interesting blog posts</h2>

<p><a href="https://nesbitt.io/2025/12/26/how-uv-got-so-fast.html">How uv got so fast</a>, by Andrew Nesbitt.</p>

<p><a href="https://stalw.art/blog/jmap-collaboration/">JMAP for Calendars, Contacts and Files now in Stalwart</a>, by Maurus Decimus on Stalwart blog.</p>

<p><a href="https://windscribe.com/blog/the-vpn-relationship-map/">Who Owns Express VPN, Nord, Surfshark? VPN Relationships Explained</a>, by Windscribe.</p>

<h2 id="other-links">Other links</h2>

<p><a href="https://news.ycombinator.com/item?id=45744209">Ask HN: How to deal with long vibe-coded PRs?</a>, on Hacker News.</p>

<p><a href="https://github.com/sivers/sivers">Derek Sivers’s database and web apps</a>, by Derek Sivers.</p>

<p><a href="https://koreajoongangdaily.joins.com/news/2025-10-01/national/socialAffairs/NIRS-fire-destroys-governments-cloud-storage-system-no-backups-available/2412936">NIRS fire destroys government’s cloud storage system, no backups available</a>, by Korea JoongAng Daily.</p>

<p><a href="https://walletwallet.alen.ro/">WalletWallet</a>, a simple utility to convert physical barcodes into digital passes for Apple Wallet.</p>

<p><a href="https://eieio.games/blog/writing-down-every-uuid/">Writing Down (And Searching Through) Every UUID</a>, by Nolen Royalty.
<a href="https://news.ycombinator.com/item?id=41862332">Ask HN: Founders, what was the major sourcing channel for your first 100 users?</a>, on Hacker News.</p>]]></content><author><name></name></author><category term="seasons" /><category term="seasons" /></entry><entry><title type="html">Summer 2025 in review</title><link href="https://www.fuzzygrim.com/seasons/summer-2025" rel="alternate" type="text/html" title="Summer 2025 in review" /><published>2025-09-21T00:00:00+00:00</published><updated>2025-09-21T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/seasons/summer-2025</id><content type="html" xml:base="https://www.fuzzygrim.com/seasons/summer-2025"><![CDATA[<h2 id="interesting-blog-posts">Interesting blog posts</h2>

<p><a href="https://bitbytebit.substack.com/p/everything-thats-wrong-with-google">Everything that’s wrong with Google Search in one image</a>, by Zarar Siddiqi.</p>

<p><a href="https://www.jeffgeerling.com/blog/2025/intel-n100-better-value-raspberry-pi">Is an Intel N100 a better value than a Raspberry Pi?</a>, by Jeff Geerling.</p>

<p><a href="https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised">npm debug and chalk packages compromised</a>, by Charlie Eriksen.</p>

<p><a href="https://calv.info/openai-reflections">Reflections on OpenAI</a>, by Calvin French-Owen.</p>

<p><a href="https://tailwindcss.com/blog/vanilla-js-support-for-tailwind-plus">Vanilla JavaScript support for Tailwind Plus</a>, by Philipp Spiess and Adam Wathan.</p>

<p><a href="https://codesmash.dev/why-i-ditched-docker-for-podman-and-you-should-too">Why I Ditched Docker for Podman (And You Should Too)</a>, by Dominik Szymański.</p>

<h2 id="other-links">Other links</h2>

<p><a href="https://github.com/fosrl/pangolin">Pangolin</a>, a self-hosted tunneled reverse proxy server with identity and access control, designed to securely expose private resources on distributed networks.</p>

<p><a href="https://system76.com/pop/pop-beta/">Pop!_OS 24.04 LTS Beta</a>, Cosmic DE in beta!</p>

<p><a href="https://github.com/astral-sh/uv">uv</a>, an extremely fast Python package and project manager, written in Rust.</p>]]></content><author><name></name></author><category term="seasons" /><category term="seasons" /></entry><entry><title type="html">Spring 2025 in review</title><link href="https://www.fuzzygrim.com/seasons/spring-2025" rel="alternate" type="text/html" title="Spring 2025 in review" /><published>2025-06-21T00:00:00+00:00</published><updated>2025-06-21T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/seasons/spring-2025</id><content type="html" xml:base="https://www.fuzzygrim.com/seasons/spring-2025"><![CDATA[<h2 id="interesting-blog-posts">Interesting blog posts</h2>

<p><a href="https://hardcover.app/blog/part-1-how-we-fell-out-of-love-with-next-js-and-back-in-love-with-ruby-on-rails-inertia-js">How We Fell Out of Love with Next.js and Back in Love with Ruby on Rails &amp; Inertia.js</a>, by Adam Fortuna.</p>

<p><a href="https://thirty-five.com/overengineered-anchoring">Overengineered anchor links</a>, by Mats Erdkamp.</p>

<p><a href="https://supernuclear.substack.com/p/stoop-coffee-how-a-simple-idea-transformed">Stoop Coffee: How a Simple Idea Transformed My Neighborhood</a>, by Patty Smith.</p>

<p><a href="https://www.servethehome.com/synology-lost-the-plot-with-hard-drive-locking-move/">Synology Lost the Plot with Hard Drive Locking Move</a>, by Patrick Kennedy.</p>

<p><a href="https://developer.chrome.com/blog/a-customizable-select">The &lt;select&gt; element can now be customized with CSS</a>, by Adam Argyle.</p>

<p><a href="https://www.theatlantic.com/politics/archive/2025/03/trump-administration-accidentally-texted-me-its-war-plans/682151/">The Trump Administration Accidentally Texted Me Its War Plans</a>, by Jeffrey Goldberg.</p>

<p><a href="https://www.kapwing.com/blog/what-its-like-to-interview-a-software-engineer-preparing-with-ai/">What it’s like to interview a software engineer preparing with AI</a>, by Eric Lu.</p>

<h2 id="other-links">Other links</h2>

<p><a href="https://github.com/Maciek-roboblog/Claude-Code-Usage-Monitor">Claude Code Usage Monitor</a>, a tool to monitor your Claude AI token usage.</p>

<p><a href="https://plainframework.com/">Plain</a>, a simple and powerful framework for building web applications with Python.</p>]]></content><author><name></name></author><category term="seasons" /><category term="seasons" /></entry><entry><title type="html">Winter 2025 in review</title><link href="https://www.fuzzygrim.com/seasons/winter-2025" rel="alternate" type="text/html" title="Winter 2025 in review" /><published>2025-03-21T00:00:00+00:00</published><updated>2025-03-21T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/seasons/winter-2025</id><content type="html" xml:base="https://www.fuzzygrim.com/seasons/winter-2025"><![CDATA[<h2 id="interesting-blog-posts">Interesting blog posts</h2>

<p><a href="https://chadnauseam.com/coding/random/calculator-app">“A calculator app? Anyone could make that.”</a>, by Chad Nauseam.</p>

<p><a href="https://www.eliseomartelli.it/blog/2025-03-02-apple-quality">Apple’s Software Quality Crisis: When Premium Hardware Meets Subpar Software</a>, by Eliseo Martelli.</p>

<p><a href="https://www.readtrung.com/p/garmins-40b-pivot">Garmin’s ~$40B Pivot</a>, by Trung Phan.</p>

<p><a href="https://www.scientificamerican.com/article/the-surprisingly-difficult-mathematical-proof-that-anime-fans-helped-solve/">How Anime Fans Stumbled upon a Mathematical Proof</a>, by Manon Bischoff.</p>

<p><a href="https://blog.daviddodda.com/how-i-automated-my-job-application-process-part-1">How I Automated My Job Application Process. (Part 1)</a>, by David Dodda.</p>

<p><a href="https://crawshaw.io/blog/programming-with-llms">How I program with LLMs</a>, by David Crawshaw.</p>

<p><a href="https://kibty.town/blog/todesktop/">how to gain code execution on millions of people and hundreds of popular apps</a>, by eva.</p>

<p><a href="https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm/">My LLM codegen workflow atm</a>, by Harper Reed.</p>

<p><a href="https://grantslatton.com/nobody-cares">Nobody cares</a>, by Grant Slatton.</p>

<p><a href="https://keygen.sh/blog/no-calls/">No calls</a>, by Keygen.</p>

<p><a href="https://localthunk.com/blog/solitaire">Solitaire</a>, by Local Thunk.</p>

<p><a href="https://blog.6nok.org/tailscale-is-pretty-useful/">Tailscale is pretty useful</a>, by Fatih Altinok.</p>

<p><a href="https://nmn.gl/blog/ai-senior-developer">The day I taught AI to read code like a Senior Developer</a>, by Namanyay Goel.</p>

<p><a href="https://andygrunwald.com/blog/why-does-storing-two-factor-authentication-codes-in-your-password-manager-make-sense/">Why does storing two-factor authentication codes in your password manager make sense?</a>, by Andy Grunwald.</p>

<p><a href="https://www.fastmail.com/blog/why-we-use-our-own-hardware/">Why we use our own hardware at Fastmail</a>, by Rob Mueller.</p>

<h2 id="other-links">Other links</h2>

<p><a href="https://ryanis.cool/cosmos/">Cosmos Keyboard</a>, a website to custom build a keyboard fit for your needs.</p>

<p><a href="https://news.ycombinator.com/item?id=43186406">I got laid off from Meta and created a minor hit on Steam</a>, on Hacker News.</p>

<p><a href="https://repomix.com/">Repomix</a>, pack your codebase into AI-friendly formats.</p>]]></content><author><name></name></author><category term="seasons" /><category term="seasons" /></entry><entry><title type="html">Autumn 2024 in review</title><link href="https://www.fuzzygrim.com/seasons/autumn-2024" rel="alternate" type="text/html" title="Autumn 2024 in review" /><published>2024-12-21T00:00:00+00:00</published><updated>2024-12-21T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/seasons/autumn-2024</id><content type="html" xml:base="https://www.fuzzygrim.com/seasons/autumn-2024"><![CDATA[<h2 id="games-i-have-played">Games I have played</h2>

<p>Continuing with my gaming journey, I’ve played two notable games this season, in chronological order:</p>

<ul>
  <li>Tape to Tape</li>
  <li>Arena Breakout Infinite</li>
</ul>

<p>Tape to Tape was a refreshing take on hockey with roguelite elements that I enjoyed with a friend - its blend of modern gameplay with 90s-inspired action and quirky features like AOE farts made for a fun, albeit short, experience. Arena Breakout Infinite has been my go-to game after leaving Escape from Tarkov due to its persistent issues with hackers and poor developer support, and I’m finding it to be a much more enjoyable alternative.</p>

<h2 id="interesting-blog-posts">Interesting blog posts</h2>

<p><a href="https://ssoready.com/blog/engineering/truths-programmers-timezones/">Australia/Lord_Howe is the weirdest timezone</a>, by Ulysse Cario.</p>

<p><a href="https://antirez.com/news/144">From where I left</a>, by Salvatore Sanfilippo.</p>

<p><a href="https://pushtoprod.substack.com/p/netflix-terrifying-concurrency-bug">How We Built a Self-Healing System to Survive a Terrifying Concurrency Bug At Netflix</a>, by Matthew Hawthorne.</p>

<p><a href="https://expressionstatement.com/html-form-validation-is-heavily-underused">HTML Form Validation is heavily underused</a>, on Expression Statement.</p>

<p><a href="https://ben-mini.com/2024/img-0416">IMG_0416</a>, by Ben Wallace.</p>

<p><a href="https://spliit.app/blog/spliit-by-the-stats-usage-costs-donations">Spliit by the Stats: Usage, Costs, Donations</a>, by Sebastien Castiel.</p>

<p><a href="https://papanotes.com/the-best-4-ever-spent">The best $4 ever spent</a>, by Greg Gilbert.</p>

<p><a href="https://ghuntley.com/fracture/">Visual Studio Code is designed to fracture</a>, by Geoffrey Huntley.</p>

<p><a href="https://eieio.games/blog/writing-down-every-uuid/">Writing Down (And Searching Through) Every UUID</a>, by Nolen Royalty.</p>

<h2 id="other-links">Other links</h2>

<p><a href="https://news.ycombinator.com/item?id=41862332">Ask HN: Founders, what was the major sourcing channel for your first 100 users?</a>, on Hacker News.</p>

<p><a href="https://www.futilitycloset.com/2024/12/15/tidy-2/">A visual proof that a2 – b2 = (a + b)(a – b)</a>, by Greg Ross.</p>

<p><a href="https://github.com/corbt/agent.exe">Agent.exe</a>, a cross-platform app to let 3.5 Sonnet control your machine.</p>

<p><a href="https://everyuuid.com/">Every V4 UUID</a>, a website that lists every possible V4 UUID.</p>]]></content><author><name></name></author><category term="seasons" /><category term="seasons" /></entry><entry><title type="html">Summer 2024 in review</title><link href="https://www.fuzzygrim.com/seasons/summer-2024" rel="alternate" type="text/html" title="Summer 2024 in review" /><published>2024-09-21T00:00:00+00:00</published><updated>2024-09-21T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/seasons/summer-2024</id><content type="html" xml:base="https://www.fuzzygrim.com/seasons/summer-2024"><![CDATA[<h2 id="games-i-have-played">Games I have played</h2>

<p>In chronological order:</p>

<ul>
  <li>Cuphead</li>
  <li>Dead Space Remake</li>
  <li>Resident Evil 4 Remake</li>
</ul>

<p>So starting with Cuphead, I played it before solo but never finished it, this time I played it with a friend and we completed all the bosses. It was a fun experience, the game is challenging but fair, it’s always satisfying to defeat a boss after many attempts. After playing most modern Resident Evil games, I wanted more survival horror games, so I played Dead Space Remake, it was a good experience but I didn’t enjoy it as much as I thought I would, the game is good but it didn’t click with me. Lastly, I played Resident Evil 4 Remake, I really wanted to play this game because I really liked the other Resident Evil games, and this was supposed to be one of the best, and boy was it, it was excellent, I enjoyed every moment and I even played the DLC, which was also great.</p>

<h2 id="interesting-blog-posts">Interesting blog posts</h2>

<p><a href="https://nochlin.com/blog/6-techniques-i-use-to-create-a-great-user-experience-for-shell-scripts">6 Techniques I Use to Create a Great User Experience for Shell Scripts</a>, by Jason Nochlin.</p>

<p><a href="https://alexyancey.com/lost-airpods/">Did you lose your AirPods?</a>, by Alex Yancey.</p>

<p><a href="https://kibty.town/blog/arc/">Gaining access to anyones browser without them even visiting a website</a>, by Eva.</p>

<p><a href="https://learnhowtolearn.org/how-to-build-extremely-quickly/">How to Build Anything Extremely Quickly</a>, by dnbt777.</p>

<p><a href="https://martin.wojtczyk.de/2024/08/31/is-my-vision-that-bad-no-its-just-a-bug-in-apples-calculator/">Is my vision that bad? No, it’s just a bug in Apple’s Calculator.</a>, by Martin Wojtczyk.</p>

<p><a href="https://switowski.com/blog/i-have-built-my-first-successful-side-project-and-i-hate-it/">I’ve Built My First Successful Side Project, and I Hate It</a>, by Sebastian Witowski.</p>

<p><a href="https://linuxblog.io/linux-tiling-desktop-environments/">Linux: We need Tiling Desktop Environments</a> by James Hayden.</p>

<p><a href="https://danilafe.com/blog/blog_microfeatures/">Microfeatures I Love in Blogs and Personal Websites</a>, by Daniel Fedorin.</p>

<p><a href="https://maxschmitt.me/posts/toasts-bad-ux">Toasts are Bad UX</a>, by Max Schmitt.</p>

<p><a href="https://blog.singleton.io/posts/2022-10-17-otp-on-wrist/">TOTP tokens on my wrist with the smartest dumb watch</a>, on Singleton.</p>

<p><a href="https://www.ericpfahl.com/from-pattern-matching-to-unification/">Unification in Elixir</a>, by Eric Pfahl.</p>

<p><a href="https://web.archive.org/web/20240923091701/https://peabee.substack.com/p/whats-inside-the-qr-code-menu-at">What’s inside the QR code menu at this cafe?</a>, by Pea Bee.</p>

<p><a href="https://www.techspot.com/news/102871-zero-regrets-firefox-power-user-kept-7500-tabs.html">Zero regrets: Firefox power user kept 7,500 tabs open for two years</a>, by Zo Ahmed.</p>

<h2 id="other-links">Other links</h2>

<p><a href="https://www.youtube.com/watch?v=25LUF8GmbFU">I Was An MIT Educated Neurosurgeon Now I’m Unemployed And Alone In The Mountains How Did I Get Here?</a>, on YouTube by Jonathan Choi.</p>

<p><a href="https://github.com/linuxmint/timeshift">Timeshift</a>, a system restore tool for Linux.</p>

<p><a href="https://zen-browser.app/download">Zen brower</a>, a privacy-focused web browser.</p>]]></content><author><name></name></author><category term="seasons" /><category term="seasons" /></entry><entry><title type="html">Backups with Kopia via Docker</title><link href="https://www.fuzzygrim.com/posts/kopia-backup" rel="alternate" type="text/html" title="Backups with Kopia via Docker" /><published>2024-06-27T00:00:00+00:00</published><updated>2024-06-27T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/posts/kopia-backup</id><content type="html" xml:base="https://www.fuzzygrim.com/posts/kopia-backup"><![CDATA[<p>My previous backup solution was <a href="https://duplicati.com/">Duplicati</a>, it was always a bit slow but tolerable. However, after a while, it started to show some errors related to database corruption. I tried to fix it but it seemed to be a recurring problem and was a common complaint on the forums.</p>

<p>After searching for alternatives, I decided to give <a href="https://kopia.io/">Kopia</a> a try. And after using it for almost a year, I can say that I am very happy with it. It is fast and reliable, I have restored many files with it and it worked perfectly. I am writing this post to show how to set up Kopia with Docker, as I couldn’t find a good guide when I was setting it up.</p>

<h2 id="docker-compose">Docker Compose</h2>

<div class="language-yml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">version</span><span class="pi">:</span> <span class="s2">"</span><span class="s">3.7"</span>
<span class="na">services</span><span class="pi">:</span>
    <span class="na">kopia</span><span class="pi">:</span>
        <span class="na">image</span><span class="pi">:</span> <span class="s">kopia/kopia:latest</span>
        <span class="na">hostname</span><span class="pi">:</span> <span class="s">kopia</span>
        <span class="na">container_name</span><span class="pi">:</span> <span class="s">kopia</span>
        <span class="na">restart</span><span class="pi">:</span> <span class="s">unless-stopped</span>
        <span class="na">ports</span><span class="pi">:</span>
            <span class="pi">-</span> <span class="s">51515:51515</span>
        <span class="na">environment</span><span class="pi">:</span>
            <span class="pi">-</span> <span class="s">KOPIA_PASSWORD=${KOPIA_REPOSITORY_PASSWORD}</span>
            <span class="pi">-</span> <span class="s">TZ=Europe/Madrid</span>
        <span class="na">volumes</span><span class="pi">:</span>
            <span class="c1"># Mount local folders needed by kopia</span>
            <span class="pi">-</span> <span class="s">./config:/app/config</span>
            <span class="pi">-</span> <span class="s">./cache:/app/cache</span>
            <span class="pi">-</span> <span class="s">./logs:/app/logs</span>
            <span class="pi">-</span> <span class="s">/data:/data:ro</span>
            <span class="pi">-</span> <span class="s">/backup:/backup</span>
            <span class="pi">-</span> <span class="s">./export:/export</span>
        <span class="na">command</span><span class="pi">:</span>
            <span class="pi">-</span> <span class="s">server</span>
            <span class="pi">-</span> <span class="s">start</span>
            <span class="pi">-</span> <span class="s">--insecure</span>
            <span class="pi">-</span> <span class="s">--address=0.0.0.0:51515</span>
            <span class="pi">-</span> <span class="s">--server-username=${KOPIA_USER}</span>
            <span class="pi">-</span> <span class="s">--server-password=${KOPIA_USER_PASSWORD}</span>
</code></pre></div></div>

<p>When you start the container, you will have a Kopia server running on port 51515. It will ask you for a username and password, which you can set with the <code class="language-plaintext highlighter-rouge">KOPIA_USER</code> and <code class="language-plaintext highlighter-rouge">KOPIA_USER_PASSWORD</code> environment variables. The <code class="language-plaintext highlighter-rouge">KOPIA_REPOSITORY_PASSWORD</code> is the password for the repository which will be used later. The <code class="language-plaintext highlighter-rouge">data</code> volume is where you will mount the data you want to back up, and the <code class="language-plaintext highlighter-rouge">backup</code> volume is where the backups will be stored. The <code class="language-plaintext highlighter-rouge">export</code> volume is the path in which you want to export the backups.</p>

<h2 id="creating-a-repository-for-local-backups">Creating a repository for local backups</h2>

<p>Once logged in, you will be presented with the following options for creating a repository:</p>

<p><img src="https://cdn.fuzzygrim.com/file/fuzzygrim/2024-06-27-kopia-backup/kopia-home.png" alt="Kopia home" /></p>

<p>Here is their definition of a repository:</p>

<blockquote>
  <p>Kopia allows you to save your encrypted backups (which are called snapshots in Kopia) to a variety of storage locations, and in Kopia a storage location is called a repository.</p>
</blockquote>

<p>One downside of Kopia in Docker is that it only supports one repository (one backup location) per container. So if you want to back up to different locations, like local and offsite, you will need to create a new container for each repository.</p>

<p>To back up to a local directory, select the <code class="language-plaintext highlighter-rouge">Local directory or NAS</code> option. You will be asked for the path where you want to store the backups, which should be <code class="language-plaintext highlighter-rouge">/backup</code> if you are using the same volumes as in the Docker Compose file. When asked for the repository password, use the value of the <code class="language-plaintext highlighter-rouge">KOPIA_REPOSITORY_PASSWORD</code> environment variable.</p>

<p>Now for this repository, you will be able to define multiple snapshots, with different paths, schedules, retention policies, etc.</p>

<h2 id="defining-a-snapshot">Defining a snapshot</h2>

<p>To create a snapshot, you will need to define a source, a schedule, and a retention policy. Start by clicking on the <code class="language-plaintext highlighter-rouge">New Snapshot</code> button on the <code class="language-plaintext highlighter-rouge">Snapshots</code> tab. You will be asked for the source, which should be <code class="language-plaintext highlighter-rouge">/data</code> if you are using the same volumes as in the Docker Compose file.</p>

<p>Next, you will be asked for the different policies, like the schedule, retention, and the name of the snapshot. You can also define filters to exclude files or directories from the snapshot.</p>

<p><img src="https://cdn.fuzzygrim.com/file/fuzzygrim/2024-06-27-kopia-backup/snapshot-policies.png" alt="Snapshot policies" /></p>

<p>For each setting, you will see your defined value and the current setting (normally the values from the global policy). There are many settings you can define, making Kopias very flexible and powerful. You can leave most of them as they are, but I recommend setting a compression algorithm, as it can save a lot of space. You can check out their <a href="https://kopia.io/docs/advanced/compression/#algorithm">official benchmark</a> to see which one is the best for you, if you just want a balance between speed and compression, I recommend <code class="language-plaintext highlighter-rouge">pgzip</code>.</p>

<p>Likewise, you should probably set a schedule for the snapshot, I have mine set to run every day at 3 am. For this, you just need to write <code class="language-plaintext highlighter-rouge">3:00</code> in the “Times Of Day” field. You can use “Snapshot Actions” and “Folder Actions” to run scripts, for example for database dumps or stopping services before the snapshot.</p>

<h2 id="restoring-a-snapshot">Restoring a snapshot</h2>

<p>Ok, so you have your backups running, but how do you restore them? If you have lost your server and need to restore the data to a new one, you will need to install Kopia on the new server with the same variables in the Docker Compose file.</p>

<p>On the main page, select the storage type from where your backups are stored. For example, for the local directory, you will need to select <code class="language-plaintext highlighter-rouge">Local directory or NAS</code> and provide the path to the backups. Kopia will detect that there are backups in that path and will ask you for the repository password. After inputting the password, you will be able to see all the snapshots.</p>

<p>You can restore the whole snapshot or just some files, and you can also restore them to a different path. To do so, you will need to select the snapshot and go to the path where you want to restore the files from. Once there, you can click on the <code class="language-plaintext highlighter-rouge">Restore Files &amp; Directories</code> button and enter the destination path. This can be <code class="language-plaintext highlighter-rouge">/data</code> with the overwrite option enabled if you want to restore the files to the original path or the dedicated <code class="language-plaintext highlighter-rouge">/export</code> path if you want to restore them to a different location.</p>]]></content><author><name></name></author><category term="posts" /><category term="self-hosting" /><category term="tutorial" /><summary type="html"><![CDATA[Simple and secure 3-2-1 backups with Kopia]]></summary></entry><entry><title type="html">Spring 2024 in review</title><link href="https://www.fuzzygrim.com/seasons/spring-2024" rel="alternate" type="text/html" title="Spring 2024 in review" /><published>2024-06-21T00:00:00+00:00</published><updated>2024-06-21T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/seasons/spring-2024</id><content type="html" xml:base="https://www.fuzzygrim.com/seasons/spring-2024"><![CDATA[<h2 id="games-i-have-played">Games I have played</h2>

<p>These months I’ve played some cooperative games, in chronological order:</p>

<ul>
  <li>Bokura</li>
  <li>Satisfactory</li>
  <li>A Way Out</li>
</ul>

<p>Bokura is a small indie game that I found on Steam, it’s a short game with an interesting concept. The game was fun but I had issues with connection multiple times. I have been enjoying Satisfactory a lot, it’s a Factorio-like game but in 3D, as the name suggests, it’s quite satisfactory. Lastly, I played A Way Out with a friend and it was a nice experience, nothing too special but it was fun.</p>

<h2 id="interesting-blog-posts">Interesting blog posts</h2>

<p><a href="https://www.henrikkarlsson.xyz/p/go">After AI beat them, professional Go players got better and more creative</a>, by Henrik Karlsson.</p>

<p><a href="https://www.openwall.com/lists/oss-security/2024/03/29/4">Backdoor in upstream xz/liblzma leading to SSH server compromise</a>, by Andres Freund.</p>

<p><a href="https://tonsky.me/blog/centering/">Hardest Problem in Computer Science: Centering Things</a>, by Nikita Prokopov.</p>

<p><a href="https://xeiaso.net/talks/2024/nix-docker-build/">Nix is a better Docker image builder than Docker’s image builder</a>, by Xe Iaso.</p>

<p><a href="https://www.wheresyoured.at/the-men-who-killed-google/">The Man Who Killed Google Search</a>, by Edward Zitron.</p>

<p><a href="https://lwn.net/Articles/966631/">The race to replace Redis</a>, by Joe Brockmeier.</p>

<p><a href="https://hbr.org/2024/03/when-new-hires-get-paid-more-top-performers-resign-first">When New Hires Get Paid More, Top Performers Resign First</a>, by Andrea Derler, Peter Bamberger, Manda Winlaw, and Cuthbert Chow.</p>

<p><a href="https://d-shoot.net/kagi.html">Why I Lost Faith in Kagi</a>, by lori.</p>

<h2 id="other-links">Other links</h2>

<p><a href="https://suno.com/song/da6d4a83-1001-4694-8c28-648a6e8bad0a">AI-generated sad girl with piano performs the text of the MIT License</a>, on Suno.</p>

<p><a href="https://news.ycombinator.com/item?id=40341037">Ask HN: Founders who offer free/OS and paid SaaS, how do you manage your code?</a>, on Hacker News.</p>

<p><a href="https://news.ycombinator.com/item?id=39829695">Ask HN: What non-AI products are you working on?</a>, on Hacker News.</p>

<p><a href="https://github.com/jgthms/bulma">Bulma</a>, a modern CSS framework based on Flexbox.</p>

<p><a href="https://flexboxcss.com/">Flexbox CSS</a>, a simple and interactive way to learn Flexbox.</p>]]></content><author><name></name></author><category term="seasons" /><category term="seasons" /></entry><entry><title type="html">Winter 2024 in review</title><link href="https://www.fuzzygrim.com/seasons/winter-2024" rel="alternate" type="text/html" title="Winter 2024 in review" /><published>2024-03-21T00:00:00+00:00</published><updated>2024-03-21T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/seasons/winter-2024</id><content type="html" xml:base="https://www.fuzzygrim.com/seasons/winter-2024"><![CDATA[<h2 id="games-i-have-played">Games I have played</h2>

<p>Continuing with my gaming spree, I’ve played a few more games this season, in chronological order:</p>

<ul>
  <li>Cyberpunk 2077</li>
  <li>Resident Evil Village</li>
  <li>Portal 2</li>
</ul>

<p>I was disappointed with Cyberpunk 2077, after hearing that the game was fixed, I decided to give it a try. It wasn’t like I hated it but I can’t say it was a great experience either. The story felt bland and none of the characters were interesting except some of the DLC characters. The gameplay and the world felt good at times, but I had many breaking bugs and crashes that made the experience worse.</p>

<p>On the other hand, I had a blast with Resident Evil Village, it was just a fun game to play and was the perfect length for me. And lastly, I played Portal 2 with a friend in co-op mode and it was quite good too, the difficulty was just right and the coordination needed was fun.</p>

<h2 id="interesting-blog-posts">Interesting blog posts</h2>

<p><a href="https://andreasjhkarlsson.github.io//jekyll/update/2023/12/27/4-billion-if-statements.html">4 billion if statements</a>, by Andreas Karlsson.</p>

<p><a href="https://andykong.org/blog/icloudconfusion">Cleaning up my 200GB iCloud with some JavaScript</a>, by Andy Kong.</p>

<p><a href="https://adamwathan.me/css-utility-classes-and-separation-of-concerns/">CSS Utility Classes and “Separation of Concerns”</a>, by Adam Wathan.</p>

<p><a href="https://jcarlosroldan.com/post/314/el-bono-sevilla">El Bono Sevilla</a>, Juan Carlos Roldán.</p>

<p><a href="https://12challenges.substack.com/p/how-to-deal-with-receiving-a-cease">How to deal with receiving a cease-and-desist letter from Big Tech</a>, by Louis Barclay.</p>

<p><a href="https://tonsky.me/blog/checkbox/">In Loving Memory of Square Checkbox</a>, by Nikita Prokopov.</p>

<p><a href="https://catandgirl.com/4000-of-my-closest-friends/">On being listed as an artist whose work was used to train Midjourney</a>, by Dorothy Gambrell.</p>

<p><a href="https://taoshu.in/net/outlook-delist.html">Outlook/Hotmail is no longer blocking my mail server</a>, by Tao Shu.</p>

<p><a href="https://skii.dev/rook-to-xss/">Rook to XSS: How I hacked chess.com with a rookie exploit</a>, by Jake Skii.</p>

<p><a href="https://www.hillelwayne.com/post/graph-types/">The hunt for the missing data type</a>, by Hillel Wayne.</p>

<p><a href="https://mfkl.github.io/2024/01/10/unity-double-oss-standards.html">Unity’s Open-Source Double Standard: the ban of VLC</a>, by Martin Finkel.</p>

<p><a href="https://laplab.me/posts/whats-that-touchscreen-in-my-room/">What’s that touchscreen in my room?</a>, by Nikita Lapkov.</p>

<p><a href="https://www.preethamrn.com/posts/when-should-you-give-up">When should you give up on a project that doesn’t work?</a>, by Preetham Narayanareddy.</p>

<p><a href="https://chriscoyier.net/2024/02/28/where-im-at-on-the-whole-css-tricks-thing/">Where I’m at on the whole CSS-Tricks thing</a>, by Chris Coyier.</p>

<h2 id="other-links">Other links</h2>

<p><a href="https://abagames.github.io/crisp-game-lib-11-games/?pakupaku">1D Pac-Man</a>, a small and fun game by ABA Games.</p>

<p><a href="https://neal.fun/infinite-craft/">Infinite Craft</a>, a crafting game where you can make anything</p>

<p><a href="https://github.com/Stirling-Tools/Stirling-PDF">Stirling-PDF</a>, self-hosted PDF management tool.</p>]]></content><author><name></name></author><category term="seasons" /><category term="seasons" /></entry><entry><title type="html">Yamtrack</title><link href="https://www.fuzzygrim.com/projects/yamtrack" rel="alternate" type="text/html" title="Yamtrack" /><published>2024-03-19T00:00:00+00:00</published><updated>2024-03-19T00:00:00+00:00</updated><id>https://www.fuzzygrim.com/projects/yamtrack</id><content type="html" xml:base="https://www.fuzzygrim.com/projects/yamtrack"><![CDATA[<h2 id="about-the-project">About The Project</h2>

<p>Yamtrack is a self hosted media tracker for movies, tv shows, anime and manga, built with Django. It was my first project released to the public and was a great learning experience.</p>

<p>Some of the technologies used in this project are:</p>

<ul>
  <li><a href="https://djangoproject.com">Django</a>, a high-level Python Web framework.</li>
  <li><a href="https://getbootstrap.com">Bootstrap</a>, a free and responsive framework for faster and easier web development.</li>
  <li><a href="https://www.docker.com">Docker</a>, a platform that helps developers build, share and run applications in containers.</li>
  <li><a href="https://htmx.org">Htmx</a>, a library that allows you to access AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML.</li>
  <li><a href="https://github.com/features/actions">Github Actions</a>, a CI/CD tool that helps automate your software development workflows.</li>
</ul>

<p>Checkout the project on <a href="https://github.com/FuzzyGrim/Yamtrack">GitHub</a> for more information, or visit the <a href="https://yamtrack.fuzzygrim.com/">demo</a> with the credentials <code class="language-plaintext highlighter-rouge">demo</code>/<code class="language-plaintext highlighter-rouge">demo</code> to see it in action.</p>

<h2 id="screenshots">Screenshots</h2>

<figure>
    <img src="https://github.com/FuzzyGrim/blog/assets/34800654/3c74374f-a123-41eb-a3ed-63b7c07d34ad" style="width:40em; max-height:100%" />
    <figcaption style="text-align: center;">Home Page</figcaption>
</figure>

<figure>
    <img src="https://github.com/FuzzyGrim/blog/assets/34800654/9ea50be7-325d-4136-846b-55e8951679f4" style="width:40em; max-height:100%" />
    <figcaption style="text-align: center;">Grid Layout</figcaption>
</figure>

<figure>
    <img src="https://github.com/FuzzyGrim/blog/assets/34800654/167acd41-23a2-40f9-8687-58273fc73a90" style="width:40em; max-height:100%" />
    <figcaption style="text-align: center;">Table Layout</figcaption>
</figure>]]></content><author><name></name></author><category term="projects" /><category term="project" /><category term="python" /><summary type="html"><![CDATA[A self hosted media tracker for movies, tv shows, anime and manga.]]></summary></entry></feed>