RoobLi

  • Essays
    • Pin the key you will still hold next year
    • The @ is the easy part
    • Eight CA keys that fit in one byte
    • An unchecked todo
    • Why America builds productivity tools
    • Apple product design as physics
    • Keyboard shortcut systems
    • You can finish a CUDA course without a GPU
  • Series
    • Kernels from zero
      • 01A kernel that is correct
      • 02Coalescing: what 32 threads ask of memory
      • 03Shared memory and the bank conflict
      • 04Occupancy and the tile shape
      • 05Measuring it for real, with Nsight Compute
  • Projects
    • Noto
    • md
    • Typora Plugin Lite
    • Claude-like Theme for Typora
    • tmux-radar
    • ccli
    • CCometixLine
    • CD Design Skills
    • TLS Companion
    • CUDA C++ Course
  • Notes
    • Every old URL still worksSep 28
    • Reading time is counted, not guessedSep 28
    • The sidebar now knows what it listsSep 28
  • Posts
    • October 202612
    • September 202619
    • August 20262
    • July 20261
    • March 20264
  • About

RoobLi/Posts

Posts

Small things as they happen, and a dated record of everything else that changes here: essays published, projects released, pages revised. Newest first.

Posts
03
Changes
35
Since
Mar 11, 2026
RSS
posts/index.xml

October 202612 entries

Oct 24Sat

  1. Essay 008

    Pin the key you will still hold next year

    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.

    34 min · 中文

  2. Essay 007

    The @ is the easy part

    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.

    29 min · 中文

Oct 22Thu

  1. Ten projects, shown working

    The project pages were overviews of about 300 words. Each is now a proper introduction: who the tool is for, its features shown running, a real session, how it is built and where it stops. Every number comes from the project’s own tests, benchmarks or releases. Start with Noto, TLS Companion or tmux-radar; the rest are on the projects page.

    Eight CA keys that fit in one byte is rewritten at three times its length, with certificate anatomy from the real certificates, ECDSA worked by hand on a 19-point curve, two new figures and labs to run yourself. It is also in Chinese.

    Screenshots are stored at twice their display size, so they stay sharp on dense screens, and a click opens one full screen: arrows or a swipe page through the rest, a click or pinch zooms in, Escape or a drag down puts it back.

    This timeline now records every change here, not only posts. The filter above shows one kind at a time.

    Permalink · site

  2. Essay 006

    Eight CA keys that fit in one byte

    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.

    67 min · 中文

  3. TLS Companion on step 3 of the TLS 1.3 handshake, with the step list, the sequence diagram, the ClientHello fields and hex, and the Go function that builds the X25519MLKEM768 key share

    Update

    TLS Companion

    An English edition, with a test that keeps it in step with the Chinese.

  4. The editorial handbook template from cd-html-design, with chapter navigation on the left and a dark cover panel

    Update

    CD Design Skills

    The whole repository is now in English.

  5. Typora with the Claude-like light theme. On the left the file tree is scrolled; four ancestor folders stay pinned at the top, and the open file, typora-theme-showcase.md, is marked with an accent bar. On the right a quote is followed by five GitHub-style alerts, Note, Tip, Important, Warning and Caution, each in its own muted colour.

    Update

    Claude-like Theme for Typora

    The README and screenshots are in English, with the Chinese README kept beside them.

Oct 21Wed

  1. The ccli viewer: a session's turns with their cost on the left, and turn 3 on the right with the prompt, the tool calls and the reply

    Launch

    ccli

    v0.1.0, installable with go install.

  2. Update

    md

    v0.1.23.

Oct 17Sat

  1. TLS Companion on step 3 of the TLS 1.3 handshake, with the step list, the sequence diagram, the ClientHello fields and hex, and the Go function that builds the X25519MLKEM768 key share

    Launch

    TLS Companion

    The site goes live with five recorded handshakes.

  2. Noto with the file rail open on a rate limiter design note. The caret is in a paragraph, so only that paragraph shows its bold markers; the callout, table and display math above and below stay formatted.

    Update

    Noto

    v0.0.3, the first release outside alpha, with builds for macOS, Windows and Linux.

