<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>blog.thea.codes</title>
  <description>Thea Flowers' Blog</description>
  <link>https://blog.thea.codes</link>
  <atom:link href="https://blog.thea.codes/feed.xml"
    rel="self" type="application/rss+xml" />

  
  <item>
    <title>Reflecting on my 2025</title>
    <link>https://blog.thea.codes/my-2025</link>
    <guid>https://blog.thea.codes/my-2025</guid>
    <pubDate>Fri, 02 Jan 2026 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Reflecting on my 2024</title>
    <link>https://blog.thea.codes/my-2024</link>
    <guid>https://blog.thea.codes/my-2024</guid>
    <pubDate>Sat, 04 Jan 2025 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Prusa has learned nothing</title>
    <link>https://blog.thea.codes/prusa-learned-nothing</link>
    <guid>https://blog.thea.codes/prusa-learned-nothing</guid>
    <pubDate>Sun, 24 Nov 2024 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Split tunneling using Wireguard and namespaces</title>
    <link>https://blog.thea.codes/nordvpn-wireguard-namespaces</link>
    <guid>https://blog.thea.codes/nordvpn-wireguard-namespaces</guid>
    <pubDate>Sun, 17 Nov 2024 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Building Alan Wake&#39;s Angel Lamp</title>
    <link>https://blog.thea.codes/alan-wake-angel-lamp-build</link>
    <guid>https://blog.thea.codes/alan-wake-angel-lamp-build</guid>
    <pubDate>Thu, 30 May 2024 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Reflecting on my 2023</title>
    <link>https://blog.thea.codes/my-2023</link>
    <guid>https://blog.thea.codes/my-2023</guid>
    <pubDate>Sat, 30 Dec 2023 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>My experience building a Voron 2.4</title>
    <link>https://blog.thea.codes/my-voron-2-experience</link>
    <guid>https://blog.thea.codes/my-voron-2-experience</guid>
    <pubDate>Sun, 02 Jul 2023 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Introducing KiCanvas</title>
    <link>https://blog.thea.codes/introducing-kicanvas</link>
    <guid>https://blog.thea.codes/introducing-kicanvas</guid>
    <pubDate>Thu, 20 Apr 2023 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>A reply to Josef Průša</title>
    <link>https://blog.thea.codes/a-reply-to-josef-prusa</link>
    <guid>https://blog.thea.codes/a-reply-to-josef-prusa</guid>
    <pubDate>Thu, 30 Mar 2023 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Reflecting on my 2022</title>
    <link>https://blog.thea.codes/my-2022</link>
    <guid>https://blog.thea.codes/my-2022</guid>
    <pubDate>Tue, 27 Dec 2022 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Creating a pick and place control board with the RP2040</title>
    <link>https://blog.thea.codes/starfish-a-control-board-with-the-rp2040</link>
    <guid>https://blog.thea.codes/starfish-a-control-board-with-the-rp2040</guid>
    <pubDate>Fri, 04 Nov 2022 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Using Python to vectorize artwork for PCBs</title>
    <link>https://blog.thea.codes/raster-vectorization-with-python</link>
    <guid>https://blog.thea.codes/raster-vectorization-with-python</guid>
    <pubDate>Mon, 29 Aug 2022 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>A few of my favorite typefaces</title>
    <link>https://blog.thea.codes/typefaces-i-love</link>
    <guid>https://blog.thea.codes/typefaces-i-love</guid>
    <pubDate>Sun, 12 Sep 2021 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Farewell, Google</title>
    <link>https://blog.thea.codes/farewell-google</link>
    <guid>https://blog.thea.codes/farewell-google</guid>
    <pubDate>Tue, 01 Jun 2021 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Talking to gamepads from Python without PyGame</title>
    <link>https://blog.thea.codes/talking-to-gamepads-without-pygame</link>
    <guid>https://blog.thea.codes/talking-to-gamepads-without-pygame</guid>
    <pubDate>Sat, 22 May 2021 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>The tools and tech I use to run a one-woman hardware company</title>
    <link>https://blog.thea.codes/winterblooms-tech-stack</link>
    <guid>https://blog.thea.codes/winterblooms-tech-stack</guid>
    <pubDate>Sun, 16 May 2021 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Using the SAM D21&#39;s brown-out detector</title>
    <link>https://blog.thea.codes/sam-d21-brown-out-detector</link>
    <guid>https://blog.thea.codes/sam-d21-brown-out-detector</guid>
    <pubDate>Wed, 21 Apr 2021 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Designing Winterbloom&#39;s Castor &amp; Pollux</title>
    <link>https://blog.thea.codes/designing-castor-and-pollux</link>
    <guid>https://blog.thea.codes/designing-castor-and-pollux</guid>
    <pubDate>Wed, 31 Mar 2021 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Opinions after a decade of professional software engineering</title>
    <link>https://blog.thea.codes/opinions-after-a-decade</link>
    <guid>https://blog.thea.codes/opinions-after-a-decade</guid>
    <pubDate>Tue, 02 Feb 2021 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>The most thoroughly commented linker script (probably)</title>
    <link>https://blog.thea.codes/the-most-thoroughly-commented-linker-script</link>
    <guid>https://blog.thea.codes/the-most-thoroughly-commented-linker-script</guid>
    <pubDate>Wed, 13 Jan 2021 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>The Design of the Roland Juno oscillators</title>
    <link>https://blog.thea.codes/the-design-of-the-juno-dco</link>
    <guid>https://blog.thea.codes/the-design-of-the-juno-dco</guid>
    <pubDate>Thu, 31 Dec 2020 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Understanding the SAM D21 clocks</title>
    <link>https://blog.thea.codes/understanding-the-sam-d21-clocks</link>
    <guid>https://blog.thea.codes/understanding-the-sam-d21-clocks</guid>
    <pubDate>Wed, 02 Dec 2020 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>We need to talk about GitHub</title>
    <link>https://blog.thea.codes/we-need-to-talk-about-github</link>
    <guid>https://blog.thea.codes/we-need-to-talk-about-github</guid>
    <pubDate>Mon, 12 Oct 2020 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Getting the most out of the SAM D21&#39;s ADC</title>
    <link>https://blog.thea.codes/getting-the-most-out-of-the-samd21-adc</link>
    <guid>https://blog.thea.codes/getting-the-most-out-of-the-samd21-adc</guid>
    <pubDate>Sat, 18 Jul 2020 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Reading analog values with the SAMD21&#39;s ADC</title>
    <link>https://blog.thea.codes/reading-analog-values-with-the-samd-adc</link>
    <guid>https://blog.thea.codes/reading-analog-values-with-the-samd-adc</guid>
    <pubDate>Wed, 08 Jul 2020 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Phase-shifted PWM on SAMD21</title>
    <link>https://blog.thea.codes/phase-shifted-pwm-on-samd</link>
    <guid>https://blog.thea.codes/phase-shifted-pwm-on-samd</guid>
    <pubDate>Fri, 05 Jun 2020 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Designing Winterbloom&#39;s Big Honking Button</title>
    <link>https://blog.thea.codes/designing-big-honking-button</link>
    <guid>https://blog.thea.codes/designing-big-honking-button</guid>
    <pubDate>Sat, 25 Apr 2020 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Thoughts on #CircuitPython2020</title>
    <link>https://blog.thea.codes/thoughts-on-circuitpython-2020</link>
    <guid>https://blog.thea.codes/thoughts-on-circuitpython-2020</guid>
    <pubDate>Thu, 02 Jan 2020 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Lessons learned from building a custom CircuitPython board</title>
    <link>https://blog.thea.codes/lessons-learned-from-building-a-circuitpython-board</link>
    <guid>https://blog.thea.codes/lessons-learned-from-building-a-circuitpython-board</guid>
    <pubDate>Sun, 06 Oct 2019 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Building a stateless API proxy</title>
    <link>https://blog.thea.codes/building-a-stateless-api-proxy</link>
    <guid>https://blog.thea.codes/building-a-stateless-api-proxy</guid>
    <pubDate>Thu, 23 May 2019 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>My personal values</title>
    <link>https://blog.thea.codes/my-personal-values</link>
    <guid>https://blog.thea.codes/my-personal-values</guid>
    <pubDate>Sun, 12 May 2019 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Genesynth: A Sega Genesis-inspired synthesizer</title>
    <link>https://blog.thea.codes/genesynth-a-sega-genesis-inspired-synthesizer</link>
    <guid>https://blog.thea.codes/genesynth-a-sega-genesis-inspired-synthesizer</guid>
    <pubDate>Tue, 22 Jan 2019 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Genesynth part 4: Cleaning up the noisy audio amplifier</title>
    <link>https://blog.thea.codes/genesynth-part-4-cleaning-up-the-noise-in-synth-audio-amplifier</link>
    <guid>https://blog.thea.codes/genesynth-part-4-cleaning-up-the-noise-in-synth-audio-amplifier</guid>
    <pubDate>Wed, 09 Jan 2019 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Genesynth part 3: proper audio amplification</title>
    <link>https://blog.thea.codes/genesynth-part-3-proper-audio</link>
    <guid>https://blog.thea.codes/genesynth-part-3-proper-audio</guid>
    <pubDate>Mon, 29 Oct 2018 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Genesynth part 2: basic communication</title>
    <link>https://blog.thea.codes/genesynth-part-2-basic-communication</link>
    <guid>https://blog.thea.codes/genesynth-part-2-basic-communication</guid>
    <pubDate>Sun, 23 Sep 2018 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Genesynth part 1: idea and research</title>
    <link>https://blog.thea.codes/genesynth-part-1-idea-and-research</link>
    <guid>https://blog.thea.codes/genesynth-part-1-idea-and-research</guid>
    <pubDate>Tue, 19 Jun 2018 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Writing a small static site generator</title>
    <link>https://blog.thea.codes/a-small-static-site-generator</link>
    <guid>https://blog.thea.codes/a-small-static-site-generator</guid>
    <pubDate>Fri, 11 May 2018 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Hello, world, I am Thea</title>
    <link>https://blog.thea.codes/i-am-thea</link>
    <guid>https://blog.thea.codes/i-am-thea</guid>
    <pubDate>Thu, 10 May 2018 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Github-flavored Markdown descriptions on PyPI</title>
    <link>https://blog.thea.codes/github-flavored-markdown-on-pypi</link>
    <guid>https://blog.thea.codes/github-flavored-markdown-on-pypi</guid>
    <pubDate>Mon, 02 Apr 2018 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>My Python testing style guide</title>
    <link>https://blog.thea.codes/my-python-testing-style-guide</link>
    <guid>https://blog.thea.codes/my-python-testing-style-guide</guid>
    <pubDate>Sat, 15 Jul 2017 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Thoughts on empathy &amp; software</title>
    <link>https://blog.thea.codes/thoughts-on-empathy-software</link>
    <guid>https://blog.thea.codes/thoughts-on-empathy-software</guid>
    <pubDate>Sat, 02 Jul 2016 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>A year of open-source @ Google</title>
    <link>https://blog.thea.codes/a-year-of-open-source-google</link>
    <guid>https://blog.thea.codes/a-year-of-open-source-google</guid>
    <pubDate>Thu, 24 Mar 2016 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Opinionated deployment tools &amp; Kubernetes</title>
    <link>https://blog.thea.codes/building-a-paas-on-kubernetes</link>
    <guid>https://blog.thea.codes/building-a-paas-on-kubernetes</guid>
    <pubDate>Wed, 10 Feb 2016 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Docker, procfiles, and health checks</title>
    <link>https://blog.thea.codes/docker-procfiles</link>
    <guid>https://blog.thea.codes/docker-procfiles</guid>
    <pubDate>Wed, 05 Aug 2015 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>App Engine is (sometimes) the wrong hammer.</title>
    <link>https://blog.thea.codes/app-engine-is-the-wrong-hammer</link>
    <guid>https://blog.thea.codes/app-engine-is-the-wrong-hammer</guid>
    <pubDate>Thu, 25 Sep 2014 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Fixing the wrong bug to discover the right one</title>
    <link>https://blog.thea.codes/fixing-the-wrong-bug</link>
    <guid>https://blog.thea.codes/fixing-the-wrong-bug</guid>
    <pubDate>Sun, 14 Sep 2014 12:00:00 Z</pubDate>
  </item>
  
  <item>
    <title>Managing vendored packages on App Engine</title>
    <link>https://blog.thea.codes/managing-vendored-packages-on-app-engine</link>
    <guid>https://blog.thea.codes/managing-vendored-packages-on-app-engine</guid>
    <pubDate>Tue, 02 Sep 2014 12:00:00 Z</pubDate>
  </item>
  

</channel>
</rss>