<?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/">
  <channel>
    <title>DanielTPerry.me</title>
    <link>https://www.danieltperry.me/</link>
    <description>Recent content on DanielTPerry.me</description>
    <generator>Hugo -- 0.155.2</generator>
    <language>en</language>
    <lastBuildDate>Mon, 16 Feb 2026 10:25:09 -0500</lastBuildDate>
    <atom:link href="https://www.danieltperry.me/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How I Made My Todo List Voting Feature</title>
      <link>https://www.danieltperry.me/post/how-i-made-my-todo-list-voting-feature/</link>
      <pubDate>Mon, 16 Feb 2026 10:25:09 -0500</pubDate>
      <guid>https://www.danieltperry.me/post/how-i-made-my-todo-list-voting-feature/</guid>
      <description>A look at how I implemented a voting mechanism for my todo list items, allowing users to vote on which features they want to see implemented next.</description>
    </item>
    <item>
      <title>Steam Games Map</title>
      <link>https://www.danieltperry.me/project/2026-steam-map/</link>
      <pubDate>Tue, 20 Jan 2026 12:14:41 -0500</pubDate>
      <guid>https://www.danieltperry.me/project/2026-steam-map/</guid>
      <description>An interactive 2D map of games on the Steam Store using embeddings from Qwen3</description>
    </item>
    <item>
      <title>A Kopia Maintenance Warning</title>
      <link>https://www.danieltperry.me/post/kopia-transfer-warning/</link>
      <pubDate>Tue, 09 Sep 2025 20:23:21 -0400</pubDate>
      <guid>https://www.danieltperry.me/post/kopia-transfer-warning/</guid>
      <description>A quick warning if you&amp;rsquo;re using Kopia to manage backups for multiple machines with a single repository.</description>
    </item>
    <item>
      <title>Implementing Custom Hand Gestures on Apple Vision</title>
      <link>https://www.danieltperry.me/post/implementing-hand-gestures-on-apple-vision/</link>
      <pubDate>Thu, 30 Jan 2025 13:16:30 -0500</pubDate>
      <guid>https://www.danieltperry.me/post/implementing-hand-gestures-on-apple-vision/</guid>
      <description>A guide on implementing custom hand gestures for Apple Vision. We&amp;rsquo;ll be using these gestures to control a Thruster toy in the Spatial Physics Playground app, by adjusting its strength and toggling it on and off without the user needing to use UI buttons.</description>
    </item>
    <item>
      <title>Steam Embedding Search</title>
      <link>https://www.danieltperry.me/project/2023-steam-embedding-search/</link>
      <pubDate>Thu, 28 Dec 2023 14:37:37 -0500</pubDate>
      <guid>https://www.danieltperry.me/project/2023-steam-embedding-search/</guid>
      <description>A web application for searching Steam games using embeddings generated from game descriptions and reviews.</description>
    </item>
    <item>
      <title>Steam Game Search Overview</title>
      <link>https://www.danieltperry.me/post/instructor-as-search-engine/overview/</link>
      <pubDate>Mon, 20 Nov 2023 10:33:44 -0500</pubDate>
      <guid>https://www.danieltperry.me/post/instructor-as-search-engine/overview/</guid>
      <description>A brief implementation overview of the entire project and how it was put together, including definitions and background information needed to understand how it works.</description>
    </item>
    <item>
      <title>Part 1: Obtaining Data</title>
      <link>https://www.danieltperry.me/post/instructor-as-search-engine/part1-obtaining-data/</link>
      <pubDate>Mon, 20 Nov 2023 10:33:43 -0500</pubDate>
      <guid>https://www.danieltperry.me/post/instructor-as-search-engine/part1-obtaining-data/</guid>
      <description>Covering how to query the Steam API to get game data, and how to store it in a database from Python. It also covers some issues that arose along the way.</description>
    </item>
    <item>
      <title>Part 2: Creating the Embeddings</title>
      <link>https://www.danieltperry.me/post/instructor-as-search-engine/part2-creating-embeddings/</link>
      <pubDate>Mon, 20 Nov 2023 10:33:42 -0500</pubDate>
      <guid>https://www.danieltperry.me/post/instructor-as-search-engine/part2-creating-embeddings/</guid>
      <description>This post covers how I used Instructor to create embeddings for my database. Details involved include how I implemented chunking, and how I stored embeddings in sqlite3.</description>
    </item>
    <item>
      <title>Part 3: Querying the Embeddings</title>
      <link>https://www.danieltperry.me/post/instructor-as-search-engine/part3-querying-embeddings/</link>
      <pubDate>Mon, 20 Nov 2023 10:33:41 -0500</pubDate>
      <guid>https://www.danieltperry.me/post/instructor-as-search-engine/part3-querying-embeddings/</guid>
      <description>Covering the math behind embedding comparisons, how to create an index for the embeddings, and providing some examples of the results from my testing database.</description>
    </item>
    <item>
      <title>Part 4: Create an API</title>
      <link>https://www.danieltperry.me/post/instructor-as-search-engine/part4-create-api/</link>
      <pubDate>Mon, 20 Nov 2023 10:33:40 -0500</pubDate>
      <guid>https://www.danieltperry.me/post/instructor-as-search-engine/part4-create-api/</guid>
      <description>The first step in sharing the project with others. In this post, we&amp;rsquo;ll create a simple API that can be used to query the embeddings we&amp;rsquo;ve created.</description>
    </item>
    <item>
      <title>Part 5: Create a Webapp</title>
      <link>https://www.danieltperry.me/post/instructor-as-search-engine/part5-create-webapp/</link>
      <pubDate>Mon, 20 Nov 2023 10:33:39 -0500</pubDate>
      <guid>https://www.danieltperry.me/post/instructor-as-search-engine/part5-create-webapp/</guid>
      <description>How to write a React app when you don&amp;rsquo;t know React, using Copilot to write most of the code for you.</description>
    </item>
    <item>
      <title>My Experience Using Godot</title>
      <link>https://www.danieltperry.me/post/my-experience-using-godot/</link>
      <pubDate>Tue, 31 Oct 2023 17:00:13 -0400</pubDate>
      <guid>https://www.danieltperry.me/post/my-experience-using-godot/</guid>
      <description>&lt;img src=&#34;https://storage.danieltperry.me/share/website-content/project/2023-statue/title.png#center&#34; alt=&#34;Statue Concept Title Screen&#34;
  loading=&#34;lazy&#34; /&gt;

