<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jiahang Zhang — Notebook</title><link>https://zhangjiahang.com/notes/</link><description>Engineering notes from the workbench.</description><language>en</language><atom:link href="https://zhangjiahang.com/feed.xml" rel="self" type="application/rss+xml"/><item><title>A rendering budget for large diffs</title><link>https://zhangjiahang.com/notes/a-rendering-budget/</link><guid isPermaLink="true">https://zhangjiahang.com/notes/a-rendering-budget/</guid><description>A ten-thousand-line file is a data problem. The browser only needs to paint a small part of it.</description></item><item><title>The state behind a good interruption</title><link>https://zhangjiahang.com/notes/the-state-behind-an-interruption/</link><guid isPermaLink="true">https://zhangjiahang.com/notes/the-state-behind-an-interruption/</guid><description>What happens to a podcast when a question becomes a conversation? The answer starts with ownership of state.</description></item><item><title>Motion that knows when to rest</title><link>https://zhangjiahang.com/notes/motion-that-rests/</link><guid isPermaLink="true">https://zhangjiahang.com/notes/motion-that-rests/</guid><description>A small canvas study, a folding surface, and the decision to stop drawing when nothing is changing.</description></item></channel></rss>