<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Kai Sing&apos;s Blog</title><description>Notes on things I learn while building.</description><link>https://blog.kaising.dev/</link><item><title>What’s inside a failed download file? Recovering data from a `.crdownload`</title><link>https://blog.kaising.dev/2026/07/recovering-data-from-crdownload/</link><guid isPermaLink="true">https://blog.kaising.dev/2026/07/recovering-data-from-crdownload/</guid><description>A half-finished browser download brings me a journey out of curiousity, learned how ZIPs are structured, and recovered 13 playable MP3s out of a truncated archive.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Why this blog exists</title><link>https://blog.kaising.dev/2026/07/why-this-blog-exists/</link><guid isPermaLink="true">https://blog.kaising.dev/2026/07/why-this-blog-exists/</guid><description>I started writing here to keep a record of what I pick up while building so the lessons don&apos;t disappear after the task is done.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item></channel></rss>