<?xml version="1.0" encoding="UTF-8"?>
<!-- This sitemap was dynamically generated on April 3, 2026 at 2:48 pm by All in One SEO Pro v4.9.5.2 - the original SEO plugin for WordPress. -->

<?xml-stylesheet type="text/xsl" href="https://harlepengren.com/default-sitemap.xsl"?>

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Harlepengren</title>
		<link><![CDATA[https://harlepengren.com]]></link>
		<description><![CDATA[Harlepengren]]></description>
		<lastBuildDate><![CDATA[Sun, 29 Mar 2026 10:58:25 +0000]]></lastBuildDate>
		<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
		<atom:link href="https://harlepengren.com/sitemap.rss" rel="self" type="application/rss+xml" />
		<ttl><![CDATA[60]]></ttl>

		<item>
			<guid><![CDATA[https://harlepengren.com/convert-glsl-to-osl-shaders-blender/]]></guid>
			<link><![CDATA[https://harlepengren.com/convert-glsl-to-osl-shaders-blender/]]></link>
			<title>How to Convert GLSL Shaders to OSL in Blender (With Working Examples)</title>
			<pubDate><![CDATA[Sun, 29 Mar 2026 10:58:25 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/unity-script-how-to-spawn-random-objects-with-custom-probabilities/]]></guid>
			<link><![CDATA[https://harlepengren.com/unity-script-how-to-spawn-random-objects-with-custom-probabilities/]]></link>
			<title>Unity Script: How to Spawn Random Objects with Custom Probabilities</title>
			<pubDate><![CDATA[Mon, 30 Mar 2026 10:05:00 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/how-to-convert-a-2d-image-into-3d-using-inkscape-and-blender/]]></guid>
			<link><![CDATA[https://harlepengren.com/how-to-convert-a-2d-image-into-3d-using-inkscape-and-blender/]]></link>
			<title>How to Convert a 2D Image into 3D using Inkscape and Blender</title>
			<pubDate><![CDATA[Mon, 30 Mar 2026 09:55:48 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/5-easy-steps-to-a-colorful-blender-smoke-simulation/]]></guid>
			<link><![CDATA[https://harlepengren.com/5-easy-steps-to-a-colorful-blender-smoke-simulation/]]></link>
			<title>5 Easy Steps to a Colorful Blender Smoke Simulation</title>
			<pubDate><![CDATA[Mon, 30 Mar 2026 01:44:27 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/blender-tutorial-how-to-use-a-displacement-map/]]></guid>
			<link><![CDATA[https://harlepengren.com/blender-tutorial-how-to-use-a-displacement-map/]]></link>
			<title>Blender Tutorial: How to Use a Displacement Map</title>
			<pubDate><![CDATA[Mon, 30 Mar 2026 01:37:21 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/discover-the-gooch-osl-shader/]]></guid>
			<link><![CDATA[https://harlepengren.com/discover-the-gooch-osl-shader/]]></link>
			<title>Discover the Gooch OSL Shader</title>
			<pubDate><![CDATA[Mon, 30 Mar 2026 01:17:02 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/blender-liquid-simulation-how-to-create-viscosity/]]></guid>
			<link><![CDATA[https://harlepengren.com/blender-liquid-simulation-how-to-create-viscosity/]]></link>
			<title>Blender Liquid Simulation: How to Create Viscosity</title>
			<pubDate><![CDATA[Sun, 29 Mar 2026 10:36:05 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/understanding-how-to-use-blender-python-properties/]]></guid>
			<link><![CDATA[https://harlepengren.com/understanding-how-to-use-blender-python-properties/]]></link>
			<title>Understanding How to Use Blender Python Properties</title>
			<pubDate><![CDATA[Wed, 25 Mar 2026 21:55:05 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/from-local-to-online-building-browser-compatible-godot-multiplayer-game/]]></guid>
			<link><![CDATA[https://harlepengren.com/from-local-to-online-building-browser-compatible-godot-multiplayer-game/]]></link>
			<title>From Local to Online: Building Browser-Compatible Godot Multiplayer Game</title>
			<pubDate><![CDATA[Tue, 24 Mar 2026 11:00:00 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/pedal-board-usb-power-9v-to-usb-for-a-raspberry-pico/]]></guid>
			<link><![CDATA[https://harlepengren.com/pedal-board-usb-power-9v-to-usb-for-a-raspberry-pico/]]></link>
			<title>Pedal Board USB Power: 9V to USB for a Raspberry Pico</title>
			<pubDate><![CDATA[Tue, 10 Mar 2026 11:00:00 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/posts/]]></guid>
			<link><![CDATA[https://harlepengren.com/posts/]]></link>
			<title>Posts</title>
			<pubDate><![CDATA[Sun, 08 Mar 2026 12:39:55 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/portfolio/]]></guid>
			<link><![CDATA[https://harlepengren.com/portfolio/]]></link>
			<title>Portfolio</title>
			<pubDate><![CDATA[Sun, 08 Mar 2026 12:34:01 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/how-to-create-a-blender-water-simulation/]]></guid>
			<link><![CDATA[https://harlepengren.com/how-to-create-a-blender-water-simulation/]]></link>
			<title>How to Create a Blender Water Simulation</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:34:12 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/learn-how-to-set-up-drivers-in-blender-using-python-api/]]></guid>
			<link><![CDATA[https://harlepengren.com/learn-how-to-set-up-drivers-in-blender-using-python-api/]]></link>
			<title>Learn How to Set Up Drivers in Blender Using Python API</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:30:25 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/why-i-started-writing-unit-tests-for-personal-projects-and-why-you-should-too/]]></guid>
			<link><![CDATA[https://harlepengren.com/why-i-started-writing-unit-tests-for-personal-projects-and-why-you-should-too/]]></link>
			<title>Why I Started Writing Unit Tests for Personal Projects (And Why You Should Too)</title>
			<pubDate><![CDATA[Sat, 07 Mar 2026 10:21:37 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/newsletter/]]></guid>
			<link><![CDATA[https://harlepengren.com/newsletter/]]></link>
			<title>Join the Newsletter</title>
			<pubDate><![CDATA[Mon, 23 Mar 2026 10:09:16 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/we-made-a-game-together-our-game-jam-learnings/]]></guid>
			<link><![CDATA[https://harlepengren.com/we-made-a-game-together-our-game-jam-learnings/]]></link>
			<title>We Made a Game Together: Our Game Jam Learnings</title>
			<pubDate><![CDATA[Mon, 23 Mar 2026 09:53:35 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/a-beginners-guide-to-using-reveal-js-for-presentations/]]></guid>
			<link><![CDATA[https://harlepengren.com/a-beginners-guide-to-using-reveal-js-for-presentations/]]></link>
			<title>A Beginner&#8217;s Guide to Using Reveal.js for Presentations</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:28:50 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/how-to-fix-problems-with-blender-rigid-body-simulation/]]></guid>
			<link><![CDATA[https://harlepengren.com/how-to-fix-problems-with-blender-rigid-body-simulation/]]></link>
			<title>How to Fix Problems with Blender Rigid Body Simulation</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:27:14 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/how-to-import-lego-models-from-bricklink-studio-into-blender/]]></guid>
			<link><![CDATA[https://harlepengren.com/how-to-import-lego-models-from-bricklink-studio-into-blender/]]></link>
			<title>How to Import Lego Models from Bricklink Studio into Blender</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:24:06 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/how-to-configure-fullpageos-on-raspberry-pi/]]></guid>
			<link><![CDATA[https://harlepengren.com/how-to-configure-fullpageos-on-raspberry-pi/]]></link>
			<title>How to Configure FullPageOS on Raspberry Pi</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:22:56 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/blender-three-ways-to-cut-a-circle-in-a-mesh/]]></guid>
			<link><![CDATA[https://harlepengren.com/blender-three-ways-to-cut-a-circle-in-a-mesh/]]></link>
			<title>Blender: Three Ways to Cut a Circle in a Mesh</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:21:29 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/pyminmaximus-part-4-creating-an-opening-book/]]></guid>
			<link><![CDATA[https://harlepengren.com/pyminmaximus-part-4-creating-an-opening-book/]]></link>
			<title>PyMinMaximus Part 4: Creating an Opening Book</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:19:19 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/7g2xl9pw4nm1/]]></guid>
			<link><![CDATA[https://harlepengren.com/7g2xl9pw4nm1/]]></link>
			<title>Check Your Email</title>
			<pubDate><![CDATA[Wed, 25 Feb 2026 12:52:09 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/pyminmaximus-part-2-game-trees-and-minmax-algorithm-the-brain-of-the-engine/]]></guid>
			<link><![CDATA[https://harlepengren.com/pyminmaximus-part-2-game-trees-and-minmax-algorithm-the-brain-of-the-engine/]]></link>
			<title>PyMinMaximus Part 2: Game Trees and MinMax Algorithm &#8211; The Brain of the Engine</title>
			<pubDate><![CDATA[Thu, 26 Feb 2026 09:32:59 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/7gyxl9po4nm1u/]]></guid>
			<link><![CDATA[https://harlepengren.com/7gyxl9po4nm1u/]]></link>
			<title>You&#8217;re In! 🎉</title>
			<pubDate><![CDATA[Wed, 25 Feb 2026 12:54:37 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/pyminmaximus/]]></guid>
			<link><![CDATA[https://harlepengren.com/pyminmaximus/]]></link>
			<title>PyMinMaximus: Build a Chess Engine in Python from Scratch</title>
			<pubDate><![CDATA[Thu, 26 Feb 2026 09:24:04 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/building-pyminmaximus-a-chess-engine-from-scratch/]]></guid>
			<link><![CDATA[https://harlepengren.com/building-pyminmaximus-a-chess-engine-from-scratch/]]></link>
			<title>Building PyMinMaximus: A Chess Engine from Scratch</title>
			<pubDate><![CDATA[Sun, 18 Jan 2026 10:55:35 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/building-pyminmaximus-part-6-uci-protocol-and-tournament-testing/]]></guid>
			<link><![CDATA[https://harlepengren.com/building-pyminmaximus-part-6-uci-protocol-and-tournament-testing/]]></link>
			<title>Building PyMinMaximus Part 6: UCI Protocol and Tournament Testing</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:14:20 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/analyzing-the-game-show-deal-or-no-deal-strategies-to-win-big/]]></guid>
			<link><![CDATA[https://harlepengren.com/analyzing-the-game-show-deal-or-no-deal-strategies-to-win-big/]]></link>
			<title>Deal or No Deal Strategy: The Math Behind When to Take the Deal</title>
			<pubDate><![CDATA[Fri, 03 Apr 2026 11:14:23 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/pyminmaximus-part-3-position-evaluation-teaching-the-engine-chess-strategy/]]></guid>
			<link><![CDATA[https://harlepengren.com/pyminmaximus-part-3-position-evaluation-teaching-the-engine-chess-strategy/]]></link>
			<title>PyMinMaximus Part 3: Position Evaluation &#8211; Teaching the Engine Chess Strategy</title>
			<pubDate><![CDATA[Sat, 10 Jan 2026 11:40:19 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/blender-tutorial-how-to-use-open-shading-language/]]></guid>
			<link><![CDATA[https://harlepengren.com/blender-tutorial-how-to-use-open-shading-language/]]></link>
			<title>Blender Tutorial: How to Use Open Shading Language</title>
			<pubDate><![CDATA[Sat, 27 Dec 2025 11:11:37 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/hello-world/]]></guid>
			<link><![CDATA[https://harlepengren.com/hello-world/]]></link>
			<title>Hello World! Our Journey Begins</title>
			<pubDate><![CDATA[Tue, 23 Dec 2025 10:59:29 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/building-a-wi-fi-temperature-monitor-with-raspberry-pi-pico-w-from-breadboard-to-dashboard/]]></guid>
			<link><![CDATA[https://harlepengren.com/building-a-wi-fi-temperature-monitor-with-raspberry-pi-pico-w-from-breadboard-to-dashboard/]]></link>
			<title>Building a Wi-Fi Temperature Monitor with Raspberry Pi Pico W: From Breadboard to Dashboard</title>
			<pubDate><![CDATA[Tue, 25 Nov 2025 11:27:19 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/pepperoni-pursuit/]]></guid>
			<link><![CDATA[https://harlepengren.com/pepperoni-pursuit/]]></link>
			<title>Pepperoni Pursuit</title>
			<pubDate><![CDATA[Tue, 23 Jul 2024 09:43:00 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/pepperoni-panic-designing-the-delivery-mayhem-of-pixel-perfect-pizza/]]></guid>
			<link><![CDATA[https://harlepengren.com/pepperoni-panic-designing-the-delivery-mayhem-of-pixel-perfect-pizza/]]></link>
			<title>Pepperoni Panic: Designing the Delivery Mayhem of Pixel Perfect Pizza</title>
			<pubDate><![CDATA[Tue, 23 Jul 2024 09:41:24 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/modular-flask-apps-a-guide-to-application-dispatching/]]></guid>
			<link><![CDATA[https://harlepengren.com/modular-flask-apps-a-guide-to-application-dispatching/]]></link>
			<title>Modular Flask Apps: A Guide to Application Dispatching</title>
			<pubDate><![CDATA[Thu, 20 Nov 2025 12:22:03 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/creating-a-stock-market-simulation-to-model-retirement/]]></guid>
			<link><![CDATA[https://harlepengren.com/creating-a-stock-market-simulation-to-model-retirement/]]></link>
			<title>Creating a Stock Market Simulation to Model Retirement</title>
			<pubDate><![CDATA[Sat, 31 Aug 2024 13:35:51 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/fun-with-prime-numbers/]]></guid>
			<link><![CDATA[https://harlepengren.com/fun-with-prime-numbers/]]></link>
			<title>Fun with Prime Numbers</title>
			<pubDate><![CDATA[Sat, 21 Sep 2024 10:27:18 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/from-indecision-to-delicious-how-flask-solved-our-dinner-dilemmas/]]></guid>
			<link><![CDATA[https://harlepengren.com/from-indecision-to-delicious-how-flask-solved-our-dinner-dilemmas/]]></link>
			<title>From Indecision to Delicious: How Flask Solved Our Dinner Dilemmas</title>
			<pubDate><![CDATA[Sat, 08 Nov 2025 11:13:46 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/projects/]]></guid>
			<link><![CDATA[https://harlepengren.com/projects/]]></link>
			<title>Projects</title>
			<pubDate><![CDATA[Mon, 22 Jul 2024 10:41:41 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/using-blockly-to-easily-generate-python-code/]]></guid>
			<link><![CDATA[https://harlepengren.com/using-blockly-to-easily-generate-python-code/]]></link>
			<title>Using Blockly to Easily Generate Python Code</title>
			<pubDate><![CDATA[Tue, 09 Jul 2024 11:04:13 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/picogame/]]></guid>
			<link><![CDATA[https://harlepengren.com/picogame/]]></link>
			<title>PicoGame</title>
			<pubDate><![CDATA[Mon, 22 Jul 2024 10:29:50 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/learn-how-to-create-a-simple-camera-follow-script-in-unity/]]></guid>
			<link><![CDATA[https://harlepengren.com/learn-how-to-create-a-simple-camera-follow-script-in-unity/]]></link>
			<title>Learn How to Create a Simple Camera Follow Script in Unity</title>
			<pubDate><![CDATA[Mon, 22 Jul 2024 10:15:20 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/pepperoni-pursuit-delivering-a-ui-for-the-order/]]></guid>
			<link><![CDATA[https://harlepengren.com/pepperoni-pursuit-delivering-a-ui-for-the-order/]]></link>
			<title>Pepperoni Pursuit: Delivering a UI for the Order</title>
			<pubDate><![CDATA[Fri, 19 Jul 2024 10:00:00 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/perseverance-the-journey-to-implement-our-amazing-picogamesdk/]]></guid>
			<link><![CDATA[https://harlepengren.com/perseverance-the-journey-to-implement-our-amazing-picogamesdk/]]></link>
			<title>Perseverance: The Journey to Implement Our Amazing PicoGameSDK</title>
			<pubDate><![CDATA[Sat, 29 Jun 2024 09:34:57 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/pyminmaximus-part-5-creating-the-endgame-tablebase/]]></guid>
			<link><![CDATA[https://harlepengren.com/pyminmaximus-part-5-creating-the-endgame-tablebase/]]></link>
			<title>PyMinMaximus Part 5: Creating the Endgame Tablebase</title>
			<pubDate><![CDATA[Sat, 28 Feb 2026 10:16:21 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/a-journey-to-creating-a-micropython-user-modules/]]></guid>
			<link><![CDATA[https://harlepengren.com/a-journey-to-creating-a-micropython-user-modules/]]></link>
			<title>A Journey to Creating a Micropython User Modules</title>
			<pubDate><![CDATA[Sat, 01 Jun 2024 20:45:51 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/how-to-find-your-first-programming-language/]]></guid>
			<link><![CDATA[https://harlepengren.com/how-to-find-your-first-programming-language/]]></link>
			<title>How to Find Your First Programming Language</title>
			<pubDate><![CDATA[Sat, 11 May 2024 11:23:18 +0000]]></pubDate>
		</item>
					<item>
			<guid><![CDATA[https://harlepengren.com/]]></guid>
			<link><![CDATA[https://harlepengren.com/]]></link>
			<title>Code. Build. Play.</title>
			<pubDate><![CDATA[Mon, 23 Mar 2026 10:08:36 +0000]]></pubDate>
		</item>
				</channel>
</rss>