Oct 12Mon

  1. Noto with the file rail open on a rate limiter design note. The caret is in a paragraph, so only that paragraph shows its bold markers; the callout, table and display math above and below stay formatted.

    Update

    Noto

    An 8 MB note of 43,970 blocks opens in 1.25 s and saves in 0.45 s. On 29 September it took 10 s and 3 s.

September 202619 entries

Sep 30Wed

  1. 苹果的 container:一个容器一台虚拟机

    apple/containergithub.com

    在 Mac 上跑 Linux 容器,Docker Desktop 的做法是起一台共享的 Linux 虚拟机,把所有容器都塞进去。苹果开源的 container 反过来:每个容器一台轻量 Linux 虚拟机,直接用 Virtualization.framework 起,不另带 VMM 二进制。到 9 月 30 日它在 GitHub 上已有约 5 万 star。

    区别一句话就能说清:容器假在视图和配额,microVM 假在硬件和客户机内核。每个工作负载一份内核,隔离边界就不再是「大家共用一个内核」。

    代价也跟着来。内核要自己带,仓库里有一份为快速启动裁过的配置,内核从「宿主机碰巧是什么」变成了你要维护的东西。它的定位是开发用的笔记本,不是机房;服务器上要把 OCI 镜像放进 microVM,还是看 Kata 或 libkrun。

    Permalink · virtualization · macos

Sep 29Tue

  1. DoomFly, and the review its author wrote of itgithub.com

    A fruit fly’s wiring diagram has been hooked up to Doom. I didn’t run DoomFly itself, only the pieces under it, and the most useful thing in the project is the author’s own review. The full male CNS connectome (about 166,000 neurons) really does drive the controls: cut every edge and the control disappears. But the baseline model has fixed weights, its controls stay active when the screen is painted black, and the actions are read from four descending neurons with fixed gains. A newer experimental mode adds a plasticity rule on about 4,200 connections; the author reports that it still fails the visual, conditioning and survival checks.

    So the honest sentence is the author’s: a full connectome, simulated with approximate dynamics, drives an engineered Doom interface. A character that moves is not a fly that understands the game.

    The part underneath is better news than the headline. The male CNS data sits in a public bucket with no account needed, and a whole-brain run of the female FlyWire brain took 14 seconds on a CPU, compile included.

    Permalink · neuroscience · simulation

Sep 28Mon

  1. Essay 005

    An unchecked todo

    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.

    7 min · 中文

  2. Ep 03 · Kernels from zero

    Shared memory and the bank conflict

    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.

    5 min

  3. Ep 02 · Kernels from zero

    Coalescing: what 32 threads ask of memory

    A warp'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.

    4 min

  4. Ep 01 · Kernels from zero

    A kernel that is correct

    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.

    4 min

  5. Note

    Every old URL still works

    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' old item IDs, so readers are not shown them again.

    2 min

  6. Note

    Reading time is counted, not guessed

    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.

    2 min

  7. Note

    The sidebar now knows what it lists

    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' progress, a note's date and a project's status.

    2 min

Sep 15Tue

  1. Essay 004

    Why America builds productivity tools

    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.

    34 min · 中文

Sep 12Sat

  1. Typora on macOS with the Plugin Center open over a note called Build pipeline. The left column lists plugins such as Code Viewer, Fence Enhance, Quick Open and Markdown Padding, each with a version and an ON switch; the right column shows Code Viewer's settings as switches; the footer lists every plugin hotkey.

    Update

    Typora Plugin Lite

    Theme Pack keeps the Claude-like theme in Typora's own themes folder and never switches the current theme.

  2. Typora with the Claude-like light theme. On the left the file tree is scrolled; four ancestor folders stay pinned at the top, and the open file, typora-theme-showcase.md, is marked with an accent bar. On the right a quote is followed by five GitHub-style alerts, Note, Tip, Important, Warning and Caution, each in its own muted colour.

    Update

    Claude-like Theme for Typora

    Light and dark are assembled from one shared stylesheet, checked by a contract test.

