<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>Norsolia blog</title><link>https://www.norsolia.com/blog/</link><description>Notes from the Norsolia studio.</description><language>en</language><item><title>One session cookie and nothing else</title><link>https://www.norsolia.com/blog/one-session-cookie/</link><guid>https://www.norsolia.com/blog/one-session-cookie/</guid><pubDate>Wed, 28 Oct 2026 09:00:00 +0000</pubDate><description>One strictly necessary session cookie, a theme flag in your browser, and no trackers. That is the entire cookie story.</description></item><item><title>Reading an MP3's length from its frames</title><link>https://www.norsolia.com/blog/reading-mp3-duration/</link><guid>https://www.norsolia.com/blog/reading-mp3-duration/</guid><pubDate>Fri, 02 Oct 2026 09:00:00 +0000</pubDate><description>We read MP3 length straight from the MPEG frame headers. An M4A container does not expose it the same way, so we ask you.</description></item><item><title>Moving a podcast without losing subscribers</title><link>https://www.norsolia.com/blog/moving-without-losing-subscribers/</link><guid>https://www.norsolia.com/blog/moving-without-losing-subscribers/</guid><pubDate>Thu, 10 Sep 2026 09:00:00 +0000</pubDate><description>Subscribers follow the feed. A redirect from the old feed and stable guids move them across without anyone re-subscribing.</description></item><item><title>Why we count plays, not listeners</title><link>https://www.norsolia.com/blog/count-plays-not-listeners/</link><guid>https://www.norsolia.com/blog/count-plays-not-listeners/</guid><pubDate>Thu, 20 Aug 2026 09:00:00 +0000</pubDate><description>The gateway hides client IPs, so we count a de-duplicated play and say so, instead of inventing a unique-listener number.</description></item></channel></rss>
