<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>RoobLi</title>
    <link>https://www.roobli.org/</link>
    <description>Essays, series, projects and notes on RoobLi</description>
    <language>en</language>
    <atom:link href="https://www.roobli.org/index.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Pin the key you will still hold next year</title>
      <link>https://www.roobli.org/essays/certificate-pinning</link>
      <guid isPermaLink="true">https://www.roobli.org/essays/certificate-pinning</guid>
      <description>Certificate pinning narrows an app from trusting every CA on the device to trusting keys it names in advance. Nine certificates against an iOS 26.5 simulator show what each kind of pin stops and what it breaks; the rest is why the web gave pinning up, and how to rotate pins without locking out your own users.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The @ is the easy part</title>
      <link>https://www.roobli.org/essays/agent-to-agent</link>
      <guid isPermaLink="true">https://www.roobli.org/essays/agent-to-agent</guid>
      <description>What it would take for one coding agent to hand work to another, from three tools I built and from the personal agents that got their own addresses this year: who a name points to, the chain of states hidden behind sent, authority that only narrows, and results you can check.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Eight CA keys that fit in one byte</title>
      <link>https://www.roobli.org/essays/emudhra-weak-keys</link>
      <guid isPermaLink="true">https://www.roobli.org/essays/emudhra-weak-keys</guid>
      <description>In October 2026, eight intermediate CA keys trusted by every major platform turned out to be numbers below 256. How certificates, key ceremonies and ECDSA fit together, worked by hand on a 19-point curve; how the weak keys got in; how the web shut them out; and the check that would have stopped it.</description>
      <pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>TLS Companion</title>
      <link>https://www.roobli.org/projects/tls-companion</link>
      <guid isPermaLink="true">https://www.roobli.org/projects/tls-companion</guid>
      <description>A workbench that replays real Go crypto/tls handshakes step by step, with the bytes, the key schedule, the Go source that ran and the RFCs kept side by side.</description>
      <pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>ccli</title>
      <link>https://www.roobli.org/projects/ccli</link>
      <guid isPermaLink="true">https://www.roobli.org/projects/ccli</guid>
      <description>A terminal tool that shows what every Claude Code, Codex, Pi and Cursor session on your machine used and cost, turn by turn, across several accounts.</description>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A kernel that is correct</title>
      <link>https://www.roobli.org/series/kernels-from-zero/01-a-correct-kernel</link>
      <guid isPermaLink="true">https://www.roobli.org/series/kernels-from-zero/01-a-correct-kernel</guid>
      <description>Before a kernel is fast it has to be right. A naive transpose, a copy kernel that sets the ceiling, a check that compares every element exactly, and the one number every later episode reports.</description>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>An unchecked todo</title>
      <link>https://www.roobli.org/essays/an-unchecked-todo</link>
      <guid isPermaLink="false">https://www.roobli.org/writing/an-unchecked-todo</guid>
      <description>A reminder I set for myself, an essay scolding the young for their philosophy habit, and a message calling someone a “desperate illiterate.” I looked at the three of them together for a long time and came away without a conclusion.</description>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Coalescing: what 32 threads ask of memory</title>
      <link>https://www.roobli.org/series/kernels-from-zero/02-coalescing</link>
      <guid isPermaLink="true">https://www.roobli.org/series/kernels-from-zero/02-coalescing</guid>
      <description>A warp&apos;s 32 loads are served in as few 32-byte sectors as their addresses allow. Contiguous floats need 4; floats a row apart need 32. A transpose can make its reads contiguous or its writes, but not both.</description>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Every old URL still works</title>
      <link>https://www.roobli.org/notes/every-old-url-still-works</link>
      <guid isPermaLink="true">https://www.roobli.org/notes/every-old-url-still-works</guid>
      <description>Essays moved from /writing/ to /essays/ and projects from /works/ to /projects/. Every earlier address still leads to its page in one hop, and the feed keeps the moved pages&apos; old item IDs, so readers are not shown them again.</description>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Reading time is counted, not guessed</title>
      <link>https://www.roobli.org/notes/reading-time-is-counted</link>
      <guid isPermaLink="true">https://www.roobli.org/notes/reading-time-is-counted</guid>
      <description>The minutes on every page come from the page itself: words counted from the rendered text, code and math included, at 200 a minute, or Han characters at 400 a minute on Chinese pages.</description>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Shared memory and the bank conflict</title>
      <link>https://www.roobli.org/series/kernels-from-zero/03-shared-memory-tiles</link>
      <guid isPermaLink="true">https://www.roobli.org/series/kernels-from-zero/03-shared-memory-tiles</guid>
      <description>Staging a 32 × 32 tile in shared memory makes both the reads and the writes contiguous. Reading the tile down a column then hits one bank 32 times, and one column of padding spreads it across all 32.</description>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The sidebar now knows what it lists</title>
      <link>https://www.roobli.org/notes/the-sidebar-knows-what-it-lists</link>
      <guid isPermaLink="true">https://www.roobli.org/notes/the-sidebar-knows-what-it-lists</guid>
      <description>The tree beside every page used to be built in the browser from an index of titles and links. It is now rendered with the page, from the same data as the index, so it can show a series&apos; progress, a note&apos;s date and a project&apos;s status.</description>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why America builds productivity tools</title>
      <link>https://www.roobli.org/essays/why-america-builds-productivity-tools</link>
      <guid isPermaLink="false">https://www.roobli.org/writing/why-america-builds-productivity-tools</guid>
      <description>Not ‘America loves Todoist.’ English-speaking professional strata, expensive labor, and ARR capital built a symptom market: micro-control for sale, responsibility sunk onto the self.</description>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Apple product design as physics — springs, squircles, and hinge torque</title>
      <link>https://www.roobli.org/essays/apple-design-physics</link>
      <guid isPermaLink="false">https://www.roobli.org/writing/apple-design-physics</guid>
      <description>Rubber-band bounce, continuous corners, and one-handed MacBook open are not taste. They are damping ratios, G2 curvature, and rigid-body torque inequalities you can model.</description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>CUDA C++ Course</title>
      <link>https://www.roobli.org/projects/cuda-cpp-course</link>
      <guid isPermaLink="false">https://www.roobli.org/works/cuda-cpp-course</guid>
      <description>Fifteen lessons and four in-browser GPU labs. English default, Chinese at /zh/. Finish without a local GPU; nine CUDA samples when you have one.</description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Keyboard shortcut systems — design, history, and a shared grammar</title>
      <link>https://www.roobli.org/essays/keyboard-shortcut-systems</link>
      <guid isPermaLink="false">https://www.roobli.org/writing/keyboard-shortcut-systems</guid>
      <description>From Emacs prefixes and vi modes to Spotlight, command palettes, and Cmd+K: why power users treat keybindings as a namespace, and how KeyCombiner turns that into a practice system.</description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>md</title>
      <link>https://www.roobli.org/projects/md</link>
      <guid isPermaLink="true">https://www.roobli.org/projects/md</guid>
      <description>A Markdown engine that splits a document into blocks with exact positions, so an editor re-reads only what changed and saves without rewriting the rest.</description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>You can finish a CUDA course without a GPU — if the course is designed for it</title>
      <link>https://www.roobli.org/essays/cuda-course-without-a-gpu</link>
      <guid isPermaLink="false">https://www.roobli.org/writing/cuda-course-without-a-gpu</guid>
      <description>What “no GPU required” actually covers, what each of the four browser labs deliberately cuts, and when you still need a real card and Nsight.</description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Noto</title>
      <link>https://www.roobli.org/projects/noto</link>
      <guid isPermaLink="true">https://www.roobli.org/projects/noto</guid>
      <description>A desktop Markdown editor where you type into the formatted page, and saving leaves every byte you did not touch exactly as it was.</description>
      <pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>CD Design Skills</title>
      <link>https://www.roobli.org/projects/cd-design-skills</link>
      <guid isPermaLink="true">https://www.roobli.org/projects/cd-design-skills</guid>
      <description>Two agent skills that give Claude Code and Codex a design method: one routes product and interface work through the right depth of thinking, one writes dense standalone HTML documents.</description>
      <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>tmux-radar</title>
      <link>https://www.roobli.org/projects/tmux-radar</link>
      <guid isPermaLink="true">https://www.roobli.org/projects/tmux-radar</guid>
      <description>A window-first tmux switcher that also tells you which coding-agent pane needs you while you are looking somewhere else.</description>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Typora Plugin Lite</title>
      <link>https://www.roobli.org/projects/typora-plugin-lite</link>
      <guid isPermaLink="true">https://www.roobli.org/projects/typora-plugin-lite</guid>
      <description>A small plugin system for Typora that also works on macOS, where Typora is a native WebKit app rather than Electron, with a loopback control surface that scripts and agents can drive.</description>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>CCometixLine</title>
      <link>https://www.roobli.org/projects/ccometixline</link>
      <guid isPermaLink="true">https://www.roobli.org/projects/ccometixline</guid>
      <description>A fast Claude Code statusline in Rust, extended with seven more segments, Codex, Kimi and pi support, and usage read per account.</description>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Claude-like Theme for Typora</title>
      <link>https://www.roobli.org/projects/typora-claude-like-theme</link>
      <guid isPermaLink="true">https://www.roobli.org/projects/typora-claude-like-theme</guid>
      <description>A light and dark Typora theme in warm paper tones with one accent colour, carried through the file tree, the outline, code, sidenotes and exported pages.</description>
      <pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
