<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Do Code That Matters</title><description>Personal blog about software development, 3D printing, DIY, python, personal automations, and C#</description><link>https://docodethatmatters.com/</link><language>en-us</language><copyright>Copyright 2026 Spencer Kittleson</copyright><ttl>30</ttl><item><title>I tried to do OAuth token exchange with Authentik. Here is the security tradeoff nobody mentions.</title><link>https://docodethatmatters.com/oauth-token-exchange-sso-demo/</link><guid isPermaLink="true">https://docodethatmatters.com/oauth-token-exchange-sso-demo/</guid><description>Authentik does not support RFC 8693 token exchange. The workaround works, but it shifts a security assumption most people never notice. Here is what I found and how it compares to Keycloak.</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/oauth-token-exchange-sso-demo/index.txt" type="text/plain" length="8152"/></item><item><title>Building a Custom HTTP Proxy in Rust for Mixed-OS Workflows</title><link>https://docodethatmatters.com/building-custom-http-proxy-rust-mixed-os-workflows/</link><guid isPermaLink="true">https://docodethatmatters.com/building-custom-http-proxy-rust-mixed-os-workflows/</guid><description>How I built a Rust-powered transparent HTTP(S) proxy to seamlessly route my Linux traffic through a Windows work machine, with PopOS setup, Docker config, and Chromium proxy tips.</description><pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/building-custom-http-proxy-rust-mixed-os-workflows/index.txt" type="text/plain" length="6504"/></item><item><title>My Emails Are Out Of Control</title><link>https://docodethatmatters.com/emails_out_of_control/</link><guid isPermaLink="true">https://docodethatmatters.com/emails_out_of_control/</guid><description>My emails are out of control. In order to take some of it back, i decided to write some python scripts to help out.</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/emails_out_of_control/index.txt" type="text/plain" length="1221"/></item><item><title>Part 2 of Hacking my Sony A6000 Camera</title><link>https://docodethatmatters.com/hacking-sony-a6000-more/</link><guid isPermaLink="true">https://docodethatmatters.com/hacking-sony-a6000-more/</guid><description>Second part of hacking a Sony A6000 series camera and upgrading data transfer capabilities.  This one is about free apps with time lapse, ftp uploader, and building usb-c power adapter for on the go.</description><pubDate>Tue, 14 May 2024 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/hacking-sony-a6000-more/index.txt" type="text/plain" length="2505"/></item><item><title>Hacking my Sony A6000 Camera Adding Modern Features</title><link>https://docodethatmatters.com/hacking-sony-a6000-for-modernization/</link><guid isPermaLink="true">https://docodethatmatters.com/hacking-sony-a6000-for-modernization/</guid><description>Discover how to modernize your Sony A6000 camera by upgrading its data transfer capabilities and post process images for super high resolution. Join the journey of enhancing your camera&apos;s features in this comprehensive blog post.</description><pubDate>Mon, 17 Jul 2023 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/hacking-sony-a6000-for-modernization/index.txt" type="text/plain" length="7440"/></item><item><title>Linux Wifi Hotspot with PiHole</title><link>https://docodethatmatters.com/linux-wifi-hotspot-usb3/</link><guid isPermaLink="true">https://docodethatmatters.com/linux-wifi-hotspot-usb3/</guid><description>Build a wifi hotspot using hostapd via create_ap project and pihole.</description><pubDate>Thu, 29 Sep 2022 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/linux-wifi-hotspot-usb3/index.txt" type="text/plain" length="600"/></item><item><title>Effective Onboarding for New Engineers</title><link>https://docodethatmatters.com/onboarding-devs/</link><guid isPermaLink="true">https://docodethatmatters.com/onboarding-devs/</guid><description>Learn an effective onboarding strategy for new engineers on a project. Streamline the transition and boost productivity with our structured approach.</description><pubDate>Tue, 05 Jul 2022 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/onboarding-devs/index.txt" type="text/plain" length="1168"/></item><item><title>Parametric Belt Driven 3D Printed Spur Gear for Electric Skateboards</title><link>https://docodethatmatters.com/skateboard-gear/</link><guid isPermaLink="true">https://docodethatmatters.com/skateboard-gear/</guid><description>Update on using a parametric 3D printed gear for my DIY electric skateboard after 100+ hours of riding.</description><pubDate>Mon, 20 Jun 2022 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/skateboard-gear/index.txt" type="text/plain" length="5036"/></item><item><title>Top 5 Nuget Packages</title><link>https://docodethatmatters.com/top-nuget-packages/</link><guid isPermaLink="true">https://docodethatmatters.com/top-nuget-packages/</guid><description>Top nuget packages in dotnet including fluent validation, counting lines, dependency injection, retry logic, and testing/mocking libraries.</description><pubDate>Mon, 07 Mar 2022 08:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/top-nuget-packages/index.txt" type="text/plain" length="3231"/></item><item><title>Automate Cleaning of Air Conditioner Condensate Drain Line</title><link>https://docodethatmatters.com/automate-cleaning-of-air-conditioner-condensate-drain-line/</link><guid isPermaLink="true">https://docodethatmatters.com/automate-cleaning-of-air-conditioner-condensate-drain-line/</guid><description>Flash a smart wifi dual water pump to automate cleaning the air conditioner line.  A common home maintenance task that is easily forgotten to do each month.</description><pubDate>Fri, 31 Dec 2021 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/automate-cleaning-of-air-conditioner-condensate-drain-line/index.txt" type="text/plain" length="3198"/></item><item><title>Common Apps for Devs over Chocolatey</title><link>https://docodethatmatters.com/chocolately-for-devs/</link><guid isPermaLink="true">https://docodethatmatters.com/chocolately-for-devs/</guid><description>Automate software install for a software engineer on Windows</description><pubDate>Sun, 03 Oct 2021 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/chocolately-for-devs/index.txt" type="text/plain" length="1245"/></item><item><title>Local First, Cloud Assisted ☁ MultiSensor</title><link>https://docodethatmatters.com/neosiren-tasmota-local-first-cloud-assisted-iot/</link><guid isPermaLink="true">https://docodethatmatters.com/neosiren-tasmota-local-first-cloud-assisted-iot/</guid><description>Guide for flashing a temperature and humidity multisensor with Tasmota for local network first setup.</description><pubDate>Tue, 27 Apr 2021 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/neosiren-tasmota-local-first-cloud-assisted-iot/index.txt" type="text/plain" length="3827"/></item><item><title>A simple water sprinkler system, for makers!</title><link>https://docodethatmatters.com/automate-sprinkler-with-tasmota/</link><guid isPermaLink="true">https://docodethatmatters.com/automate-sprinkler-with-tasmota/</guid><description>Setup a water sprinkler using open source hardware/software to trigger based on special conditions like time (including sunrise/sunset), humidity, and perhaps temperature.</description><pubDate>Mon, 02 Nov 2020 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/automate-sprinkler-with-tasmota/index.txt" type="text/plain" length="7013"/></item><item><title>Duplicator i3 3d printer upgrade</title><link>https://docodethatmatters.com/3dprinter-duplicator-i3-upgrade/</link><guid isPermaLink="true">https://docodethatmatters.com/3dprinter-duplicator-i3-upgrade/</guid><description>Upgrades for to Duplicator i3 and replacing with a MKS Gen 1.4 Board.</description><pubDate>Mon, 01 Jun 2020 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/3dprinter-duplicator-i3-upgrade/index.txt" type="text/plain" length="1840"/></item><item><title>Power Switch Monitor with an Arduino device</title><link>https://docodethatmatters.com/power-switch-monitor/</link><guid isPermaLink="true">https://docodethatmatters.com/power-switch-monitor/</guid><description>Automate smart devices using an existing light switch and power switch monitor with an Arduino compatible device with wifi.</description><pubDate>Mon, 01 Jun 2020 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/power-switch-monitor/index.txt" type="text/plain" length="3809"/></item><item><title>Save JSON Objects to AWS S3 with Google Recaptcha</title><link>https://docodethatmatters.com/json-to-s3-with-google-recaptcha/</link><guid isPermaLink="true">https://docodethatmatters.com/json-to-s3-with-google-recaptcha/</guid><description>Save JSON objects to AWS S3 using Google Recaptcha in a AWS Lambda function.</description><pubDate>Sat, 19 Oct 2019 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/json-to-s3-with-google-recaptcha/index.txt" type="text/plain" length="1050"/></item><item><title>Research on Bluetooth Proximity</title><link>https://docodethatmatters.com/research-bluetooth-proximity/</link><guid isPermaLink="true">https://docodethatmatters.com/research-bluetooth-proximity/</guid><description>Research on bluetooth proximity using open tools such as hcitool, l2ping, and hcidump</description><pubDate>Sat, 19 Oct 2019 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/research-bluetooth-proximity/index.txt" type="text/plain" length="1470"/></item><item><title>Software Engineering Lessons</title><link>https://docodethatmatters.com/software-engineering-lessons/</link><guid isPermaLink="true">https://docodethatmatters.com/software-engineering-lessons/</guid><description>In the field notes and lessons learned as a software engineer.</description><pubDate>Tue, 23 Oct 2018 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/software-engineering-lessons/index.txt" type="text/plain" length="13554"/></item><item><title>Yet Another Garage Door Opener</title><link>https://docodethatmatters.com/yet-another-garage-door-opener/</link><guid isPermaLink="true">https://docodethatmatters.com/yet-another-garage-door-opener/</guid><description>Just another garage door opener using a raspberry pi</description><pubDate>Fri, 11 May 2018 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/yet-another-garage-door-opener/index.txt" type="text/plain" length="4422"/></item><item><title>ASP.NET XSS protection</title><link>https://docodethatmatters.com/asp-net-xss-protection/</link><guid isPermaLink="true">https://docodethatmatters.com/asp-net-xss-protection/</guid><description>Securing an ASP.NET WebApi for PCI application tests is no trivial matter.  It can take weeks of planning and the app to be analyzed.  After reviewing OWASP and other related XSS sites, the web.config was the first to be updated to prevent against attacks (MIIM &amp; XSS).</description><pubDate>Wed, 06 Sep 2017 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/asp-net-xss-protection/index.txt" type="text/plain" length="1755"/></item><item><title>Raspberry Pi Bluetooth Proximity Detector - A Simple Guide</title><link>https://docodethatmatters.com/raspberry-pi-bluetooth-proximity/</link><guid isPermaLink="true">https://docodethatmatters.com/raspberry-pi-bluetooth-proximity/</guid><description>Build a Bluetooth proximity detector using Raspberry Pi. Tutorial shows how to detect nearby Bluetooth devices without pairing.</description><pubDate>Fri, 26 May 2017 00:00:00 GMT</pubDate><enclosure url="https://docodethatmatters.com/raspberry-pi-bluetooth-proximity/index.txt" type="text/plain" length="758"/></item></channel></rss>