<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Steve Harms Blog</title>
    <link>https://www.sharms.org/</link>
    <description>Recent content on Steve Harms Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 22 Sep 2025 10:07:00 -0600</lastBuildDate>
    <atom:link href="https://www.sharms.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>SpreadCheer: Free Christmas List Maker - No Sign Up Required</title>
      <link>https://www.sharms.org/posts/spreadcheer-christmas-list-maker/</link>
      <pubDate>Mon, 22 Sep 2025 10:07:00 -0600</pubDate>
      <guid>https://www.sharms.org/posts/spreadcheer-christmas-list-maker/</guid>
      <description>&lt;h1 id=&#34;spreadcheer---the-best-christmas-list&#34;&gt;SpreadCheer - The Best Christmas List&lt;/h1&gt;&#xA;&lt;p&gt;I created a new app for Christmas Lists called &lt;a href=&#34;https://www.spreadcheer.net&#34;&gt;SpreadCheer&lt;/a&gt;.  It allows users to make Christmas lists without logging in, and you can print them or share them.  It automatically looks up Amazon images so the printed lists look nice and are easy to scan, and there are no ads or anything which clutter it up.  Give it a look and let me know if you have feedback (elves AT THE DOMAIN OF spreadcheer.net).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating a Java Minecraft Server using Docker</title>
      <link>https://www.sharms.org/posts/minecraft-docker/</link>
      <pubDate>Sun, 15 Jan 2023 10:22:34 -0700</pubDate>
      <guid>https://www.sharms.org/posts/minecraft-docker/</guid>
      <description>&lt;h1 id=&#34;how-to-setup-minecraft-on-docker&#34;&gt;How to Setup Minecraft on Docker&lt;/h1&gt;&#xA;&lt;p&gt;Minecraft is one of the most popular games of all time and this means one thing: Kids want their own server.  Lucky for us most of the hard work in running and maintaining the server has already been done using &lt;a href=&#34;https://github.com/itzg/docker-minecraft-server&#34;&gt;itzg/docker-minecraft-server&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The setup is well documented however the &lt;em&gt;most&lt;/em&gt; important step is making sure the data is saved.  By default Docker will store the files in the container, but you may upgrade, delete, migrate, or modify the container and potentially lose the saved world data, which is very important to the players who worked no doubt countless hours to build.  Passing the &lt;code&gt;-v FOLDER_NAME:/data&lt;/code&gt; will use the folder outside of the container to store this data so it is readily available for copying and backups.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software Raid on Ubuntu 20.04</title>
      <link>https://www.sharms.org/posts/software-raid/</link>
      <pubDate>Wed, 17 Mar 2021 14:07:22 -0600</pubDate>
      <guid>https://www.sharms.org/posts/software-raid/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;If you have data that requires more power than the typical laptop, creating a&#xA;software RAID can be an easy and inexpensive solution.  With the rise of data&#xA;science and machine learning, processing large sets of data using Pandas,&#xA;NumPy, Spark or even SQLite can drastically benefit from fast and resilient&#xA;storage.&lt;/p&gt;&#xA;&lt;p&gt;RAID (Redundant Array of Inexpensive Disks) is useful for achieving high&#xA;performance and recovery if a disk fails.  There are many types of&#xA;configurations including hardware, pretend hardware (raid actually done in&#xA;software), and software.  &lt;strong&gt;RAID10&lt;/strong&gt; (mirrored and striped) provides high&#xA;performance and redundancy against a single disk failure.  RAID10 writes a copy&#xA;of the data to two disks, and then in the 4-disk setup described below, creates&#xA;a volume that spans a second set of two disks.  This allows for reading and&#xA;writing using all four disks, and potentially allows for up to two disk&#xA;failures without losing data (if we are lucky).  In the worst-case RAID10 can&#xA;always suffer a single disk failure without losing any data.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PyCharm with WSL2 and Ubuntu 20.04</title>
      <link>https://www.sharms.org/posts/pycharm-wsl2/</link>
      <pubDate>Sat, 06 Mar 2021 11:20:45 -0700</pubDate>
      <guid>https://www.sharms.org/posts/pycharm-wsl2/</guid>
      <description>&lt;h1 id=&#34;why-pycharm-with-wsl2&#34;&gt;Why PyCharm with WSL2?&lt;/h1&gt;&#xA;&lt;p&gt;PyCharm is a professional grade Python IDE that includes a broad range of capabilities such as auto-completion,&#xA;debugging and integrated database tooling.  Many developers recommend the JetBrains suite for a variety of reasons,&#xA;however when working with multiple companies and teams they may not have a choice underlying operating system.&lt;/p&gt;&#xA;&lt;p&gt;Using PyCharm with built-in remote capabilities allows for the same workflow (PyCharm IDE, Linux backend) across&#xA;platforms including Windows / WSL2, MacOS / Docker, or any desktop and a remote Linux virtual machine&#xA;in the cloud.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://www.sharms.org/about/</link>
      <pubDate>Tue, 05 May 2020 00:00:00 +0000</pubDate>
      <guid>https://www.sharms.org/about/</guid>
      <description>&lt;h1 id=&#34;open-source-engineering&#34;&gt;Open Source Engineering&lt;/h1&gt;&#xA;&lt;p&gt;I create helpful tutorials and content that makes technology easier.  Decades of experience engineering complex systems focused on AI, Linux, Python, Go, Clojure.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/sharms&#34;&gt;https://github.com/sharms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://twitter.com/stevenharms&#34;&gt;https://twitter.com/stevenharms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/@LinuxBTW&#34;&gt;https://www.youtube.com/@LinuxBTW&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
