<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bytes &amp; Coffee</title><link>https://blog.bytes.coffee/</link><description>Notes, links, and longer thoughts.</description><atom:link href="https://blog.bytes.coffee/feeds/all.rss.xml" rel="self"/><lastBuildDate>Wed, 30 Sep 2026 12:00:00 -0700</lastBuildDate><item><title>Bad Decisions: a joke that got multiplayer</title><link>https://blog.bytes.coffee/2026/09/bad-decisions/</link><description>&lt;p&gt;It started as a joke about a picture on Discord. Two minutes short of thirteen days later, it had real-time multiplayer on the web and a terminal client. Here's what Bad Decisions is, how it works, and how I built it with two AI coding agents.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael</dc:creator><pubDate>Wed, 30 Sep 2026 12:00:00 -0700</pubDate><guid>tag:blog.bytes.coffee,2026-09-30:/2026/09/bad-decisions/</guid><category>Blog</category><category>bad-decisions</category><category>python</category><category>fastapi</category><category>claude</category><category>codex</category><category>textual</category></item></channel></rss>