<rss version="2.0">
      <channel>
        <title>Joel Sleppy&apos;s Blog</title>
        <link>https://joelsleppy.com/blog/</link>
        <description>All posts from Joel Sleppy's blog.</description>
        <language>en-us</language>
        <docs>https://www.rssboard.org/rss-specification</docs>
        <lastBuildDate>Wed, 28 Jan 2026 00:00:00 GMT</lastBuildDate>
        <item>
            <title><![CDATA[The hidden kwarg you need to parse email files in Python]]></title>
            <link>https://joelsleppy.com/blog/parse-eml-with-python/</link>
            <description><![CDATA[Without setting this poorly-documented argument, you will get junk results when parsing email (.eml) files using Python.]]></description>
            <pubDate>Wed, 28 Jan 2026 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Use Django Auth to Secure Any Application]]></title>
            <link>https://joelsleppy.com/blog/use-django-auth-to-protect-other-applications/</link>
            <description><![CDATA[Use Django's authentication and permissions to secure any other application.]]></description>
            <pubDate>Sun, 07 Dec 2025 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Structured log collection from Docker containers]]></title>
            <link>https://joelsleppy.com/blog/docker-logging/</link>
            <description><![CDATA[How to ship JSON formatted logs from your app's stdout to fluentbit and VictoriaLogs for visualization and analysis.]]></description>
            <pubDate>Sun, 26 Oct 2025 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Watch out: All SvelteKit page data ends up on the client]]></title>
            <link>https://joelsleppy.com/blog/all-sveltekit-data-ends-up-on-the-client/</link>
            <description><![CDATA[In contrast to a traditional server rendered web app, you need to be aware that all SvelteKit page data ends up on the client.]]></description>
            <pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Cool Things About Remote Docker Hosts]]></title>
            <link>https://joelsleppy.com/blog/remote-docker-host/</link>
            <description><![CDATA[Some interesting consequences of Docker being a client-server tool.]]></description>
            <pubDate>Thu, 10 Jul 2025 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Building a Square Foot Garden]]></title>
            <link>https://joelsleppy.com/blog/square-foot-garden/</link>
            <description><![CDATA[Documenting how I built a Square Foot Garden]]></description>
            <pubDate>Fri, 02 May 2025 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Get (production) ready with me: Deploying a project with Docker Compose]]></title>
            <link>https://joelsleppy.com/blog/get-production-ready-with-me/</link>
            <description><![CDATA[Finding the best way to deploy to production with Docker Compose.]]></description>
            <pubDate>Thu, 20 Mar 2025 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[How to run concurrent Python code with asyncio]]></title>
            <link>https://joelsleppy.com/blog/how-to-run-concurrent-python-code-with-asyncio/</link>
            <description><![CDATA[The correct, non-obvious way to run Python code concurrently with asyncio.]]></description>
            <pubDate>Mon, 30 Dec 2024 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Notes on Paul Graham's "How to Get Startup Ideas"]]></title>
            <link>https://joelsleppy.com/blog/notes-on-paul-graham-how-to-get-startup-ideas/</link>
            <description><![CDATA[My summary of Paul Graham's 2012 essay "How to Get Startup Ideas"]]></description>
            <pubDate>Fri, 11 Oct 2024 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Notes on Refactoring UI]]></title>
            <link>https://joelsleppy.com/blog/notes-on-refactoring-ui/</link>
            <description><![CDATA[Notes on the excellent web design book Refactoring UI.]]></description>
            <pubDate>Sat, 18 Mar 2023 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Django ORM Cheatsheet]]></title>
            <link>https://joelsleppy.com/blog/django-orm-cheatsheet/</link>
            <description><![CDATA[A compact reference for the most useful parts of the Django ORM.]]></description>
            <pubDate>Sun, 22 May 2022 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Planets by Emily Haines & The Soft Skeleton]]></title>
            <link>https://joelsleppy.com/blog/planets-by-emily-haines-the-soft-skeleton/</link>
            <description><![CDATA[My transcription of the song Planets by Emily Haines & The Soft Skeleton.]]></description>
            <pubDate>Sat, 11 Sep 2021 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[I apologize for the poor sound quality I've subjected you to over the years]]></title>
            <link>https://joelsleppy.com/blog/i-apologize-for-the-poor-sound-quality-ive-subjected-you-to-over-the-years/</link>
            <description><![CDATA[A recent Hacker News post inspired me to test my setup for video calls. It was awful, and Bluetooth was to blame. Here's how I fixed it.]]></description>
            <pubDate>Wed, 21 Apr 2021 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Automated deploys with Fabric]]></title>
            <link>https://joelsleppy.com/blog/automated-deploys-with-fabric/</link>
            <description><![CDATA[How to automate SSH sessions with Fabric to deploy a Django application.]]></description>
            <pubDate>Mon, 12 Apr 2021 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Removing Tags and Patches from Clothing with a Seam Ripper]]></title>
            <link>https://joelsleppy.com/blog/removing-tags-and-patches-from-clothing-with-a-seam-ripper/</link>
            <description><![CDATA[How to remove tags and patches from clothing with a seam ripper for comfort and style.]]></description>
            <pubDate>Sat, 06 Feb 2021 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Gunicorn Async Workers with gevent]]></title>
            <link>https://joelsleppy.com/blog/gunicorn-async-workers-with-gevent/</link>
            <description><![CDATA[How to run gunicorn async workers with gevent and a PostgreSQL client.]]></description>
            <pubDate>Tue, 26 Jan 2021 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Gunicorn Application Preloading]]></title>
            <link>https://joelsleppy.com/blog/gunicorn-application-preloading/</link>
            <description><![CDATA[Learn how to use preloading to reduce memory use in a Gunicorn app, and when not to use it.]]></description>
            <pubDate>Thu, 21 Jan 2021 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Gunicorn Sync Workers]]></title>
            <link>https://joelsleppy.com/blog/gunicorn-sync-workers/</link>
            <description><![CDATA[Understand the memory use and throughput of Gunicorn sync workers under different workloads.]]></description>
            <pubDate>Tue, 19 Jan 2021 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[sitemap.xml in a wagtail-bakery Site]]></title>
            <link>https://joelsleppy.com/blog/sitemapxml-in-a-wagtail-bakery-site/</link>
            <description><![CDATA[How to generate a sitemap.xml from your wagtail-bakery static site.]]></description>
            <pubDate>Sun, 03 Jan 2021 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Syntax Highlighted Code Blocks with Wagtail CMS]]></title>
            <link>https://joelsleppy.com/blog/syntax-highlighted-code-blocks-with-wagtail-cms/</link>
            <description><![CDATA[How to add code blocks with syntax highlighting to a Wagtail project.]]></description>
            <pubDate>Sat, 02 Jan 2021 00:00:00 GMT</pubDate>
          </item>
<item>
            <title><![CDATA[Baking a Static Site from Wagtail CMS]]></title>
            <link>https://joelsleppy.com/blog/baking-a-static-site-from-wagtail-cms/</link>
            <description><![CDATA[How to build a Wagtail project as a static site and host it on Netlify.]]></description>
            <pubDate>Fri, 01 Jan 2021 00:00:00 GMT</pubDate>
          </item>
      </channel>
    </rss>