<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Open-Source on cttech.io</title><link>https://cttech.io/tags/open-source/</link><description>Recent content in Open-Source on cttech.io</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 03 Sep 2026 07:30:00 +0000</lastBuildDate><atom:link href="https://cttech.io/tags/open-source/index.xml" rel="self" type="application/rss+xml"/><item><title>Bitwarden Shipped My Fix</title><link>https://cttech.io/blog/bitwarden-shipped-my-fix/</link><pubDate>Thu, 03 Sep 2026 07:30:00 +0000</pubDate><guid>https://cttech.io/blog/bitwarden-shipped-my-fix/</guid><description>&lt;p&gt;Back in August I wrote about my self hosted Bitwarden server falling over during a routine update. If you missed it, &lt;a href="https://cttech.io/blog/fixing-a-bitwarden-bug-with-ai/"&gt;that post is here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Quick recap: the update died about halfway through, after it had stopped all my containers but before it had touched any of my data. The stack trace pointed into Bitwarden&amp;rsquo;s own source rather than anything I had misconfigured. Their setup helper was writing to a single &lt;code&gt;StringBuilder&lt;/code&gt; from two threads at once, one handling normal output and one handling errors. Most of the time those two don&amp;rsquo;t collide. On that particular version they collided nearly every run, which is why the update failed so reliably for me and worked fine for plenty of other people. The fix was a &lt;code&gt;lock&lt;/code&gt; around both handlers, about four lines, and it was merged into &lt;code&gt;main&lt;/code&gt; six days later.&lt;/p&gt;</description></item><item><title>Headless Game Streaming on Linux with Sunshine</title><link>https://cttech.io/blog/headless-game-streaming-linux/</link><pubDate>Thu, 27 Aug 2026 15:00:00 +0000</pubDate><guid>https://cttech.io/blog/headless-game-streaming-linux/</guid><description>&lt;h2 id="background"&gt;Background&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve been dabbling with gaming on Linux for many years, before the launch of the Steam Deck. However, competitive shooters and their anti-cheat systems meant my &amp;ldquo;main&amp;rdquo; gaming system pretty much always stayed on Windows.&lt;/p&gt;
&lt;p&gt;However, as I&amp;rsquo;ve been getting older and getting more responsibilities I have had less and less time for that type of gaming. Nowadays I am leaning more into story driven, single player experiences that I can pick up and put down whenever I happen to have the time. And along with Windows becoming more and more frustrating to use, switching my PC over to Linux has finally reached a tipping point.&lt;/p&gt;</description></item><item><title>Using AI to Find and Fix a Real Bug in Bitwarden</title><link>https://cttech.io/blog/fixing-a-bitwarden-bug-with-ai/</link><pubDate>Mon, 17 Aug 2026 10:00:00 +0000</pubDate><guid>https://cttech.io/blog/fixing-a-bitwarden-bug-with-ai/</guid><description>&lt;p&gt;I run my own self-hosted &lt;a href="https://bitwarden.com/"&gt;Bitwarden&lt;/a&gt; server. It holds every password I have, so I keep it patched and don&amp;rsquo;t take chances with it. A couple of weeks ago, gone 9pm, about to call it a day, a routine update went sideways: a crash, a couple of hours hunched over a stack trace in someone else&amp;rsquo;s source code, and eventually a pull request against Bitwarden&amp;rsquo;s official repository fixing a genuine bug.&lt;/p&gt;</description></item></channel></rss>