<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>RyanCheley.com</title><link>https://ryancheley.com/</link><description>My Place on the Internet</description><lastBuildDate>Mon, 06 Apr 2026 00:00:00 -0700</lastBuildDate><item><title>A Giant Pain in the Ass</title><link>https://ryancheley.com/2026/04/06/a-giant-pain-in-the-ass/</link><description>&lt;p&gt;Content Warning: This is a highly personal post about a cancer diagnosis.&lt;/p&gt;
&lt;p&gt;On Feb 16, 2026 I was 'prepping' for a routine colonoscopy that was scheduled for February 17th at about 1pm. For those of you unaware what is involved in 'prepping' don't google it, but just know that your …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 06 Apr 2026 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2026-04-06:/2026/04/06/a-giant-pain-in-the-ass/</guid><category>musings</category><category>cancer</category></item><item><title>Migrating to Hetzner with Coolify</title><link>https://ryancheley.com/2026/01/12/migrating-to-hetzner-with-coolify/</link><description>&lt;h1&gt;What I did&lt;/h1&gt;
&lt;p&gt;A few weeks ago, I got to watch &lt;a href="https://mastodon.social/@webology"&gt;Jeff Triplett&lt;/a&gt; migrate &lt;a href="https://djangopackages.org/"&gt;DjangoPackages&lt;/a&gt; from &lt;a href="https://www.digitalocean.com/"&gt;DigitalOcean&lt;/a&gt; to &lt;a href="https://hetzner.cloud/?ref=gNVHuEvaKgAw"&gt;Hetzner&lt;/a&gt;&lt;sup id="sf-migrating-to-hetzner-with-coolify-1-back"&gt;&lt;a href="#sf-migrating-to-hetzner-with-coolify-1" class="simple-footnote" title="This is an affiliate link"&gt;1&lt;/a&gt;&lt;/sup&gt; using &lt;a href="https://coolify.io/"&gt;Coolify&lt;/a&gt;. The magical world of Coolify made everything look just so ... easy. Jeff mentioned that one of the driving forces for the decision to go to Hetzner was the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 12 Jan 2026 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2026-01-12:/2026/01/12/migrating-to-hetzner-with-coolify/</guid><category>technology</category><category>devops</category><category>coolify</category><category>hetzner</category><category>django</category><category>datasette</category></item><item><title>Year in Review 2025</title><link>https://ryancheley.com/2025/12/31/year-in-review-2025/</link><description>&lt;p&gt;I was hoping to have this written and posted last week, but for Christmas this year Santa brought me a cold which knocked me on my butt for a few days.&lt;/p&gt;
&lt;p&gt;I had done a bit of prep, but wow, when I look back at 2025 it was a pretty …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 31 Dec 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-12-31:/2025/12/31/year-in-review-2025/</guid><category>musings</category></item><item><title>Details on My Candidate Statement for the DSF</title><link>https://ryancheley.com/2025/11/04/dsf-candidate-statement/</link><description>&lt;p&gt;The &lt;a href="https://www.djangoproject.com/weblog/2025/oct/11/2026-dsf-board-nominations/"&gt;Django Software Foundation Board of Directors elections&lt;/a&gt; are scheduled for November 2025 and I’ve decided to throw my hat into the ring. My hope specifically, if elected, is to be selected as the Treasurer. I have 4 main objectives over my two year term.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Getting an Executive Director …&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Tue, 04 Nov 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-11-04:/2025/11/04/dsf-candidate-statement/</guid><category>technology</category><category>dsf</category></item><item><title>Deploying n8n on Digital Ocean</title><link>https://ryancheley.com/2025/10/11/deploying-n8n-on-digital-ocean/</link><description>&lt;p&gt;This guide shows you how to deploy &lt;a href="https://n8n.io/"&gt;n8n&lt;/a&gt;, a workflow automation tool, on your own VPS. Self-hosting gives you full control over your data, avoids monthly subscription costs, and lets you run unlimited workflows without usage limits.&lt;/p&gt;
&lt;p&gt;I'm using &lt;a href="https://m.do.co/c/cc5fdad15654"&gt;Digital Ocean&lt;/a&gt;&lt;sup id="sf-deploying-n8n-on-digital-ocean-1-back"&gt;&lt;a href="#sf-deploying-n8n-on-digital-ocean-1" class="simple-footnote" title="Referral Link"&gt;1&lt;/a&gt;&lt;/sup&gt; for this guide, but these steps work on …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 11 Oct 2025 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-10-11:/2025/10/11/deploying-n8n-on-digital-ocean/</guid><category>technology</category><category>how-to</category></item><item><title>Why We Need to Stop Fighting About AI Tools and Start Teaching Them</title><link>https://ryancheley.com/2025/07/25/why-we-need-to-stop-fighting-about-ai-tools-and-start-teaching-them/</link><description>&lt;p&gt;In mid-June, Hynek tooted on Mastodon the &lt;a href="https://mastodon.social/@hynek/114703485524249737"&gt;following toot&lt;/a&gt;:  &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Watching the frustratingly fruitless fights over the USEFULNESS of LLM-based coding helpers, I've come down to 3 points that explain why ppl seem to live in different realities:&lt;/p&gt;
&lt;p&gt;Most programmers:&lt;/p&gt;
&lt;p&gt;1) Write inconsequential remixes of trivial code that has been written …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 25 Jul 2025 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-07-25:/2025/07/25/why-we-need-to-stop-fighting-about-ai-tools-and-start-teaching-them/</guid><category>technology</category><category>ai</category><category>llm</category></item><item><title>Migrating to Raindrop.io</title><link>https://ryancheley.com/2025/06/19/migrating-to-raindrop-io/</link><description>&lt;p&gt;With the announced &lt;a href="https://support.mozilla.org/en-US/kb/future-of-pocket"&gt;demise of Pocket by Mozilla&lt;/a&gt; I needed to migrate all of my saved articles to 'something else' by the end of the month. I've actually tried to migrate from Pocket a few times over the years. I landed on &lt;a href="https://www.instapaper.com/"&gt;Instapaper&lt;/a&gt; for a while, but it never really …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 19 Jun 2025 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-06-19:/2025/06/19/migrating-to-raindrop-io/</guid><category>musings</category><category>reading</category></item><item><title>A New Project at Work</title><link>https://ryancheley.com/2025/06/15/a-new-project-at-work/</link><description>&lt;p&gt;I was added to a work email that was requesting a not-so-small new project that was going to need to be completed. The problem that needed to be solved was a bit squishy, but it had been well thought out, and it had an importance to it that was easy …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 15 Jun 2025 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-06-15:/2025/06/15/a-new-project-at-work/</guid><category>musings</category></item><item><title>Updated TIL</title><link>https://ryancheley.com/2025/06/05/updated-til/</link><description>&lt;p&gt;While browsing Mastodon the other day I came across a toot that linked to this &lt;a href="https://immich.app/cursed-knowledge/"&gt;Cursed Knowledge&lt;/a&gt; page. I thought it was a great page, but it occurred to me that it could be helpful to apply the same sort of styling to my TIL Repo.&lt;/p&gt;
&lt;p&gt;My &lt;a href="https://github.com/ryancheley/til"&gt;TIL&lt;/a&gt; (Today I …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 05 Jun 2025 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-06-05:/2025/06/05/updated-til/</guid><category>technology</category><category>til</category><category>claude</category></item><item><title>Fun with MCPs</title><link>https://ryancheley.com/2025/06/02/fun-with-mcps/</link><description>&lt;p&gt;Special Thanks to &lt;a href="https://mastodon.social/@webology"&gt;Jeff Triplett&lt;/a&gt; who provided an example that really got me started on better understanding of how this all works.&lt;/p&gt;
&lt;p&gt;In trying to wrap my head around MCPs over the long Memorial weekend I had a breakthrough. I'm not really sure why this was so hard for me …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 02 Jun 2025 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-06-02:/2025/06/02/fun-with-mcps/</guid><category>technology</category><category>mcp</category><category>ollama</category></item><item><title>Firebirds 2024-25 Season</title><link>https://ryancheley.com/2025/05/21/firebirds-2024-25-season/</link><description>&lt;p&gt;The 2024-25 season for the &lt;a href="https://cvfirebirds.com/"&gt;Coachella Valley Firebirds&lt;/a&gt; ended on &lt;a href="https://theahl.com/stats/game-summary/1027712"&gt;May 9th with a 2-0&lt;/a&gt; loss to the &lt;a href="https://abbotsford.canucks.com/"&gt;Abbotsford Canucks&lt;/a&gt;. Overall, that series saw the Firebirds score&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;one goal in &lt;a href="https://theahl.com/stats/game-summary/1027709"&gt;Game 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;one goal in &lt;a href="https://theahl.com/stats/game-summary/1027710"&gt;Game 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;five goals in &lt;a href="https://theahl.com/stats/game-summary/1027711"&gt;Game 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;no goals in &lt;a href="https://theahl.com/stats/game-summary/1027712"&gt;Game 4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This isn't surprising …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 21 May 2025 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-05-21:/2025/05/21/firebirds-2024-25-season/</guid><category>musings</category><category>hockey</category><category>firebirds</category></item><item><title>Uptime Kuma and Claude</title><link>https://ryancheley.com/2025/05/08/uptime-kuma-and-claude/</link><description>&lt;p&gt;While talking to a colleague of mine he had mentioned something called &lt;a href="https://uptime.kuma.pet/"&gt;Uptime Kuma&lt;/a&gt;, which is an open source alternative to Uptime Robot. This was interesting for me because I have Uptime Robot checking a couple of my websites and I thought, "Hey, maybe I can use Uptime Kuma as …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 08 May 2025 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-05-08:/2025/05/08/uptime-kuma-and-claude/</guid><category>technology</category><category>oss</category><category>monitoring</category></item><item><title>The Invisible Decision-Makers: Why Systems Ignore Their Users</title><link>https://ryancheley.com/2025/03/31/the-invisible-decision-makers-why-systems-ignore-their-users/</link><description>&lt;h2&gt;The Origin of Systems&lt;/h2&gt;
&lt;p&gt;When thinking about systems it's easy to think that they have always been there, or been that way. This isn't true of course. The systems that are in place were put there, by people. People that made decisions. Decisions are what  I want to focus on …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 31 Mar 2025 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-03-31:/2025/03/31/the-invisible-decision-makers-why-systems-ignore-their-users/</guid><category>musings</category><category>systems</category></item><item><title>Process, People, and Priorities</title><link>https://ryancheley.com/2025/03/09/Process-People-and-Priorities/</link><description>&lt;p&gt;In every organization, three critical elements determine success: People, Processes, and Priorities. While all are essential, their ranking matters profoundly. Based on my experience across several organizations, I've found that Processes must come first, followed by People, with Priorities anchored firmly at the foundation.&lt;/p&gt;
&lt;p&gt;This deliberate ordering—Processes at the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 09 Mar 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-03-09:/2025/03/09/Process-People-and-Priorities/</guid><category>management</category><category>process</category><category>people</category><category>priorities</category></item><item><title>Technical Solutions to People Problems</title><link>https://ryancheley.com/2025/02/06/technical-solutions-to-people-problems/</link><description>&lt;blockquote&gt;
&lt;p&gt;"If you think technology will solve your problems, you don't understand technology and you don't understand your problems"&lt;/p&gt;
&lt;p&gt;~ attrib. Laurie Anderson&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;From a &lt;a href="https://mas.to/@natureworks/113917094844091858"&gt;Toot&lt;/a&gt; by &lt;a href="https://mas.to/@natureworks"&gt;Jake Rayson&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In a previous post, I wrote about how to &lt;a href="https://www.ryancheley.com/2024/08/22/how-to-ask-why-without-sounding-like-a-jerk/"&gt;ask why without sounding like a jerk&lt;/a&gt;. This is a slightly related concept (at …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 06 Feb 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-02-06:/2025/02/06/technical-solutions-to-people-problems/</guid><category>musings</category><category>solutions</category></item><item><title>How to Watch a Hockey Game - Reading the Standings</title><link>https://ryancheley.com/2025/02/03/how-to-watch-a-hockey-game-reading-the-standings/</link><description>&lt;p&gt;This is the fourth part of my How to Watch a Hockey Game Series. You can catch up on previous articles &lt;a href="https://www.ryancheley.com/2025/01/27/how-to-watch-a-hockey-game-three-rules/"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Game Outcomes&lt;/h2&gt;
&lt;p&gt;In many North American sports when reading the standings there are typically just Wins (W), and Losses (L).&lt;sup id="sf-how-to-watch-a-hockey-game-reading-the-standings-1-back"&gt;&lt;a href="#sf-how-to-watch-a-hockey-game-reading-the-standings-1" class="simple-footnote" title="Football also has Ties (T) but they are exceedingly rare and are only ever displayed when the first Tie of the season occurs"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Hockey is a bit different. When you …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 03 Feb 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-02-03:/2025/02/03/how-to-watch-a-hockey-game-reading-the-standings/</guid><category>musings</category><category>hockey</category></item><item><title>How to Watch a Hockey Game - What to Watch</title><link>https://ryancheley.com/2025/01/31/how-to-watch-a-hockey-game-what-to-watch/</link><description>&lt;p&gt;In &lt;a href="https://www.ryancheley.com/2025/01/27/how-to-watch-a-hockey-game-three-rules/"&gt;a previous post of this series&lt;/a&gt; I laid out some basic rules of hockey. In this post I'll hopefully provide some tips on what to watch during your first few hockey games.&lt;/p&gt;
&lt;h2&gt;What should I 'watch' though?&lt;/h2&gt;
&lt;p&gt;This is a tough question and depends on if you're watching on …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 31 Jan 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-01-31:/2025/01/31/how-to-watch-a-hockey-game-what-to-watch/</guid><category>musings</category><category>hockey</category></item><item><title>How to Watch a Hockey Game - Game Play</title><link>https://ryancheley.com/2025/01/29/how-to-watch-a-hockey-game-game-play/</link><description>&lt;h2&gt;Game Structure&lt;/h2&gt;
&lt;p&gt;Hockey has some stuff in common with live theater. No ... really! 😁&lt;/p&gt;
&lt;p&gt;They both have dressing rooms and they both have intermission ... but that is probably where the similarities end.&lt;/p&gt;
&lt;p&gt;Each hockey game is split into three 20 minute periods. There is an intermission between each period that lasts …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 29 Jan 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-01-29:/2025/01/29/how-to-watch-a-hockey-game-game-play/</guid><category>musings</category><category>hockey</category></item><item><title>How to Watch a Hockey Game - Three Rules</title><link>https://ryancheley.com/2025/01/27/how-to-watch-a-hockey-game-three-rules/</link><description>&lt;p&gt;I've written a few times before about hockey. I love watching my local sports puck team&lt;sup id="sf-how-to-watch-a-hockey-game-three-rules-1-back"&gt;&lt;a href="#sf-how-to-watch-a-hockey-game-three-rules-1" class="simple-footnote" title="The Coachella Valley Firebirds"&gt;1&lt;/a&gt;&lt;/sup&gt; and really wish more people watched it. So, I'm going to write a beginners guide to watching hockey so that you too, dear reader, can become an avid fan.&lt;/p&gt;
&lt;p&gt;Hockey is a pretty …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 27 Jan 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-01-27:/2025/01/27/how-to-watch-a-hockey-game-three-rules/</guid><category>musings</category><category>hockey</category></item><item><title>Remember the Colosseum!</title><link>https://ryancheley.com/2025/01/21/remember-the-colosseum/</link><description>&lt;h2&gt;The Roman Colosseum&lt;/h2&gt;
&lt;p&gt;After the fall of the Western Roman Empire in 497 CE the Colosseum fell into disrepair. Rightfully so! Who can worry about keeping up a giant megalith made by people centuries ago while you're just trying to figure out where your next meal may come from, or …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Tue, 21 Jan 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-01-21:/2025/01/21/remember-the-colosseum/</guid><category>musings</category><category>documentation</category></item><item><title>Looking Back at the Half Marathon Streak</title><link>https://ryancheley.com/2025/01/17/looking-back-at-the-half-marathon-streak/</link><description>&lt;h1&gt;Looking Back at the Half Marathon Streak&lt;/h1&gt;
&lt;h2&gt;How It Started&lt;/h2&gt;
&lt;p&gt;In February 2012, a half marathon was being held in Palm Springs, and one of my walking friends asked if I wanted to do it... about 5 days before it was set to happen. I said I wasn't interested, and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 17 Jan 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-01-17:/2025/01/17/looking-back-at-the-half-marathon-streak/</guid><category>musings</category><category>running</category></item><item><title>Year in Review 2024</title><link>https://ryancheley.com/2025/01/02/year-in-review-2024/</link><description>&lt;p&gt;I did my first &lt;a href="https://www.ryancheley.com/2023/12/31/year-in-review-2023/"&gt;Year in Review&lt;/a&gt; last year and have decided to carry on the tradition to make sure I know what I did!&lt;/p&gt;
&lt;p&gt;I've written about themes before, so I won't go over it again here. Below is a high level of what my 2024 themes were&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.ryancheley.com/2024/03/19/winter-of-learning/"&gt;Winter …&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 02 Jan 2025 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2025-01-02:/2025/01/02/year-in-review-2024/</guid><category>musings</category></item><item><title>Weezer Live</title><link>https://ryancheley.com/2024/11/26/weezer-live/</link><description>&lt;p&gt;I started college in 1996. In 1997 one of the most influential albums of my early adulthood was introduced to me ... &lt;a href="https://en.wikipedia.org/wiki/Pinkerton_(album)"&gt;Weezer's Pinkerton&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I hated it.&lt;/p&gt;
&lt;p&gt;I wanted the &lt;a href="https://en.wikipedia.org/wiki/Weezer_(Blue_Album)"&gt;Blue Album&lt;/a&gt; again but different somehow, and Pinkerton was NOT it.&lt;/p&gt;
&lt;p&gt;However, a weird thing happened. Once I moved into my …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Tue, 26 Nov 2024 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-11-26:/2024/11/26/weezer-live/</guid><category>musings</category><category>music</category></item><item><title>uv and pip</title><link>https://ryancheley.com/2024/11/23/uv-and-pip/</link><description>&lt;p&gt;On Sunday November 3 I posted &lt;a href="https://mastodon.social/@ryancheley/113420509533590631"&gt;this&lt;/a&gt; to Mastodon:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I've somehow managed to get Python on my macbook to not install packages into the virtual environment I've activated and I'm honestly not sure how to fix this.&lt;/p&gt;
&lt;p&gt;Has anyone else ever run into this problem? If so, any pointers on …&lt;/p&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 23 Nov 2024 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-11-23:/2024/11/23/uv-and-pip/</guid><category>technology</category><category>pip</category><category>python</category><category>uv</category></item><item><title>Migrating django-tailwind-cli to Django Commons</title><link>https://ryancheley.com/2024/11/20/migrating-django-tailwind-cli-to-django-commons/</link><description>&lt;p&gt;On Tuesday October 29 I worked with &lt;a href="https://github.com/oliverandrich/"&gt;Oliver Andrich&lt;/a&gt;, &lt;a href="https://github.com/cunla/"&gt;Daniel Moran&lt;/a&gt; and &lt;a href="https://github.com/Stormheg"&gt;Storm Heg&lt;/a&gt; to migrate Oliver's project &lt;a href="https://github.com/django-commons/django-tailwind-cli"&gt;django-tailwind-cli&lt;/a&gt; from Oliver's GitHub project to Django Commons.&lt;/p&gt;
&lt;p&gt;This was the 5th library that has been migrated over, but the first one that I 'lead'. I was a bit nervous. The Django …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 20 Nov 2024 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-11-20:/2024/11/20/migrating-django-tailwind-cli-to-django-commons/</guid><category>technology</category><category>django</category><category>oss</category><category>django-commons</category></item><item><title>DjangoCon US 2024</title><link>https://ryancheley.com/2024/11/17/djangocon-us-2024/</link><description>&lt;h1&gt;DjangoCon US 2024&lt;/h1&gt;
&lt;p&gt;I was able to attend &lt;a href="https://2024.djangocon.us"&gt;DCUS 2024&lt;/a&gt; this year in Durham from September 22 - September 27, and just like in 2023, it was an amazing experience.&lt;/p&gt;
&lt;p&gt;I gave another &lt;a href="https://www.youtube.com/watch?v=JLYaAYY4JPc"&gt;talk&lt;/a&gt; (hooray!) and got to hang out with some truly amazing people, many of whom I call my …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 17 Nov 2024 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-11-17:/2024/11/17/djangocon-us-2024/</guid><category>musings</category><category>django</category><category>community</category></item><item><title>Django Commons</title><link>https://ryancheley.com/2024/10/23/django-commons/</link><description>&lt;p&gt;First, what are "the commons"? The concept of "the commons" refers to resources that are shared and managed collectively by a community, rather than being owned privately or by the state. This idea has been applied to natural resources like air, water, and grazing land, but it has also expanded …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 23 Oct 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-10-23:/2024/10/23/django-commons/</guid><category>technology</category><category>django</category><category>oss</category><category>django-commons</category></item><item><title>DjangoCon US 2024 Talk</title><link>https://ryancheley.com/2024/10/17/djangocon-us-2024-talk/</link><description>&lt;p&gt;At DjangoCon US 2023 I gave a talk, and wrote about my experience &lt;a href="https://www.ryancheley.com/2023/12/15/so-you-want-to-give-a-talk-at-a-conference/"&gt;preparing for that talk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Well, I spoke again at DjangoCon US this year (2024) and had a similar, but wildly different experience in preparing for my talk.&lt;/p&gt;
&lt;p&gt;Last year I lamented that I didn't really track my …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 17 Oct 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-10-17:/2024/10/17/djangocon-us-2024-talk/</guid><category>technology</category><category>dcus</category><category>conference-talks</category></item><item><title>Summer of Writing</title><link>https://ryancheley.com/2024/10/03/summer-of-writing/</link><description>&lt;p&gt;In keeping with my themes for 2024 this summer was to be 'The Summer of Writing'.&lt;/p&gt;
&lt;p&gt;This theme didn't have a specific post or word count, but I knew I wanted to write &lt;strong&gt;more&lt;/strong&gt;&lt;sup id="sf-summer-of-writing-1-back"&gt;&lt;a href="#sf-summer-of-writing-1" class="simple-footnote" title="How much more? I don't really know ... just more"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;I had a few things I needed to do to get this started. One of …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 03 Oct 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-10-03:/2024/10/03/summer-of-writing/</guid><category>musings</category><category>themes</category></item><item><title>Mentors</title><link>https://ryancheley.com/2024/09/16/mentors/</link><description>&lt;p&gt;Having just finished up my second round of Djangonaut.Space (which I wrote about &lt;a href="https://www.ryancheley.com/2024/08/29/reflections-on-djangonaut-space-session-2/"&gt;here&lt;/a&gt;) I wanted to write a bit about mentors ... how to find one, how to work with one, and how to be one.&lt;/p&gt;
&lt;h2&gt;Finding a Mentor&lt;/h2&gt;
&lt;p&gt;One of the best ways to find a mentor is …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 16 Sep 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-09-16:/2024/09/16/mentors/</guid><category>musings</category><category>advice</category></item><item><title>Reflections on Djangonaut Space Session 2</title><link>https://ryancheley.com/2024/08/29/reflections-on-djangonaut-space-session-2/</link><description>&lt;p&gt;A few weeks ago I completed my second session as a &lt;a href="https://djangonaut.space/"&gt;Djangonaut.Space&lt;/a&gt; &lt;a href="https://github.com/djangonaut-space/program/blob/main/navigators.md"&gt;Navigator&lt;/a&gt;. The Djangonaut.Space program is an opportunity for people to be introduced to contributing to Django and Django adjacent projects.&lt;/p&gt;
&lt;p&gt;In this most recent session I was a Navigator for Team Mars with a fantastic Captain …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 29 Aug 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-08-29:/2024/08/29/reflections-on-djangonaut-space-session-2/</guid><category>musings</category><category>djangonauts</category></item><item><title>How to ask why without sounding like a jerk</title><link>https://ryancheley.com/2024/08/22/how-to-ask-why-without-sounding-like-a-jerk/</link><description>&lt;p&gt;As technical folks working with non-technical folks sometimes the asks that come through are unclear. In order to get clarity on these we want to ask questions to get clarification on the ask, but it can be challenging to not sound like a jerk when we ask. This can happen …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 22 Aug 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-08-22:/2024/08/22/how-to-ask-why-without-sounding-like-a-jerk/</guid><category>musings</category><category>solutions</category></item><item><title>SSH Keys</title><link>https://ryancheley.com/2024/07/13/ssh-keys/</link><description>&lt;p&gt;If you want to access a server in a 'passwordless' way, the best approach I know is to use SSH Keys. This is great, but what does that mean and how do you set it up?&lt;/p&gt;
&lt;p&gt;I'm going to attempt to write out the steps for getting this done.&lt;/p&gt;
&lt;p&gt;Let's …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 13 Jul 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-07-13:/2024/07/13/ssh-keys/</guid><category>technology</category><category>tutorial</category><category>ssh keys</category></item><item><title>Spring of Transition</title><link>https://ryancheley.com/2024/06/20/spring-of-transition/</link><description>&lt;p&gt;I've written before about the &lt;a href="https://youtu.be/NVGuFdX5guE?si=-9zFaB0xjmxOEh26"&gt;Theme's that CGP Grey&lt;/a&gt; has discussed and I think they're great! I've just recently completed my 'Spring of Transition'.&lt;/p&gt;
&lt;p&gt;So what is the Spring of Transition? For me it meant focusing on that last bit of time that my daughter will be living with me …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 20 Jun 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-06-20:/2024/06/20/spring-of-transition/</guid><category>musings</category><category>themes</category></item><item><title>Using justpath to go on a pyrrhic adventure to clean up my PATH</title><link>https://ryancheley.com/2024/05/24/using-justpath-to-go-on-a-pyrrhic-adventure-to-clean-up-my-path/</link><description>&lt;p&gt;A while ago I heard about a project called &lt;a href="https://github.com/epogrebnyak/justpath"&gt;justpath&lt;/a&gt; from &lt;a href="https://mastodon.social/@webology"&gt;Jeff Tripplet&lt;/a&gt; on &lt;a href="https://mastodon.social/@webology/112403455881574563"&gt;Mastodon&lt;/a&gt;. It seemed like a neat project to try and clean up my path and I figured, what the heck, let me give it a try.&lt;/p&gt;
&lt;p&gt;I installed it and when I ran it for the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 24 May 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-05-24:/2024/05/24/using-justpath-to-go-on-a-pyrrhic-adventure-to-clean-up-my-path/</guid><category>technology</category><category>just</category><category>path</category></item><item><title>Trying out pyenv ... again</title><link>https://ryancheley.com/2024/03/29/trying-out-pyenv-again/</link><description>&lt;p&gt;I &lt;em&gt;think&lt;/em&gt; I first tried &lt;code&gt;pyenv&lt;/code&gt; probably sometime in late 2022. I saw some recent stuff about it on Mastadon and thought I'd give it another go.&lt;/p&gt;
&lt;p&gt;I read through the &lt;a href="https://github.com/pyenv/pyenv/#installation"&gt;installation instructions at the ReadMe&lt;/a&gt; at the repo and checked to see if it was already installed (spoiler alert …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 29 Mar 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-03-29:/2024/03/29/trying-out-pyenv-again/</guid><category>technology</category><category>python</category><category>pyenv</category></item><item><title>Winter of Learning</title><link>https://ryancheley.com/2024/03/19/winter-of-learning/</link><description>&lt;h2&gt;Winter of Learning Retrospective&lt;/h2&gt;
&lt;p&gt;Have you heard the good word about themes? If you haven't, take a look at this great video by &lt;a href="https://youtu.be/NVGuFdX5guE?si=auqXL9SMfYeftcup"&gt;CGP Grey on Themes&lt;/a&gt; and how they can work. For the last couple of years I've been doing yearly themes ... with limited success. This lack of success …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Tue, 19 Mar 2024 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-03-19:/2024/03/19/winter-of-learning/</guid><category>musings</category><category>themes</category></item><item><title>An Argument to Realign the AHL</title><link>https://ryancheley.com/2024/02/24/realign-the-ahl/</link><description>&lt;h1&gt;What is the AHL&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://theahl.com/"&gt;The AHL&lt;/a&gt;, or American Hockey League, is a hockey minor league based in the US and Canada. It's widely considered to be the step right below the &lt;a href="https://www.nhl.com/"&gt;NHL&lt;/a&gt; which is the top Hockey League in North America.&lt;/p&gt;
&lt;p&gt;There are 32 teams in the AHL, and &lt;a href="https://theahl.com/qualification-rules"&gt;23 …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 24 Feb 2024 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2024-02-24:/2024/02/24/realign-the-ahl/</guid><category>musings</category><category>ahl</category><category>hockey</category></item><item><title>Year in Review 2023</title><link>https://ryancheley.com/2023/12/31/year-in-review-2023/</link><description>&lt;p&gt;I've never done a year in review, but this seems like a good a time as any, right? I had a rough outline, but after reading the great Year in Review from &lt;a href="https://www.better-simple.com/personal/2023/12/30/my-year-in-review/"&gt;Tim Schilliing&lt;/a&gt;, &lt;a href="https://www.paulox.net/2023/12/31/my-2023-in-review/"&gt;Paolo Melichore&lt;/a&gt;, and &lt;a href="https://dev.to/veldakiara/djangoconus-2023-a-wish-fulfilled-2mmc"&gt;Velda Kiara&lt;/a&gt;, I was inspired to &lt;strong&gt;actually&lt;/strong&gt; finish mine.&lt;/p&gt;
&lt;h1&gt;Professional&lt;/h1&gt;
&lt;p&gt;In the moment …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 31 Dec 2023 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2023-12-31:/2023/12/31/year-in-review-2023/</guid><category>musings</category></item><item><title>So you want to give a talk at a conference?</title><link>https://ryancheley.com/2023/12/15/so-you-want-to-give-a-talk-at-a-conference/</link><description>&lt;p&gt;Last October I gave my first honest to goodness, on my own, up on the stage by myself talk at a tech conference. It was the most stressful yet fulfilling professional experience I've had.&lt;/p&gt;
&lt;p&gt;Fulfilling in that I've wanted to get better at speaking in public and this helped in …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 15 Dec 2023 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2023-12-15:/2023/12/15/so-you-want-to-give-a-talk-at-a-conference/</guid><category>technology</category><category>dcus</category><category>conference-talks</category></item><item><title>Error Culture Part III</title><link>https://ryancheley.com/2023/11/14/error-culture-part-iii/</link><description>&lt;h1&gt;How can I tell if I'm in an error culture?&lt;/h1&gt;
&lt;p&gt;In part 1 I spoke about the idea of &lt;a href="https://www.ryancheley.com/2023/10/29/error-culture/"&gt;Error Culture&lt;/a&gt;. In that post I define what error culture.&lt;/p&gt;
&lt;p&gt;In part 2 I spoke when &lt;a href="https://www.ryancheley.com/2023/11/09/error-culture-part-ii/"&gt;Error Culture&lt;/a&gt; starts. This time I'll talk about how you can tell if you're living …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Tue, 14 Nov 2023 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2023-11-14:/2023/11/14/error-culture-part-iii/</guid><category>musings</category><category>culture</category><category>programming</category></item><item><title>Error Culture Part II</title><link>https://ryancheley.com/2023/11/09/error-culture-part-ii/</link><description>&lt;p&gt;In my last post I spoke about the idea of &lt;a href="https://www.ryancheley.com/2023/10/29/error-culture/"&gt;Error Culture&lt;/a&gt;. In that post I define what error culture. This time I'll talk about when it starts to happen. For a recap go back and read that before diving in here.&lt;/p&gt;
&lt;h1&gt;When does error culture start?&lt;/h1&gt;
&lt;p&gt;Error culture can …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 09 Nov 2023 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2023-11-09:/2023/11/09/error-culture-part-ii/</guid><category>musings</category><category>culture</category><category>programming</category></item><item><title>Error Culture</title><link>https://ryancheley.com/2023/10/29/error-culture/</link><description>&lt;h2&gt;What is Error Culture?&lt;/h2&gt;
&lt;p&gt;It's inevitable that at some point a service &lt;sup id="sf-error-culture-1-back"&gt;&lt;a href="#sf-error-culture-1" class="simple-footnote" title="When I say service here I mean very loosely anything from a micro service up to a physical server."&gt;1&lt;/a&gt;&lt;/sup&gt; will fail. When that service fails you can either choose to be alerted, or not. Because technology is so important to so many aspects of work, not getting an alert for a failing service isn't really an …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 29 Oct 2023 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2023-10-29:/2023/10/29/error-culture/</guid><category>musings</category><category>culture</category><category>programming</category></item><item><title>DjangoCon US 2023</title><link>https://ryancheley.com/2023/10/24/djangocon-us-2023/</link><description>&lt;h1&gt;My Experience at DjangoCon US 2023&lt;/h1&gt;
&lt;p&gt;A few days ago I returned from DjangoCon US 2023 and wow, what an amazing time. The only regret I have is that I didn't take very many pictures. This is something I will need to work on for next year.&lt;/p&gt;
&lt;p&gt;On Monday October …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Tue, 24 Oct 2023 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2023-10-24:/2023/10/24/djangocon-us-2023/</guid><category>technology</category><category>django</category></item><item><title>Firebirds Inaugural Season</title><link>https://ryancheley.com/2023/07/01/firebirds-inaugural-season/</link><description>&lt;p&gt;On Wednesday June 21, 2023 the local sports puck team (i.e. Hockey), the &lt;a href="https://cvfirebirds.com/"&gt;Coachella Valley Firebirds&lt;/a&gt; hosted &lt;a href="https://theahl.com/stats/game-center/1025179"&gt;Game 7&lt;/a&gt; of the &lt;a href="https://en.wikipedia.org/wiki/Calder_Cup"&gt;Calder Cup&lt;/a&gt; Finals against the &lt;a href="https://www.hersheybears.com/"&gt;Hershey Bears&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are sports writers that can write on how the series went, better than I can so I'll leave that to …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 01 Jul 2023 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2023-07-01:/2023/07/01/firebirds-inaugural-season/</guid><category>musings</category><category>hockey</category><category>ahl</category></item><item><title>GCP Cloud Architect Exam Experience</title><link>https://ryancheley.com/2023/04/01/gcp-cloud-architect-exam-experience/</link><description>&lt;p&gt;&lt;a href="https://www.fiercehealthcare.com/health-tech/google-health-notches-another-provider-partner-care-studio"&gt;Last October it was announced&lt;/a&gt; that Desert Oasis Healthcare (the company I work for) signed on to pilot &lt;a href="https://health.google/caregivers/care-studio/"&gt;Google's Care Studio&lt;/a&gt;. DOHC is the first ambulatory clinic to sign on.&lt;/p&gt;
&lt;p&gt;I had been in some of the discovery meetings before the announcement and was really excited about the opportunity. So …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 01 Apr 2023 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2023-04-01:/2023/04/01/gcp-cloud-architect-exam-experience/</guid><category>technology</category><category>gcp</category></item><item><title>Contributing to Django or how I learned to stop worrying and just try to fix an ORM Bug</title><link>https://ryancheley.com/2022/11/12/contributing-to-django/</link><description>&lt;p&gt;I went to &lt;a href="https://2022.djangocon.us"&gt;DjangoCon US&lt;/a&gt; a few weeks ago and &lt;a href="https://twitter.com/pauloxnet/status/1583350887375773696"&gt;hung around for the sprints&lt;/a&gt;. I was particularly interested in working on open tickets related to the ORM. It so happened that &lt;a href="https://github.com/charettes"&gt;Simon Charette&lt;/a&gt; was at Django Con and was able to meet with several of us to talk through …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 12 Nov 2022 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-11-12:/2022/11/12/contributing-to-django/</guid><category>technology</category><category>django</category><category>open source</category></item><item><title>Upgrading to PostgreSQL 14</title><link>https://ryancheley.com/2022/08/28/upgrading-to-postgresql-14/</link><description>&lt;p&gt;&lt;a href="https://docs.djangoproject.com/en/4.1/releases/4.1/"&gt;Django 4.1 was released on August 3, 2022&lt;/a&gt; and I was excited to upgrade to it. I did the testing locally and then pushed my changes up to GitHub to deploy. The deployment was successful, but when I went to visit my sites ... womp womp. I got a Server …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 28 Aug 2022 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-08-28:/2022/08/28/upgrading-to-postgresql-14/</guid><category>technology</category><category>postgres</category></item><item><title>A Goodbye to Vin</title><link>https://ryancheley.com/2022/08/05/a-goodbye-to-vin/</link><description>&lt;p&gt;One of the earliest memories of my grandmother is visiting her in 29 Palms
&lt;sup id="sf-a-goodbye-to-vin-1-back"&gt;&lt;a href="#sf-a-goodbye-to-vin-1" class="simple-footnote" title="Yes that 29 Palms, right next to the LARGEST Marine Corp Base in the WORLD"&gt;1&lt;/a&gt;&lt;/sup&gt;
&lt;sup id="sf-a-goodbye-to-vin-2-back"&gt;&lt;a href="#sf-a-goodbye-to-vin-2" class="simple-footnote" title="also the 29 Palms that is right next to Joshua Tree home to the National Park that is the current catnip of Hipsters"&gt;2&lt;/a&gt;&lt;/sup&gt; in her permanent mobile home. I remember sitting on the davenport watching the Dodgers on a small 13" COLOR CRT TV. I remember that the game was broadcast on KTLA5. But what I remember …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 05 Aug 2022 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-08-05:/2022/08/05/a-goodbye-to-vin/</guid><category>musings</category><category>baseball</category></item><item><title>Django and Legacy Databases</title><link>https://ryancheley.com/2022/06/15/django-and-legacy-databases/</link><description>&lt;p&gt;I work at a place that is heavily investing in the Microsoft Tech Stack. Windows Servers, c#.Net, Angular, VB.net, Windows Work Stations, Microsoft SQL Server ... etc&lt;/p&gt;
&lt;p&gt;When not at work, I &lt;strong&gt;really&lt;/strong&gt; like working with Python and Django. I've never really thought I'd be able to combine the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 15 Jun 2022 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-06-15:/2022/06/15/django-and-legacy-databases/</guid><category>technology</category><category>django</category><category>mssql</category></item><item><title>Inserting a URL in Markdown in VS Code</title><link>https://ryancheley.com/2022/04/08/inserting-a-url-in-markdown-in-vs-code/</link><description>&lt;p&gt;Since I &lt;a href="https://www.ryancheley.com/2021/07/02/migrating-to-pelican-from-
wordpress/"&gt;switched my blog to pelican&lt;/a&gt; last summer I've been using &lt;a href="https://code.visualstudio.com"&gt;VS Code&lt;/a&gt; as my writing app. And it's &lt;strong&gt;really&lt;/strong&gt; good for writing, note just code but prose as well.&lt;/p&gt;
&lt;p&gt;The one problem I've had is there's no keyboard shortcut for links when writing in markdown ... at least not …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 08 Apr 2022 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-04-08:/2022/04/08/inserting-a-url-in-markdown-in-vs-code/</guid><category>technology</category><category>vscode</category><category>shortcuts</category></item><item><title>Logging Part 2</title><link>https://ryancheley.com/2022/04/07/logging-part-2/</link><description>&lt;p&gt;In my &lt;a href="https://www.ryancheley.com/2022/03/30/logging-part-1/"&gt;previous post&lt;/a&gt; I wrote about inline logging, that is, using logging in the code without a configuration file of some kind.&lt;/p&gt;
&lt;p&gt;In this post I'm going to go over setting up a configuration file to support the various different needs you may have for logging.&lt;/p&gt;
&lt;p&gt;Previously I mentioned …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 07 Apr 2022 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-04-07:/2022/04/07/logging-part-2/</guid><category>technology</category><category>logging</category><category>python</category></item><item><title>Logging Part 1</title><link>https://ryancheley.com/2022/03/30/logging-part-1/</link><description>&lt;h1&gt;Logging&lt;/h1&gt;
&lt;p&gt;Last year I worked on an update to the package &lt;a href="https://pypi.org/project/tryceratops/"&gt;tryceratops&lt;/a&gt; with &lt;a href="https://twitter.com/guilatrova"&gt;Gui Latrova&lt;/a&gt; to include a verbose flag for logging.&lt;/p&gt;
&lt;p&gt;Honestly, Gui was a huge help and I wrote about my experience &lt;a href="[link](https://www.ryancheley.com/2021/08/07/contributing-to-tryceratops/)"&gt;here&lt;/a&gt; but I didn't really understand why what I did worked.&lt;/p&gt;
&lt;p&gt;Recently I decided that I …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 30 Mar 2022 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-03-30:/2022/03/30/logging-part-1/</guid><category>technology</category><category>logging</category><category>python</category></item><item><title>New Theme, who dis?</title><link>https://ryancheley.com/2022/02/27/new-theme-who-dis/</link><description>&lt;p&gt;Because I have a couple of posts that I need/want to work on, and I have the time to work on them, I have of course decided to instead to update the theme on my blog because that was a way better use of my time 😂&lt;/p&gt;
&lt;p&gt;Also, because the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 27 Feb 2022 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-02-27:/2022/02/27/new-theme-who-dis/</guid><category>musings</category></item><item><title>I made a Slackbot!</title><link>https://ryancheley.com/2022/02/19/i-made-a-slackbot/</link><description>&lt;h2&gt;Building my first Slack Bot&lt;/h2&gt;
&lt;p&gt;I had added a project to my OmniFocus database in November of 2021 which was, "Build a Slackbot" after watching a &lt;a href="https://www.youtube.com/watch?v=2X8SrKL7E9A"&gt;Video&lt;/a&gt; by &lt;a href="https://twitter.com/masonegger"&gt;Mason Egger&lt;/a&gt;. I had hoped that I would be able to spend some time on it over the holidays, but I was …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 19 Feb 2022 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-02-19:/2022/02/19/i-made-a-slackbot/</guid><category>technology</category><category>django</category><category>drf</category><category>slack</category></item><item><title>Putting it All Together</title><link>https://ryancheley.com/2022/02/09/putting-it-all-together/</link><description>&lt;p&gt;In this final post I'll be writing up how everything fits together. As a recap, here are the steps I go through to create and publish a new post&lt;/p&gt;
&lt;h1&gt;Create Post&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;Create &lt;code&gt;.md&lt;/code&gt; for my new post&lt;/li&gt;
&lt;li&gt;write my words&lt;/li&gt;
&lt;li&gt;edit post&lt;/li&gt;
&lt;li&gt;Change &lt;code&gt;status&lt;/code&gt; from &lt;code&gt;draft&lt;/code&gt; to &lt;code&gt;published&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Publish Post …&lt;/h2&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 09 Feb 2022 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-02-09:/2022/02/09/putting-it-all-together/</guid><category>productivity</category><category>Automation</category></item><item><title>Automating the file creation</title><link>https://ryancheley.com/2022/02/02/automating-the-file-creation/</link><description>&lt;p&gt;In my last post &lt;a href="https://www.ryancheley.com/2022/01/28/auto-generating-the-commit-message/"&gt;Auto Generating the Commit Message&lt;/a&gt; I indicated that this post I would "throw it all together and to get a spot where I can run one make command that will do all of this for me".&lt;/p&gt;
&lt;p&gt;I decided to take a brief detour though as I …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 02 Feb 2022 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-02-02:/2022/02/02/automating-the-file-creation/</guid><category>productivity</category><category>automation</category><category>makefile</category></item><item><title>Auto Generating the Commit Message</title><link>https://ryancheley.com/2022/01/28/auto-generating-the-commit-message/</link><description>&lt;p&gt;In my first post of this series I outlined the steps needed in order for me to post. They are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Run &lt;code&gt;make html&lt;/code&gt; to generate the SQLite database that powers my site's search tool&lt;sup id="sf-auto-generating-the-commit-message-1-back"&gt;&lt;a href="#sf-auto-generating-the-commit-message-1" class="simple-footnote" title="make vercel actually runs make html so this isn't really a step that I need to do."&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make vercel&lt;/code&gt; to deploy the SQLite database to vercel&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ryancheley.com/2022/01/26/git-add-filename-automation/"&gt;Run &lt;code&gt;git add &amp;lt;filename&amp;gt;&lt;/code&gt; to …&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 28 Jan 2022 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-01-28:/2022/01/28/auto-generating-the-commit-message/</guid><category>productivity</category><category>Automation</category></item><item><title>git add filename automation</title><link>https://ryancheley.com/2022/01/26/git-add-filename-automation/</link><description>&lt;p&gt;In &lt;a href="https://www.ryancheley.com/2022/01/24/auto-tweeting-new-post/"&gt;my last post&lt;/a&gt; I mentioned the steps needed in order for me to post. They are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Run &lt;code&gt;make html&lt;/code&gt; to generate the SQLite database that powers my site's search tool&lt;sup id="sf-git-add-filename-automation-1-back"&gt;&lt;a href="#sf-git-add-filename-automation-1" class="simple-footnote" title="make vercel actually runs make html so this isn't really a step that I need to do."&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make vercel&lt;/code&gt; to deploy the SQLite database to vercel&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ryancheley.com/2022/01/26/git-add-filename-automation/"&gt;Run &lt;code&gt;git add &amp;lt;filename&amp;gt;&lt;/code&gt; to add post to …&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 26 Jan 2022 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-01-26:/2022/01/26/git-add-filename-automation/</guid><category>productivity</category></item><item><title>Auto Tweeting New Post</title><link>https://ryancheley.com/2022/01/24/auto-tweeting-new-post/</link><description>&lt;p&gt;Each time I write something for this site there are several steps that I go through to make sure that the post makes it's way to where people can see it.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Run &lt;code&gt;make html&lt;/code&gt; to generate the SQLite database that powers my site's search tool&lt;sup id="sf-auto-tweeting-new-post-1-back"&gt;&lt;a href="#sf-auto-tweeting-new-post-1" class="simple-footnote" title="make vercel actually runs make html so this isn't really a step that I need to do."&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make vercel&lt;/code&gt; to …&lt;/li&gt;&lt;/ol&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 24 Jan 2022 00:00:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-01-24:/2022/01/24/auto-tweeting-new-post/</guid><category>productivity</category><category>"GitHub Actions"</category></item><item><title>Adding Search to My Pelican Blog with Datasette</title><link>https://ryancheley.com/2022/01/16/adding-search-to-my-pelican-blog-with-datasette/</link><description>&lt;p&gt;Last summer I migrated my blog from &lt;a href="https://wordpress.com"&gt;Wordpress&lt;/a&gt; to &lt;a href="https://getpelican.com"&gt;Pelican&lt;/a&gt;. I did this for a couple of reasons (see my post &lt;a href="https://www.ryancheley.com/2021/07/02/migrating-to-pelican-from-wordpress/"&gt;here&lt;/a&gt;), but one thing that I was a bit worried about when I migrated was that Pelican's offering for site search didn't look promising.&lt;/p&gt;
&lt;p&gt;There was an outdated plugin …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 16 Jan 2022 19:30:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2022-01-16:/2022/01/16/adding-search-to-my-pelican-blog-with-datasette/</guid><category>technology</category><category>Datasette</category><category>pelican</category></item><item><title>The Well Maintained Test</title><link>https://ryancheley.com/2021/11/22/the-well-maintained-test/</link><description>&lt;p&gt;At the beginning of November Adam Johnson &lt;a href="https://twitter.com/AdamChainz/status/1456347321415917569"&gt;tweeted&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I’ve come up with a test that we can use to decide whether a new package we’re considering depending on is well-maintained.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and linked to an article he &lt;a href="https://adamj.eu/tech/2021/11/04/the-well-maintained-test/"&gt;wrote&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;He came up (&lt;a href="https://twitter.com/AdamChainz/status/1454041660879421442"&gt;with the help of Twitter&lt;/a&gt;) twelve questions to …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 22 Nov 2021 19:57:00 -0800</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-11-22:/2021/11/22/the-well-maintained-test/</guid><category>technology</category><category>Python</category><category>python package</category></item><item><title>Styling Clean Up with Bash</title><link>https://ryancheley.com/2021/10/26/styling-cleanup/</link><description>&lt;p&gt;I have a side project I've been working on for a while now. One thing that happened overtime is that the styling of the site grew organically. I'm not a designer, and I didn't have a master set of templates or design principals guiding the development. I kind of hacked …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Tue, 26 Oct 2021 19:23:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-10-26:/2021/10/26/styling-cleanup/</guid><category>technology</category><category>css</category><category>tailwind</category><category>bash</category></item><item><title>djhtml and justfile</title><link>https://ryancheley.com/2021/08/22/djhtml-and-justfile/</link><description>&lt;p&gt;I had read about a project called djhtml and wanted to use it on one of my projects. The documentation is really good for adding it to precommit-ci, but I wasn't sure what I needed to do to just run it on the command line.&lt;/p&gt;
&lt;p&gt;It took a bit of …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 22 Aug 2021 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-08-22:/2021/08/22/djhtml-and-justfile/</guid><category>technology</category><category>django</category><category>djhtml</category><category>just</category></item><item><title>Prototyping with Datasette</title><link>https://ryancheley.com/2021/08/09/prototyping-with-datasette/</link><description>&lt;p&gt;At my job I work with some really talented Web Developers that are saddled with a pretty creaky legacy system.&lt;/p&gt;
&lt;p&gt;We're getting ready to start on a new(ish) project where we'll be taking an old project built on this creaky legacy system (&lt;code&gt;VB.net&lt;/code&gt;) and re-implementing it on a …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 09 Aug 2021 18:26:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-08-09:/2021/08/09/prototyping-with-datasette/</guid><category>technology</category><category>Datasette</category></item><item><title>Contributing to Tryceratops</title><link>https://ryancheley.com/2021/08/07/contributing-to-tryceratops/</link><description>&lt;p&gt;I read about a project called &lt;a href="https://pypi.org/project/tryceratops/"&gt;Tryceratops&lt;/a&gt; on Twitter when it was &lt;a href="https://twitter.com/webology/status/1414233648534933509"&gt;tweeted about by Jeff Triplet&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I checked it out and it seemed interesting. I decided to use it on my &lt;a href="https://doestatisjrhaveanerrortoday.com"&gt;simplest Django project&lt;/a&gt; just to give it a test drive running this command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;tryceratops .
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;and got this result …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 07 Aug 2021 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-08-07:/2021/08/07/contributing-to-tryceratops/</guid><category>technology</category><category>oss</category><category>contributing</category></item><item><title>Contributing to django-sql-dashboard</title><link>https://ryancheley.com/2021/07/09/contributing-to-django-sql-dashboard/</link><description>&lt;p&gt;Last Saturday (July 3rd) while on vacation, I dubbed it “Security update Saturday”. I took the opportunity to review all of the GitHub bot alerts about out of date packages, and make the updates I needed to.&lt;/p&gt;
&lt;p&gt;This included updated &lt;code&gt;django-sql-dashboard&lt;/code&gt; to &lt;a href="https://github.com/simonw/django-sql-dashboard/releases/tag/1.0"&gt;version 1.0&lt;/a&gt; … which I was really excited …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 09 Jul 2021 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-07-09:/2021/07/09/contributing-to-django-sql-dashboard/</guid><category>technology</category><category>oss</category><category>contributing</category><category>Django</category></item><item><title>Publishing content to Pelican site</title><link>https://ryancheley.com/2021/07/07/publishing-content-to-pelican-site/</link><description>&lt;p&gt;There are a lot of different ways to get the content for your Pelican site onto the internet. The &lt;a href="https://docs.getpelican.com/en/latest/publish.html"&gt;Docs show&lt;/a&gt; an example using &lt;code&gt;rsync&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For automation they talk about the use of either &lt;code&gt;Invoke&lt;/code&gt; or &lt;code&gt;Make&lt;/code&gt; (although you could also use &lt;a href="https://github.com/casey/just"&gt;&lt;code&gt;Just&lt;/code&gt;&lt;/a&gt; instead of &lt;code&gt;Make&lt;/code&gt; which is my preferred …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 07 Jul 2021 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-07-07:/2021/07/07/publishing-content-to-pelican-site/</guid><category>technology</category><category>Pelican</category><category>Server</category></item><item><title>Setting up the Server to host my Pelican Site</title><link>https://ryancheley.com/2021/07/05/setting-up-the-server-to-host-pelican/</link><description>&lt;h1&gt;Creating the user on the server&lt;/h1&gt;
&lt;p&gt;Each site on my server has it's own user. This is a security consideration, more than anything else. For this site, I used the steps from &lt;a href="https://www.ryancheley.com/2021/02/21/automating-the-deployment/"&gt;some of my scripts for setting up a Django site&lt;/a&gt;. In particular, I ran the following code from …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 05 Jul 2021 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-07-05:/2021/07/05/setting-up-the-server-to-host-pelican/</guid><category>technology</category><category>Pelican</category><category>Server</category></item><item><title>Migrating to Pelican from Wordpress</title><link>https://ryancheley.com/2021/07/02/migrating-to-pelican-from-wordpress/</link><description>&lt;h2&gt;A little back story&lt;/h2&gt;
&lt;p&gt;In October of 2017 I &lt;a href="https://www.ryancheley.com/2017/10/01/migrating-from-square-space-to-word-press/"&gt;wrote about how I migrated from SquareSpace to Wordpress&lt;/a&gt;. After almost 4 years I’ve decided to migrate again, this time to &lt;a href="https://blog.getpelican.com"&gt;Pelican&lt;/a&gt;. I did a bit of work with Pelican during my &lt;a href="https://www.ryancheley.com/2019/08/31/my-first-project-after-completing-the-100-days-of-web-in-python/"&gt;100 Days of Web Code&lt;/a&gt; back in 2019 …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 02 Jul 2021 00:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-07-02:/2021/07/02/migrating-to-pelican-from-wordpress/</guid><category>technology</category><category>WordPress</category><category>Pelican</category></item><item><title>Debugging Setting up a Django Project</title><link>https://ryancheley.com/2021/06/13/debugging-setting-up-a-django-project/</link><description>&lt;p&gt;Normally when I start a new Django project I’ll use the PyCharm setup wizard, but recently I wanted to try out VS Code for a Django project and was super stumped when I would get a message like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nl"&gt;ERROR&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;hash&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;md5&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;was&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;found&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="n"&gt;Traceback …&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 13 Jun 2021 11:00:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-06-13:/2021/06/13/debugging-setting-up-a-django-project/</guid><category>technology</category><category>Debugging</category><category>macOS</category><category>python</category></item><item><title>My First Python Package</title><link>https://ryancheley.com/2021/06/06/my-first-python-package/</link><description>&lt;p&gt;A few months ago I was inspired by &lt;a href="https://simonwillison.net" title="Simon, creator of Datasette"&gt;Simon Willison&lt;/a&gt; and his project &lt;a href="https://datasette.io" title="Datasette - An awesome tool for data exploration and publishing"&gt;Datasette&lt;/a&gt; and it’s related ecosystem to write a Python Package for it.&lt;/p&gt;
&lt;p&gt;I use &lt;a href="https://toggl.com" title="Toggl - a time tracking tool"&gt;toggl&lt;/a&gt; to track my time at work and I thought this would be a great opportunity use that data with &lt;a href="https://datasette.io" title="Datasette - An awesome tool for data exploration and publishing"&gt;Datasette&lt;/a&gt; and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 06 Jun 2021 18:11:00 -0700</pubDate><guid isPermaLink="false">tag:ryancheley.com,2021-06-06:/2021/06/06/my-first-python-package/</guid><category>technology</category><category>datasette</category><category>Python</category><category>python package</category></item></channel></rss>