Sep 11Fri

  1. Essay 003

    Apple product design as physics — springs, squircles, and hinge torque

    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.

    24 min

  2. Essay 002

    Keyboard shortcut systems — design, history, and a shared grammar

    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.

    7 min · 中文

  3. Essay 001

    You can finish a CUDA course without a GPU — if the course is designed for it

    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.

    10 min

  4. The CUDA C++ Course home page, with the syllabus in the sidebar, the headline "Take CUDA C++ from syntax to hardware intuition", a vector-add kernel and the counts of lessons, reading time, labs and samples

    Launch

    CUDA C++ Course

    Fifteen lessons and four browser labs go live, in English and Chinese.

  5. Launch

    md

    v0.1.0, the first tag.

Sep 5Sat

  1. Noto with the file rail open on a rate limiter design note. The caret is in a paragraph, so only that paragraph shows its bold markers; the callout, table and display math above and below stay formatted.

    Launch

    Noto

    v0.0.1, the first tagged build.

Sep 2Wed

  1. Typora on macOS with the Plugin Center open over a note called Build pipeline. The left column lists plugins such as Code Viewer, Fence Enhance, Quick Open and Markdown Padding, each with a version and an ON switch; the right column shows Code Viewer's settings as switches; the footer lists every plugin hotkey.

    Update

    Typora Plugin Lite

    Remote control keeps a session for every Typora window and follows the one in focus.

August 20262 entries

Aug 12Wed

  1. Typora on macOS with the Plugin Center open over a note called Build pipeline. The left column lists plugins such as Code Viewer, Fence Enhance, Quick Open and Markdown Padding, each with a version and an ON switch; the right column shows Code Viewer's settings as switches; the footer lists every plugin hotkey.

    Update

    Typora Plugin Lite

    v0.1.3, with steadier navigation, a responsive layout and local automation.

Aug 11Tue

  1. The tmux-radar Agents board: seven agent panes ordered by state, with a live preview of a Claude Code pane that waits for approval to run go test

    Update

    tmux-radar

    v0.1.4.

July 20261 entry

Jul 3Fri

  1. The tmux-radar Agents board: seven agent panes ordered by state, with a live preview of a Claude Code pane that waits for approval to run go test

    Launch

    tmux-radar

    v0.1.0, installable with TPM.

March 20264 entries

Mar 26Thu

  1. Typora with the Claude-like light theme. On the left the file tree is scrolled; four ancestor folders stay pinned at the top, and the open file, typora-theme-showcase.md, is marked with an accent bar. On the right a quote is followed by five GitHub-style alerts, Note, Tip, Important, Warning and Caution, each in its own muted colour.

    Update

    Claude-like Theme for Typora

    v1.2.2.

Mar 25Wed

  1. Typora on macOS with the Plugin Center open over a note called Build pipeline. The left column lists plugins such as Code Viewer, Fence Enhance, Quick Open and Markdown Padding, each with a version and an ON switch; the right column shows Code Viewer's settings as switches; the footer lists every plugin hotkey.

    Launch

    Typora Plugin Lite

    v0.0.1.

Mar 19Thu

  1. The CCometixLine configurator: a six-line preview, the theme list, the sixteen segments with Tools selected, and the Tools segment's settings

    Launch

    CCometixLine

    Forked from Haleclipse/CCometixLine.

Mar 11Wed

  1. Typora with the Claude-like light theme. On the left the file tree is scrolled; four ancestor folders stay pinned at the top, and the open file, typora-theme-showcase.md, is marked with an accent bar. On the right a quote is followed by five GitHub-style alerts, Note, Tip, Important, Warning and Caution, each in its own muted colour.

    Launch

    Claude-like Theme for Typora

    v1.0.0.

3 items under this folder.

  • Oct 22, 2026

    Ten projects, shown working

  • Sep 30, 2026

    苹果的 container:一个容器一台虚拟机

  • Sep 29, 2026

    A fruit fly’s wiring diagram has been hooked up to Doom


RoobLi · GitHub · roobli · RSS · Built with Quartz