&lt;div style=&#34;text-align: center;font-size: medium;&#34;&gt;
&lt;p&gt;&lt;em&gt;The title screen for my game prototype, Statue Concept.&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Recently, I published my game, &lt;a href=&#34;https://www.danieltperry.me/project/2023-statue/&#34;

&gt;

&lt;em&gt;Statue Concept&lt;/em&gt;&lt;/a&gt;, on Itch.io and wanted to share my experience using the Godot game engine with C#. In this article, I will discuss some of the thoughts and issues I encountered while working with Godot, along with the workarounds I found. Hopefully, this will be helpful for others who are considering using Godot for their game development projects.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Statue (Game Concept)</title>
      <link>https://www.danieltperry.me/project/2023-statue/</link>
      <pubDate>Wed, 04 Oct 2023 16:06:20 -0400</pubDate>
      <guid>https://www.danieltperry.me/project/2023-statue/</guid>
      <description>&lt;!-- TODO: Update screenshots when the game is released --&gt;
&lt;p&gt;A horror video game concept made in the Godot engine. Try to navigate rooms and solve puzzles while being pursued by a statue that can only move when you aren&amp;rsquo;t looking at it.&lt;/p&gt;
&lt;figure&gt;
    &lt;a href=&#34;https://storage.danieltperry.me/share/website-content/project/2023-statue/title.png&#34; rel=&#34;noopener&#34;&gt;
  &lt;img src=&#34;https://storage.danieltperry.me/share/website-content/project/2023-statue/title.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;div style=&#34;text-align: center;font-size: medium;&#34;&gt;
&lt;p&gt;&lt;strong&gt;Title Screen&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;


&lt;hr /&gt;

&lt;div style=&#34;text-align:center;&#34;&gt;&lt;em&gt;To send me a comment about this project, send an e-mail to: &lt;a href=&#34;mailto:statue@danieltperry.me?subject=Comment on Statue%20%28Game%20Concept%29&#34;&gt;statue@danieltperry.me&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;


&lt;hr /&gt;

&lt;h1 id=&#34;info&#34;&gt;Info&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Status&lt;/strong&gt;: Released (with continued development)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Screenshots&lt;/strong&gt;: On &lt;a href=&#34;https://netruk44.itch.io/statue-concept&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

Itch.io&lt;/a&gt; or available &lt;a href=&#34;#screenshots&#34;

&gt;

below&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href=&#34;https://netruk44.itch.io/statue-concept&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

Itch.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--* **Source**: ~~GitHub~~ *(Pending)*[Github](https://github.com/Netruk44/statue-concept)--&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Technologies &amp;amp; Languages&lt;/strong&gt;: Godot, C#&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;related-posts-and-projects&#34;&gt;Related Posts and Projects&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Blog Post&lt;/strong&gt;: &lt;a href=&#34;https://www.danieltperry.me/post/godot-weeping-angel-effect&#34;

&gt;

Tutorial: Weeping Angel Effect in Godot Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blog Post&lt;/strong&gt;: &lt;a href=&#34;https://www.danieltperry.me/post/godot-navigation&#34;

&gt;

Tutorial: 3D Navigation in Godot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blog Post&lt;/strong&gt;: &lt;a href=&#34;https://www.danieltperry.me/post/my-experience-using-godot&#34;

&gt;

My Experience Using Godot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;
&lt;p&gt;From the &lt;em&gt;Weeping Angel Effect in Godot Engine&lt;/em&gt; blog post:&lt;/p&gt;</description>
    </item>
    <item>
      <title>3D Navigation in Godot</title>
      <link>https://www.danieltperry.me/post/godot-navigation/</link>
      <pubDate>Thu, 03 Aug 2023 14:57:48 -0400</pubDate>
      <guid>https://www.danieltperry.me/post/godot-navigation/</guid>
      <description>&lt;img src=&#34;https://storage.danieltperry.me/share/website-content/post/godot-navigation/finished.png&#34; alt=&#34;A screenshot of the completed tutorial&#34;
  loading=&#34;lazy&#34; /&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Godot Version&lt;/strong&gt;: 4.1.1 .NET&lt;br&gt;
&lt;strong&gt;Difficulty&lt;/strong&gt;: Intermediate&lt;br&gt;
&lt;strong&gt;GitHub Repository&lt;/strong&gt;: Completed tutorial &lt;a href=&#34;https://github.com/Netruk44/godot-tutorials/tree/navigation&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Related Project&lt;/strong&gt;: &lt;a href=&#34;https://www.danieltperry.me/project/2023-statue&#34;

&gt;

Statue (Concept)&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Previous Godot Tutorial&lt;/strong&gt;: &lt;a href=&#34;https://www.danieltperry.me/post/godot-weeping-angel-effect&#34;

&gt;

Weeping Angel Effect in Godot Engine&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;aside class=&#34;toc&#34;&gt;
  &lt;h3&gt;Table of Contents&lt;/h2&gt;
  &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#introduction&#34;&gt;Introduction&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#creating-the-navmesh&#34;&gt;Creating the NavMesh&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#creating-the-scene&#34;&gt;Creating the Scene&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#creating-the-navigationregion&#34;&gt;Creating the NavigationRegion&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#adding-agents&#34;&gt;Adding Agents&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#setting-up-the-target&#34;&gt;Setting up the target&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#preparing-the-agent&#34;&gt;Preparing the Agent&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#code-for-pathfinding-to-the-player&#34;&gt;Code for pathfinding to the player&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#avoidance&#34;&gt;Avoidance&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#avoiding-other-agents&#34;&gt;Avoiding other agents&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#avoiding-obstacles&#34;&gt;Avoiding obstacles&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#debugging&#34;&gt;Debugging&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;
&lt;/aside&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Godot has some pretty good built-in tools for pathfinding and navigation, but when getting set up I found that the Godot docs don&amp;rsquo;t have a complete end-to-end example of getting everything setup. There&amp;rsquo;s lots of separate tutorials that cover different parts of the process, and if you can follow them all you can get it working, but I wanted to put together a single tutorial that covers everything from start to finish.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Repo Search</title>
      <link>https://www.danieltperry.me/project/2023-repo-search/</link>
      <pubDate>Sat, 08 Jul 2023 14:58:13 -0400</pubDate>
      <guid>https://www.danieltperry.me/project/2023-repo-search/</guid>
      <description>&lt;p&gt;Repo Search is a tool for searching for code by what it does using natural language queries, based on OpenAI&amp;rsquo;s embeddings. Use it to help figure out what file you need to be working on!&lt;/p&gt;
&lt;p&gt;It happens to me pretty often when working with medium to large repositories that I have no clue what file I need to be looking at to make a particular change I&amp;rsquo;m trying to create. Repo Search is a tool I made to help me figure that out quicker.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Weeping Angel Effect in Godot Engine</title>
      <link>https://www.danieltperry.me/post/godot-weeping-angel-effect/</link>
      <pubDate>Mon, 12 Jun 2023 16:12:46 -0400</pubDate>
      <guid>https://www.danieltperry.me/post/godot-weeping-angel-effect/</guid>
      <description>&lt;div class=&#34;container&#34;&gt;
  &lt;div id=&#34;player-wrapper-header&#34; class=&#34;player&#34;&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;script type=&#34;text/javascript&#34; src=&#34;https://www.danieltperry.me/extern/clappr/clappr.min.js&#34;&gt;&lt;/script&gt;
&lt;script&gt;
  (function() {
    var playerElement = document.getElementById(&#34;player-wrapper-header&#34;);
    if (!playerElement) {
      return;
    }
    var options = {
      source: &#34;https:\/\/storage.danieltperry.me\/share\/website-content\/post\/godot-weeping-angel-effect\/header.mp4&#34;,
      mute: true,
      height: 360,
      width: 640,
      autoPlay: true,
      loop: true
    };
    var player = new Clappr.Player(options);
    player.attachTo(playerElement);
  })();
&lt;/script&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Godot Version&lt;/strong&gt;: 4.0.3 .NET&lt;br&gt;
&lt;strong&gt;Difficulty&lt;/strong&gt;: Easy - Intermediate&lt;br&gt;
&lt;strong&gt;GitHub Repository&lt;/strong&gt;: Completed tutorial &lt;a href=&#34;https://github.com/Netruk44/godot-tutorials/tree/weeping-angel&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Related Project&lt;/strong&gt;: &lt;a href=&#34;https://www.danieltperry.me/project/2023-statue&#34;

&gt;

Statue (Concept)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;aside class=&#34;toc&#34;&gt;
  &lt;h3&gt;Table of Contents&lt;/h2&gt;
  &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#introduction&#34;&gt;Introduction&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#tangent-about-stonewick-manor&#34;&gt;Tangent about Stonewick Manor&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#the-godot-way&#34;&gt;The Godot Way&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#step-1---create-the-object-that-moves-offscreen&#34;&gt;Step 1 - Create the object that moves offscreen&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#step-2---create-the-script&#34;&gt;Step 2 - Create the script&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#step-3---make-it-playable&#34;&gt;Step 3 - Make it playable&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#step-4---occlusion-culling&#34;&gt;Step 4 - Occlusion Culling&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;
&lt;/aside&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve recently been working on implementing some game concepts in the &lt;a href=&#34;https://godotengine.org/&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

Godot game engine&lt;/a&gt;. One of the things I normally do when messing around with a game engine is try to recreate one aspect of a game I helped make in college, &lt;a href=&#34;https://old.danieltperry.me/stonewick.html&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

Stonewick Manor&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Something Else - A mod for OpenMW</title>
      <link>https://www.danieltperry.me/project/2023-something-else/</link>
      <pubDate>Thu, 30 Mar 2023 16:46:29 -0400</pubDate>
      <guid>https://www.danieltperry.me/project/2023-something-else/</guid>
      <description>&lt;p&gt;Something Else is a source-level mod that adds machine-generated text to &lt;a href=&#34;https://openmw.org/en/&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

OpenMW&lt;/a&gt;, an open-source reimplementation of the game engine from &lt;a href=&#34;https://elderscrolls.bethesda.net/en/morrowind&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

The Elder Scrolls III: Morrowind&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The name comes from a new button added to the dialogue window that allows you to enter a custom line of dialogue to speak to an NPC.&lt;/p&gt;
&lt;img src=&#34;https://storage.danieltperry.me/share/website-content/project/2023-something-else/logo.png#center&#34; alt=&#34;&#34;
  loading=&#34;lazy&#34; /&gt;

&lt;div style=&#34;text-align: center;font-size: medium;&#34;&gt;
&lt;p&gt;The button&lt;/p&gt;
&lt;/div&gt;


&lt;hr /&gt;

&lt;div style=&#34;text-align:center;&#34;&gt;&lt;em&gt;To send me a comment about this project, send an e-mail to: &lt;a href=&#34;mailto:somethingelse@danieltperry.me?subject=Comment on Something%20Else%20-%20A%20mod%20for%20OpenMW&#34;&gt;somethingelse@danieltperry.me&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;


&lt;hr /&gt;

&lt;h1 id=&#34;info&#34;&gt;Info&lt;/h1&gt;
&lt;figure&gt;
    &lt;a href=&#34;https://storage.danieltperry.me/share/website-content/project/2023-something-else/04_03_dialogue_history_3.png&#34; rel=&#34;noopener&#34;&gt;
  &lt;img src=&#34;https://storage.danieltperry.me/share/website-content/project/2023-something-else/04_03_dialogue_history_3.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;
&lt;/figure&gt;

&lt;div style=&#34;text-align: center;font-size: medium;&#34;&gt;
&lt;p&gt;Screenshot of generated dialogue&lt;br&gt;
&lt;em&gt;(using OpenAI&amp;rsquo;s GPT Chat Completion API)&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Making and Testing My First nixpkgs Change</title>
      <link>https://www.danieltperry.me/post/making-and-testing-my-first-nixpkgs-change/</link>
      <pubDate>Mon, 13 Mar 2023 14:59:00 -0400</pubDate>
      <guid>https://www.danieltperry.me/post/making-and-testing-my-first-nixpkgs-change/</guid>
      <description>&lt;p&gt;I have &lt;a href=&#34;../my-first-nix-derivation-openstreetmap-overpass/&#34;

&gt;

a little&lt;/a&gt; experience with Nix, but not a whole lot. Recently a post popped up on Hacker News about &lt;em&gt;&lt;a href=&#34;https://zero-to-nix.com/&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

Zero to Nix&lt;/a&gt;&lt;/em&gt;, which I decided to run through on my MacBook.&lt;/p&gt;
&lt;p&gt;After &lt;a href=&#34;https://github.com/DeterminateSystems/nix-installer/issues/254#event-8735447050&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

fixing&lt;/a&gt; a minor Mac-specific bug (specific to the &lt;em&gt;Zero to Nix&lt;/em&gt; installer), I had a Nix installation ready to go! All I needed was something to do with it.&lt;/p&gt;
&lt;p&gt;I eventually managed to &lt;a href=&#34;https://github.com/NixOS/nixpkgs/pull/220750&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

make a PR&lt;/a&gt; to &lt;a href=&#34;https://github.com/NixOS/nixpkgs&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

nixpkgs&lt;/a&gt; (basically Nix&amp;rsquo;s package manager) for something I personally would find useful, so I thought I would stop and write about something small I struggled with along the way, being new to Nix.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Borg Explorer</title>
      <link>https://www.danieltperry.me/project/2022-borg-explorer/</link>
      <pubDate>Fri, 30 Dec 2022 15:07:55 -0500</pubDate>
      <guid>https://www.danieltperry.me/project/2022-borg-explorer/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Borg Explorer&lt;/strong&gt; is a cross-platform application for Linux and Mac that allows you to browse through your &lt;a href=&#34;https://borgbackup.readthedocs.io/en/stable/&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

Borg&lt;/a&gt; repositories without needing to mount them. It is intended to be a simple alternative to the &lt;code&gt;borg mount&lt;/code&gt; subcommand for cases where FUSE mounts are not available.&lt;/p&gt;


&lt;hr /&gt;

&lt;div style=&#34;text-align:center;&#34;&gt;&lt;em&gt;To send me a comment about this project, send an e-mail to: &lt;a href=&#34;mailto:borg-explorer@danieltperry.me?subject=Comment on Borg%20Explorer&#34;&gt;borg-explorer@danieltperry.me&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;


&lt;hr /&gt;

&lt;h1 id=&#34;info&#34;&gt;Info&lt;/h1&gt;
&lt;img src=&#34;https://storage.danieltperry.me/share/website-content/project/2022-borg-explorer/icon.png#center&#34; alt=&#34;&#34;
  loading=&#34;lazy&#34; /&gt;

&lt;div style=&#34;text-align: center;font-size: medium;&#34;&gt;
&lt;p&gt;&lt;strong&gt;Icon&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;img src=&#34;https://storage.danieltperry.me/share/website-content/project/2022-borg-explorer/ss1.png#center&#34; alt=&#34;&#34;
  loading=&#34;lazy&#34; /&gt;

&lt;div style=&#34;text-align: center;font-size: medium;&#34;&gt;
&lt;p&gt;&lt;strong&gt;Screenshot&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Status&lt;/strong&gt;: Semi-Active Development (Updates when and if I need them 😊)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source/Download&lt;/strong&gt;: &lt;a href=&#34;https://github.com/Netruk44/borg-repository-explorer&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

https://github.com/Netruk44/borg-repository-explorer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Technologies &amp;amp; Languages&lt;/strong&gt;: Electron, HTML, Javascript, CSS&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;why&#34;&gt;Why&lt;/h1&gt;
&lt;p&gt;I began using Borg this year (2022) to manage my machine archives. Currently, my &amp;lsquo;main&amp;rsquo; machine is my M1 MacBook Pro. MacOS doesn&amp;rsquo;t natively support FUSE mounts, which is how one usually browses Borg archives after creation (through use of &lt;code&gt;borg mount&lt;/code&gt;). Therefore, I was in need of a GUI for Borg that didn&amp;rsquo;t rely on the &lt;code&gt;mount&lt;/code&gt; subcommand.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My First Nix Derivation: OpenStreetMap Overpass Server</title>
      <link>https://www.danieltperry.me/post/my-first-nix-derivation-openstreetmap-overpass/</link>
      <pubDate>Sun, 23 Oct 2022 11:08:52 -0400</pubDate>
      <guid>https://www.danieltperry.me/post/my-first-nix-derivation-openstreetmap-overpass/</guid>
      <description>&lt;p&gt;I stumbled upon &lt;a href=&#34;https://nixos.org/&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

Nix&lt;/a&gt; recently and I thought it was a very interesting project. If you&amp;rsquo;ve managed to find this post, then I imagine you already have an idea of what Nix is. But if not, they&amp;rsquo;ve provided a &lt;a href=&#34;https://nixos.org/explore.html&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

handy page&lt;/a&gt; describing exactly what makes it so convenient for developers.&lt;/p&gt;
&lt;p&gt;One of the things you find out very quickly when you start learning Nix is that a lot of information teaching Nix is in the form of blog posts from random people sharing what they&amp;rsquo;re doing to learn Nix. All of the blog posts seem to be called &amp;ldquo;Learning Nix&amp;rdquo; or &amp;ldquo;Teaching Myself Nix&amp;rdquo;, and so on. I figured I might as well add to the noise here with my own story on learning Nix 😊.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Walking App (Application Concept)</title>
      <link>https://www.danieltperry.me/project/2022-walking-app/</link>
      <pubDate>Mon, 03 Oct 2022 21:40:06 -0400</pubDate>
      <guid>https://www.danieltperry.me/project/2022-walking-app/</guid>
      <description>&lt;!-- Preview for the article visible on the &#39;projects&#39; page --&gt;
&lt;p&gt;A Godot-based application for tracking where you&amp;rsquo;ve been in the world, making use of OpenStreetMap data. This is a prototype for a larger idea that may be pursued in the future.&lt;/p&gt;
&lt;h1 id=&#34;concept&#34;&gt;Concept&lt;/h1&gt;
&lt;p&gt;An application intended to help you thoroughly explore an area of the world. Pick an area of the world map with roads or paths that you&amp;rsquo;d like to explore every part of. Then, import GPX files tracking previous excursions through that area, and try to &amp;lsquo;fill out&amp;rsquo; the entire map by visiting every point.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Old Website</title>
      <link>https://www.danieltperry.me/project/2012-old-website/</link>
      <pubDate>Sat, 30 Jun 2012 00:00:00 +0000</pubDate>
      <guid>https://www.danieltperry.me/project/2012-old-website/</guid>
      <description>&lt;p&gt;The old personal website.&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t look at it, it&amp;rsquo;s horrible.&lt;/p&gt;
&lt;p&gt;Link: &lt;a href=&#34;https://old.danieltperry.me&#34;

 
	target=&#34;_blank&#34; rel=&#34;noopener&#34;
&gt;

https://old.danieltperry.me&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://www.danieltperry.me/project/2024-physics-playground/privacy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://www.danieltperry.me/project/2024-physics-playground/privacy/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;../#info&#34;

&gt;

&amp;lt; Back to App Information&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;privacy-policy&#34;&gt;Privacy Policy&lt;/h1&gt;
&lt;p&gt;This privacy policy applies to the Spatial Physics Playground app (hereby referred to as &amp;ldquo;Application&amp;rdquo;) for Apple Vision devices that was created by Daniel Perry (hereby referred to as &amp;ldquo;Service Provider&amp;rdquo;) as a Free service. This service is intended for use &amp;ldquo;AS IS&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Information Collection and Use&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Application collects information when you download and use it. This information may include information such as&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://www.danieltperry.me/project/2025-ev-charge-calculator/privacy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://www.danieltperry.me/project/2025-ev-charge-calculator/privacy/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;../#info&#34;

&gt;

&amp;lt; Back to App Information&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;privacy-policy&#34;&gt;Privacy Policy&lt;/h1&gt;
&lt;p&gt;This privacy policy applies to the EV Charge Calculator app (hereby referred to as &amp;ldquo;Application&amp;rdquo;) for iOS devices that was created by Daniel Perry (hereby referred to as &amp;ldquo;Service Provider&amp;rdquo;) as a Free service. This service is intended for use &amp;ldquo;AS IS&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Information Collection and Use&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Application does not collect any information.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Third Party Access&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No personal information is shared with third parties.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://www.danieltperry.me/project/2025-kubashi/privacy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://www.danieltperry.me/project/2025-kubashi/privacy/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;../#info&#34;

&gt;

&amp;lt; Back to App Information&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;privacy-policy&#34;&gt;Privacy Policy&lt;/h1&gt;
&lt;p&gt;This privacy policy applies to the Kubashi app (hereby referred to as &amp;ldquo;Application&amp;rdquo;) for Apple Vision devices that was created by Daniel Perry (hereby referred to as &amp;ldquo;Service Provider&amp;rdquo;) as a Free service. This service is intended for use &amp;ldquo;AS IS&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Information Collection and Use&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Application does not collect any information.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Third Party Access&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No personal information is shared with third parties.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
