Recently Written · git

recentlywritten

my writings (done recently)

git clone https://github.com/equwal/recentlywritten

Log | Files | Refs


commit 0e46e051ff9df7f4b6f656894039ce598e0d3dd3
Spenser Truex <truex@equwal.com>
2026-09-22 15:51:45 -0700

Remove irc recover pages (#8)

* remove the IRC bouncer offer

The IRC bouncer does not run any more. No process listens on port 6969.
Remove the Stripe payment link from the contact page, and delete the two
posts that offer the service.

* recover the La Cervido page

The Wayback Machine has one capture of equwal.com/cervido, from
2025-02-18. The page is story 16 of Budhismaj Rakontoj, and the
budhismaj-rakontoj page links to it. Its audio files were not
captured, so MISSING-ASSETS.md lists them.

* add sacc to the git mirror

equwal/sacc is a new mirror of git://bitreich.org/sacc. Regenerate git/
with stagit-gen.py so that the mirror lists sacc. The run also adds the
new public repo ideamine and refreshes pages for repos that changed.
Line endings stay LF and file modes stay 644, as in the earlier mirror.

* Regenerate the git mirror with the newest repos and commits

Run stagit-gen.py against the equwal GitHub account. The mirror
gains 18 repos pushed since the last run: assistkey, awesome-rebind,
deploy-handoff, equwal, ink-dim, ink-recents, ink-update, rebind,
sbm-android, sbm-extension, sbm-suckless, sbm-sync, subplz-web,
subread-android, subread-dictionary, subread-extension,
subread-overlay, and subread.koplugin. Existing repos with new
commits since the last run get updated log, file, and commit pages.

* Add a YouTube page and link it from the nav and the lair page

Add pages/youtube.md, linking both channels: @therealtruex (the
original language-learning channel) and @muhlanguages (languages and
AI, current). Add a youtube link to the site nav, next to git, and
an entry in the lair page's project list, matching how the git
mirror link was added. Rebuild site/ with build.sh.

* Add an About page with the full project catalog

The About page lists each site, project suite, tool, and upstream
contribution with a one-line description. The Projects page gets the
same catalog, so that Search Console keeps its crawl path to every
repository. The nav now links the About page.
 build.sh                                           |   1 +
 index.html                                         |   1 +
 pages/about.md                                     | 120 ++++++++
 pages/projects.md                                  | 138 ++++++---
 site/25-noveloj.html                               |   1 +
 site/3000-Vocab-Flashcards-3k-Final-Solution.html  |   1 +
 site/A-new-way-to-release-code.html                |   1 +
 ...-All-Japanese-All-The-Time-Mirror-at-xm0co.html |   1 +
 site/Add-my-RSS-feed-to-your-feed-reader.html      |   1 +
 site/Brazil.html                                   |   1 +
 site/CSV.html                                      |   1 +
 site/Dont-Self-Host-Self-Locally.html              |   1 +
 site/Dont-use-make-uninstall.html                  |   1 +
 site/Fish-Based-Navigation.html                    |   1 +
 site/Forthe.html                                   |   1 +
 ...Generate-your-OWN-internet-web-site-easily.html |   1 +
 site/Get-on-mailing-lists-like-it-is-1989.html     |   1 +
 site/Git-extra-worktrees-ROCK.html                 |   1 +
 site/Hackermen-neomutt-config.html                 |   1 +
 site/Hey-kids-want-to-learn-the-unix-way.html      |   1 +
 site/How-Japanese-Aquire-Books.html                |   1 +
 .../How-to-Beat-Emacs-M-x-dunnet-in-5-minutes.html |   1 +
 ...Learn-a-Language-According-to-The-Internet.html |   1 +
 ...anage-100000-digital-books-in-15-languages.html |   1 +
 site/How-to-take-notes-not-self-help-advice.html   |   1 +
 site/Install-Anki.html                             |   1 +
 site/Install-Nix-on-Gentoo.html                    |   1 +
 site/Learn-Kanji-in-a-Fortnight.html               |   1 +
 site/Mailing-list-in-one-line.html                 |   1 +
 ...Minimal-nvim-config-optional-AI-slop-enjoy.html |   1 +
 ...arning-for-multiple-languages-PREORDER-NOW.html |   1 +
 ...bout-polyglot-language-learning-LISTEN-NOW.html |   1 +
 site/Newport.html                                  |   1 +
 site/Nixtoo-Genux-released.html                    |   1 +
 site/POSIX-pipes-for-Lisp.html                     |   1 +
 ...Podcast-Now-Goes-on-The-YouTubecom-Website.html |   1 +
 ...-Long-Live-The-Queue-Antennapod-shill-post.html |   1 +
 ...n-analogy-for-proper-AI-Driven-Development.html |   1 +
 site/SL--Dependency-Language.html                  |   1 +
 site/Start-emailing-your-patches-GUIDE.html        |   1 +
 ...-Macros-in-Alexandria-Code-Revival-Project.html |   1 +
 ...n-android-into-247-portable-polyglot-radio.html |   1 +
 ...nglo-your-literacy-materials-and-your-life.html |   1 +
 ...stem-for-many-instances-of-simple-programs.html |   1 +
 ...YOU-need-NixOS-on-your-desktop-and-servers.html |   1 +
 site/WhyHow-to-host-a-bunch-of-crap-locally.html   |   1 +
 site/about.html                                    | 316 +++++++++++++++++++++
 site/aintitinit-Claude-INITIALIZER.html            |   1 +
 site/alt-hacks-zips.html                           |   1 +
 site/alt-hacks.html                                |   1 +
 site/biblio.html                                   |   1 +
 site/books.html                                    |   1 +
 site/budhismaj-rakontoj.html                       |   1 +
 site/call.html                                     |   1 +
 site/cervido.html                                  |   1 +
 site/dmenu-scripts-repo-released.html              |   1 +
 site/donate.html                                   |   1 +
 site/esperantaj-artikoloj.html                     |   1 +
 site/esperantaj-audoj.html                         |   1 +
 site/esperantaj-libroj.html                        |   1 +
 site/esperantaj-noveloj.html                       |   1 +
 site/esperantaj-vortaroj.html                      |   1 +
 site/esperanto-three-steps.html                    |   1 +
 site/esperanto.html                                |   1 +
 site/glider.html                                   |   1 +
 site/iilchat-setup-too-easy.html                   |   1 +
 site/index.html                                    |   2 +
 site/install-9front.html                           |   1 +
 site/install-gentoo-hints.html                     |   1 +
 site/irc-relay.html                                |   1 +
 site/key.html                                      |   1 +
 site/la-faraono.html                               |   1 +
 site/lair.html                                     |   1 +
 site/lesperant2.html                               |   1 +
 site/link-farm.html                                |   1 +
 site/lisprant.html                                 |   1 +
 site/matrix.html                                   |   1 +
 site/meti-limon.html                               |   1 +
 site/newport-reference-manual.html                 |   1 +
 site/norda-naturo.html                             |   1 +
 site/projects.html                                 | 286 ++++++++++++++++---
 site/release.html                                  |   1 +
 site/rut.html                                      |   1 +
 site/sbm.html                                      |   1 +
 site/serpentoj-en-la-puto.html                     |   1 +
 site/sten-johansson.html                           |   1 +
 site/tag-gen.html                                  |   1 +
 site/tmpl-insanely-simple-templates.html           |   1 +
 site/youtube.html                                  |   1 +
 89 files changed, 878 insertions(+), 68 deletions(-)
diff --git a/build.sh b/build.sh
index a4dabaf..43095c5 100755
--- a/build.sh
+++ b/build.sh
@@ -55,6 +55,7 @@ cat > "$TEMPLATE" << 'TMPL'
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/index.html b/index.html
index 1e93ec1..1c925fb 100755
--- a/index.html
+++ b/index.html
@@ -21,6 +21,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/pages/about.md b/pages/about.md
new file mode 100644
index 0000000..2089bb1
--- /dev/null
+++ b/pages/about.md
@@ -0,0 +1,120 @@
+---
+title: About
+---
+
+Spenser Truex. Free tarballs.
+
+Tools for language learners, e-ink readers and Android, small Unix programs,
+and Common Lisp.
+Support the work at [ko-fi.com/truex](https://ko-fi.com/truex).
+
+## Sites
+
+* [subread.space](https://subread.space) - Line up an audiobook with its ebook. Get read-along subtitles, EPUB 3 read-along books, and subtitled video. Free in the browser.
+* [honjimaku.com](https://honjimaku.com) - A library of Japanese subtitles for audiobooks, and Subrep live captions by share link.
+* [sbm.subread.space](https://sbm.subread.space) - sbm Sync: one plain bookmark file, the same on every device. Free, AGPL.
+* [hentaibun.online](https://hentaibun.online) - Reading lists and tools to learn kanbun and kobun.
+* [recentlywritten.com](https://recentlywritten.com) - Writing on Unix, Lisp, Nix, Esperanto, and language learning. ([equwal.com](https://equwal.com) goes here.)
+* [ko-fi.com/truex](https://ko-fi.com/truex) - Support.
+
+## SubRead
+
+Read along with audiobooks, and mine the words.
+
+* [subread.space](https://github.com/equwal/subread.space) - Read an `.srt` one line at a time with the space bar. Works with Yomitan, furigana, and pitch accent markup.
+* [subplz-web](https://github.com/equwal/subplz-web) - The aligner behind subread.space. The subtitle text comes from your book, not from a transcript.
+* [subread-android](https://github.com/equwal/subread-android) - SubRead on Android. Times an audiobook against its ebook on the device.
+* [subread-extension](https://github.com/equwal/subread-extension) - Show your own `.srt` over a YouTube video, in time. Chrome and Firefox.
+* [subread-overlay](https://github.com/equwal/subread-overlay) - Show `.srt` lines over any Android media player. Tap a word to look it up.
+* [subread-dictionary](https://github.com/equwal/subread-dictionary) - Pop-up dictionary for Android. Reads Yomitan dictionaries, with local audio.
+* [subread.koplugin](https://github.com/equwal/subread.koplugin) - KOReader plugin. The book follows the narration, from an `.srt` made by subread.space.
+* [subrep-android](https://github.com/equwal/subrep-android) - Live captions of the phone's sound, made on the phone by Whisper, shared by link.
+* [desktop-subtitle-replay](https://github.com/equwal/desktop-subtitle-replay) - Live subtitles for anything on your screen. Replay a sentence and mine it into Anki.
+* [honjimaku](https://github.com/equwal/honjimaku) - The honjimaku.com server. Fork of [jimaku](https://github.com/Rapptz/jimaku).
+* [kikiyomi](https://github.com/equwal/kikiyomi) - Audiobook player for Japanese learners, in the browser. Fork of [kikiyomi](https://github.com/rtr46/kikiyomi).
+* [Hoshi-Reader-Android](https://github.com/equwal/Hoshi-Reader-Android) - Fork with a `subread` branch: audiobook read-along in the Hoshi Reader EPUB reader.
+* [chimahon](https://github.com/equwal/chimahon) - Fork with a `readalong` branch for the Mihon immersion reader.
+* [dickt.store](https://github.com/equwal/dickt.store) - Bring-your-own-key Yomitan dictionary converter.
+* [vibeslop-dickt](https://github.com/equwal/vibeslop-dickt) - Make your own Yomitan dictionary in a few minutes.
+
+## Rebind suite
+
+Hardware buttons for e-ink readers and Android 12+.
+
+* [rebind](https://github.com/equwal/rebind) - Remap volume keys, Power, page-turn buttons, and the Viwoods AI key. Tap, double tap, hold, and combinations. Free beta APK.
+* [assistkey](https://github.com/equwal/assistkey) - Key remapper for the Viwoods AiPaper Reader: AI key, volume keys, and Power.
+* [awesome-rebind](https://github.com/equwal/awesome-rebind) - Extensions and companion apps for Rebind.
+* [ink-recents](https://github.com/equwal/ink-recents) - Recent-apps switcher for e-ink. No animation. Swipe up to close.
+* [ink-dim](https://github.com/equwal/ink-dim) - Set the Viwoods frontlight below the lowest system level.
+* [ink-update](https://github.com/equwal/ink-update) - Tells you when Rebind, Ink Recents, or Ink Dim has a new version.
+
+## sbm
+
+Fuzzy search thousands of bookmarks, on every device.
+
+* [sbm](https://github.com/equwal/sbm) - dmenu bookmarks. Search and plumb them.
+* [sbm-android](https://github.com/equwal/sbm-android) - sbm on Android. Share to add.
+* [sbm-extension](https://github.com/equwal/sbm-extension) - sbm for Firefox and Chrome.
+* [sbm-sync](https://github.com/equwal/sbm-sync) - Sync server. One small Go program, plain files, AGPL.
+* [sbm-suckless](https://github.com/equwal/sbm-suckless) - sbm before the rewrite. Suckless style.
+
+## Tools for AI agents
+
+* [ideamine](https://github.com/equwal/ideamine) - Idea inbox for Claude Code. `/idea` saves ideas at zero tokens.
+* [deploy-handoff](https://github.com/equwal/deploy-handoff) - The agent drives the browser to the last deploy, billing, or pull request step. You make the final click.
+* [memstate](https://github.com/equwal/memstate) - Versioned memory for AI agents in one SQLite file. Fork; contributor to [map588/memstate](https://github.com/map588/memstate).
+* [aintitinit](https://github.com/HACKERMEN-ORG/aintitinit) - Claude initializer.
+* [hackermen-neovim-config-file](https://github.com/HACKERMEN-ORG/hackermen-neovim-config-file) - Minimal Neovim config with optional AI.
+
+## Unix and suckless
+
+* [tmpl](https://github.com/equwal/tmpl) - Insanely simple templates.
+* [dmenu-scripts](https://github.com/equwal/dmenu-scripts) - Ask for things with dmenu.
+* [dsad](https://github.com/equwal/dsad) - dmenu interface for sad, the simple audio daemon.
+* [dpatchmail](https://github.com/equwal/dpatchmail) - Patch programs from mail with dmenu.
+* [prompt-mail](https://github.com/equwal/prompt-mail) - Mail questions and mail files with dmenu.
+* [dmodurl](https://github.com/equwal/dmodurl) - Change URLs with dmenu.
+* [tnot](https://github.com/equwal/tnot) - Like tmux, but not.
+* [tiny-runlevels](https://github.com/equwal/tiny-runlevels) - Use an init system for many instances of simple programs.
+* [ii-lchat-metapackage](https://github.com/equwal/ii-lchat-metapackage) - Get suckless IRC working.
+* [pass-simple](https://github.com/equwal/pass-simple) - Minimal pass rewrite, with bug fixes.
+* [sacc-ebuild](https://github.com/equwal/sacc-ebuild) - Gentoo ebuild for the sacc gopher client.
+* [nixtoo-genux](https://github.com/equwal/nixtoo-genux) - Declarative Nix package manager setup.
+* [xinput-persistence](https://github.com/equwal/xinput-persistence) - xinput settings that survive reconnect and boot.
+* [encrypted-home-backups](https://github.com/equwal/encrypted-home-backups) - Automatic home backups to an encrypted partition.
+* [alt-hack0](https://github.com/equwal/alt-hack0) and [alt-hack](https://github.com/equwal/alt-hack) - The Hack font with a normal zero, made by script.
+* [minimak-tty-xkb](https://github.com/equwal/minimak-tty-xkb) - Minimak keyboard layout for the TTY and XKB.
+
+## Common Lisp and Emacs
+
+* [font-lock-cl](https://github.com/font-lock-cl/font-lock-cl) - Better Common Lisp syntax highlighting for Emacs. On MELPA.
+* [coleslaw](https://github.com/equwal/coleslaw) - Emacs mode for the Coleslaw static site generator. Also [coleslaw-snippets](https://github.com/equwal/coleslaw-snippets).
+* [Forthe](https://github.com/equwal/Forthe) - Forth-like DSL.
+* [sl](https://github.com/equwal/sl) and [defsl](https://github.com/equwal/defsl) - Dependency language for Common Lisp.
+* [sigil](https://github.com/equwal/sigil) - Documentation preprocessor for Common Lisp.
+* [posix-pipes](https://github.com/equwal/posix-pipes) - Portable pipes from CLOCC.
+* [tag-gen](https://github.com/equwal/tag-gen) - Make tags for each directory.
+* [cores](https://github.com/equwal/cores) and [clapt](https://github.com/equwal/clapt) - Save SBCL cores with libraries loaded.
+* [asdf-registration](https://github.com/equwal/asdf-registration) - Register ASDF projects.
+* [CSV](https://github.com/equwal/CSV) - Read CSV into Lisp lists.
+* [gendocs](https://github.com/equwal/gendocs) - Simple document generation.
+* [len-cmp](https://github.com/equwal/len-cmp) - Fast list length comparison.
+* [LispBrain](https://github.com/equwal/LispBrain) - Brainfuck debugger on the Common Lisp debugger.
+* [lisp-multithreaded-internet](https://github.com/equwal/lisp-multithreaded-internet) - Multithreaded internet for Common Lisp.
+* [esperanto](https://github.com/equwal/esperanto) - Compress natural language in Esperanto.
+* [librivox](https://github.com/equwal/librivox) - Automatic YouTube upload of audiobooks.
+* [cl-yag](https://github.com/equwal/cl-yag) and [clic](https://github.com/equwal/clic) - Mirrors of Bitreich Common Lisp projects.
+* Spacemacs layers: [timeclock](https://github.com/equwal/timeclock), [rectangle](https://github.com/equwal/rectangle), [ediff-spacemacs](https://github.com/equwal/ediff-spacemacs), [slurp](https://github.com/equwal/slurp), [quickurl](https://github.com/equwal/quickurl), [common-lisp-sly](https://github.com/equwal/common-lisp-sly).
+
+## Upstream contributions
+
+* [suckless](https://suckless.org) - [slstatus](https://git.suckless.org/slstatus): "Not charging" battery status. [scroll](https://git.suckless.org/scroll): typo fix. Patches to dwm, dmenu, quark, and sacc on the mailing lists.
+* [sad](https://git.2f30.org/sad/) (2f30) - `status volume` protocol, pause toggle, volume bug fix, simpler config macros.
+* [SLY](https://github.com/joaotavora/sly) - REPL and debugger fixes, xref docs.
+* [Spacemacs](https://github.com/syl20bnr/spacemacs) - Layers and bindings, cleanup of deprecated `cl` and `use-package` code.
+* [Coleslaw](https://github.com/coleslaw-org/coleslaw) - URL generation, post extensions, versioning plugin, docs.
+* [CLX](https://github.com/sharplispers/clx) - Composite extension docs and exports.
+* [quickproject](https://github.com/xach/quickproject) - Restarts for existing target files.
+* [ivy/swiper](https://github.com/abo-abo/swiper), [emacs-w3m](https://github.com/emacs-w3m/emacs-w3m), [Nameless](https://github.com/Malabarba/Nameless), [vlime](https://github.com/vlime/vlime), [Mezzano](https://github.com/froggey/Mezzano), [usocket](https://github.com/usocket/usocket), [Trucler](https://github.com/s-expressionists/Trucler), [Newport](https://github.com/Sharp-CLOCC/Newport).
+* `make uninstall` targets: [mle](https://github.com/adsr/mle), [termbox](https://github.com/termbox/termbox), [wak](https://github.com/raygard/wak), [grabc](https://github.com/muquit/grabc), [sj](https://github.com/younix/sj), [gita](https://github.com/nosarthur/gita), [f3](https://github.com/AltraMayor/f3), [lisgd](https://github.com/PorQ-Pine/lisgd), [moreutils](https://github.com/pgdr/moreutils), [ames](https://github.com/eshrh/ames).
+* [voidrice](https://github.com/LukeSmithxyz/voidrice), [the_silver_searcher](https://github.com/ggreer/the_silver_searcher), [github.fish](https://github.com/PatrickF1/github.fish), [asyncomplete.vim](https://github.com/prabirshrestha/asyncomplete.vim), [Akusento](https://github.com/tunamayo04/Akusento).
diff --git a/pages/projects.md b/pages/projects.md
index 130b218..0e0b0f6 100644
--- a/pages/projects.md
+++ b/pages/projects.md
@@ -2,47 +2,119 @@
 title: Projects
 ---
 
-## Sites
+Spenser Truex. Free tarballs.
 
-- [subread.space](https://subread.space)
-- [sbm.subread.space](https://sbm.subread.space)
-- [honjimaku.com](https://honjimaku.com)
-- [hentaibun.online](https://hentaibun.online)
-- [ko-fi.com/truex](https://ko-fi.com/truex)
+Tools for language learners, e-ink readers and Android, small Unix programs,
+and Common Lisp.
+Support the work at [ko-fi.com/truex](https://ko-fi.com/truex).
 
-## Rebind suite
+## Sites
 
-- [rebind](https://github.com/equwal/rebind)
-- [assistkey](https://github.com/equwal/assistkey)
-- [awesome-rebind](https://github.com/equwal/awesome-rebind)
-- [ink-recents](https://github.com/equwal/ink-recents)
-- [ink-dim](https://github.com/equwal/ink-dim)
-- [ink-update](https://github.com/equwal/ink-update)
+* [subread.space](https://subread.space) - Line up an audiobook with its ebook. Get read-along subtitles, EPUB 3 read-along books, and subtitled video. Free in the browser.
+* [honjimaku.com](https://honjimaku.com) - A library of Japanese subtitles for audiobooks, and Subrep live captions by share link.
+* [sbm.subread.space](https://sbm.subread.space) - sbm Sync: one plain bookmark file, the same on every device. Free, AGPL.
+* [hentaibun.online](https://hentaibun.online) - Reading lists and tools to learn kanbun and kobun.
+* [recentlywritten.com](https://recentlywritten.com) - Writing on Unix, Lisp, Nix, Esperanto, and language learning. ([equwal.com](https://equwal.com) goes here.)
+* [ko-fi.com/truex](https://ko-fi.com/truex) - Support.
 
 ## SubRead
 
-- [subread.space](https://github.com/equwal/subread.space)
-- [subplz-web](https://github.com/equwal/subplz-web)
-- [subread-android](https://github.com/equwal/subread-android)
-- [subread-extension](https://github.com/equwal/subread-extension)
-- [subread-overlay](https://github.com/equwal/subread-overlay)
-- [subread.koplugin](https://github.com/equwal/subread.koplugin)
-- [kikiyomi](https://github.com/equwal/kikiyomi)
-- [honjimaku](https://github.com/equwal/honjimaku)
+Read along with audiobooks, and mine the words.
+
+* [subread.space](https://github.com/equwal/subread.space) - Read an `.srt` one line at a time with the space bar. Works with Yomitan, furigana, and pitch accent markup.
+* [subplz-web](https://github.com/equwal/subplz-web) - The aligner behind subread.space. The subtitle text comes from your book, not from a transcript.
+* [subread-android](https://github.com/equwal/subread-android) - SubRead on Android. Times an audiobook against its ebook on the device.
+* [subread-extension](https://github.com/equwal/subread-extension) - Show your own `.srt` over a YouTube video, in time. Chrome and Firefox.
+* [subread-overlay](https://github.com/equwal/subread-overlay) - Show `.srt` lines over any Android media player. Tap a word to look it up.
+* [subread-dictionary](https://github.com/equwal/subread-dictionary) - Pop-up dictionary for Android. Reads Yomitan dictionaries, with local audio.
+* [subread.koplugin](https://github.com/equwal/subread.koplugin) - KOReader plugin. The book follows the narration, from an `.srt` made by subread.space.
+* [subrep-android](https://github.com/equwal/subrep-android) - Live captions of the phone's sound, made on the phone by Whisper, shared by link.
+* [desktop-subtitle-replay](https://github.com/equwal/desktop-subtitle-replay) - Live subtitles for anything on your screen. Replay a sentence and mine it into Anki.
+* [honjimaku](https://github.com/equwal/honjimaku) - The honjimaku.com server. Fork of [jimaku](https://github.com/Rapptz/jimaku).
+* [kikiyomi](https://github.com/equwal/kikiyomi) - Audiobook player for Japanese learners, in the browser. Fork of [kikiyomi](https://github.com/rtr46/kikiyomi).
+* [Hoshi-Reader-Android](https://github.com/equwal/Hoshi-Reader-Android) - Fork with a `subread` branch: audiobook read-along in the Hoshi Reader EPUB reader.
+* [chimahon](https://github.com/equwal/chimahon) - Fork with a `readalong` branch for the Mihon immersion reader.
+* [dickt.store](https://github.com/equwal/dickt.store) - Bring-your-own-key Yomitan dictionary converter.
+* [vibeslop-dickt](https://github.com/equwal/vibeslop-dickt) - Make your own Yomitan dictionary in a few minutes.
+
+## Rebind suite
+
+Hardware buttons for e-ink readers and Android 12+.
+
+* [rebind](https://github.com/equwal/rebind) - Remap volume keys, Power, page-turn buttons, and the Viwoods AI key. Tap, double tap, hold, and combinations. Free beta APK.
+* [assistkey](https://github.com/equwal/assistkey) - Key remapper for the Viwoods AiPaper Reader: AI key, volume keys, and Power.
+* [awesome-rebind](https://github.com/equwal/awesome-rebind) - Extensions and companion apps for Rebind.
+* [ink-recents](https://github.com/equwal/ink-recents) - Recent-apps switcher for e-ink. No animation. Swipe up to close.
+* [ink-dim](https://github.com/equwal/ink-dim) - Set the Viwoods frontlight below the lowest system level.
+* [ink-update](https://github.com/equwal/ink-update) - Tells you when Rebind, Ink Recents, or Ink Dim has a new version.
 
 ## sbm
 
-- [sbm](https://github.com/equwal/sbm)
-- [sbm-android](https://github.com/equwal/sbm-android)
-- [sbm-extension](https://github.com/equwal/sbm-extension)
-- [sbm-sync](https://github.com/equwal/sbm-sync)
-- [sbm-suckless](https://github.com/equwal/sbm-suckless)
+Fuzzy search thousands of bookmarks, on every device.
+
+* [sbm](https://github.com/equwal/sbm) - dmenu bookmarks. Search and plumb them.
+* [sbm-android](https://github.com/equwal/sbm-android) - sbm on Android. Share to add.
+* [sbm-extension](https://github.com/equwal/sbm-extension) - sbm for Firefox and Chrome.
+* [sbm-sync](https://github.com/equwal/sbm-sync) - Sync server. One small Go program, plain files, AGPL.
+* [sbm-suckless](https://github.com/equwal/sbm-suckless) - sbm before the rewrite. Suckless style.
+
+## Tools for AI agents
+
+* [ideamine](https://github.com/equwal/ideamine) - Idea inbox for Claude Code. `/idea` saves ideas at zero tokens.
+* [deploy-handoff](https://github.com/equwal/deploy-handoff) - The agent drives the browser to the last deploy, billing, or pull request step. You make the final click.
+* [memstate](https://github.com/equwal/memstate) - Versioned memory for AI agents in one SQLite file. Fork; contributor to [map588/memstate](https://github.com/map588/memstate).
+* [aintitinit](https://github.com/HACKERMEN-ORG/aintitinit) - Claude initializer.
+* [hackermen-neovim-config-file](https://github.com/HACKERMEN-ORG/hackermen-neovim-config-file) - Minimal Neovim config with optional AI.
+
+## Unix and suckless
+
+* [tmpl](https://github.com/equwal/tmpl) - Insanely simple templates.
+* [dmenu-scripts](https://github.com/equwal/dmenu-scripts) - Ask for things with dmenu.
+* [dsad](https://github.com/equwal/dsad) - dmenu interface for sad, the simple audio daemon.
+* [dpatchmail](https://github.com/equwal/dpatchmail) - Patch programs from mail with dmenu.
+* [prompt-mail](https://github.com/equwal/prompt-mail) - Mail questions and mail files with dmenu.
+* [dmodurl](https://github.com/equwal/dmodurl) - Change URLs with dmenu.
+* [tnot](https://github.com/equwal/tnot) - Like tmux, but not.
+* [tiny-runlevels](https://github.com/equwal/tiny-runlevels) - Use an init system for many instances of simple programs.
+* [ii-lchat-metapackage](https://github.com/equwal/ii-lchat-metapackage) - Get suckless IRC working.
+* [pass-simple](https://github.com/equwal/pass-simple) - Minimal pass rewrite, with bug fixes.
+* [sacc-ebuild](https://github.com/equwal/sacc-ebuild) - Gentoo ebuild for the sacc gopher client.
+* [nixtoo-genux](https://github.com/equwal/nixtoo-genux) - Declarative Nix package manager setup.
+* [xinput-persistence](https://github.com/equwal/xinput-persistence) - xinput settings that survive reconnect and boot.
+* [encrypted-home-backups](https://github.com/equwal/encrypted-home-backups) - Automatic home backups to an encrypted partition.
+* [alt-hack0](https://github.com/equwal/alt-hack0) and [alt-hack](https://github.com/equwal/alt-hack) - The Hack font with a normal zero, made by script.
+* [minimak-tty-xkb](https://github.com/equwal/minimak-tty-xkb) - Minimak keyboard layout for the TTY and XKB.
+
+## Common Lisp and Emacs
+
+* [font-lock-cl](https://github.com/font-lock-cl/font-lock-cl) - Better Common Lisp syntax highlighting for Emacs. On MELPA.
+* [coleslaw](https://github.com/equwal/coleslaw) - Emacs mode for the Coleslaw static site generator. Also [coleslaw-snippets](https://github.com/equwal/coleslaw-snippets).
+* [Forthe](https://github.com/equwal/Forthe) - Forth-like DSL.
+* [sl](https://github.com/equwal/sl) and [defsl](https://github.com/equwal/defsl) - Dependency language for Common Lisp.
+* [sigil](https://github.com/equwal/sigil) - Documentation preprocessor for Common Lisp.
+* [posix-pipes](https://github.com/equwal/posix-pipes) - Portable pipes from CLOCC.
+* [tag-gen](https://github.com/equwal/tag-gen) - Make tags for each directory.
+* [cores](https://github.com/equwal/cores) and [clapt](https://github.com/equwal/clapt) - Save SBCL cores with libraries loaded.
+* [asdf-registration](https://github.com/equwal/asdf-registration) - Register ASDF projects.
+* [CSV](https://github.com/equwal/CSV) - Read CSV into Lisp lists.
+* [gendocs](https://github.com/equwal/gendocs) - Simple document generation.
+* [len-cmp](https://github.com/equwal/len-cmp) - Fast list length comparison.
+* [LispBrain](https://github.com/equwal/LispBrain) - Brainfuck debugger on the Common Lisp debugger.
+* [lisp-multithreaded-internet](https://github.com/equwal/lisp-multithreaded-internet) - Multithreaded internet for Common Lisp.
+* [esperanto](https://github.com/equwal/esperanto) - Compress natural language in Esperanto.
+* [librivox](https://github.com/equwal/librivox) - Automatic YouTube upload of audiobooks.
+* [cl-yag](https://github.com/equwal/cl-yag) and [clic](https://github.com/equwal/clic) - Mirrors of Bitreich Common Lisp projects.
+* Spacemacs layers: [timeclock](https://github.com/equwal/timeclock), [rectangle](https://github.com/equwal/rectangle), [ediff-spacemacs](https://github.com/equwal/ediff-spacemacs), [slurp](https://github.com/equwal/slurp), [quickurl](https://github.com/equwal/quickurl), [common-lisp-sly](https://github.com/equwal/common-lisp-sly).
 
-## Other tools
+## Upstream contributions
 
-- [ideamine](https://github.com/equwal/ideamine)
-- [deploy-handoff](https://github.com/equwal/deploy-handoff)
-- [memstate](https://github.com/equwal/memstate)
-- [recentlywritten](https://github.com/equwal/recentlywritten)
-- [desktop-subtitle-replay](https://github.com/equwal/desktop-subtitle-replay)
-- [dickt.store](https://github.com/equwal/dickt.store)
+* [suckless](https://suckless.org) - [slstatus](https://git.suckless.org/slstatus): "Not charging" battery status. [scroll](https://git.suckless.org/scroll): typo fix. Patches to dwm, dmenu, quark, and sacc on the mailing lists.
+* [sad](https://git.2f30.org/sad/) (2f30) - `status volume` protocol, pause toggle, volume bug fix, simpler config macros.
+* [SLY](https://github.com/joaotavora/sly) - REPL and debugger fixes, xref docs.
+* [Spacemacs](https://github.com/syl20bnr/spacemacs) - Layers and bindings, cleanup of deprecated `cl` and `use-package` code.
+* [Coleslaw](https://github.com/coleslaw-org/coleslaw) - URL generation, post extensions, versioning plugin, docs.
+* [CLX](https://github.com/sharplispers/clx) - Composite extension docs and exports.
+* [quickproject](https://github.com/xach/quickproject) - Restarts for existing target files.
+* [ivy/swiper](https://github.com/abo-abo/swiper), [emacs-w3m](https://github.com/emacs-w3m/emacs-w3m), [Nameless](https://github.com/Malabarba/Nameless), [vlime](https://github.com/vlime/vlime), [Mezzano](https://github.com/froggey/Mezzano), [usocket](https://github.com/usocket/usocket), [Trucler](https://github.com/s-expressionists/Trucler), [Newport](https://github.com/Sharp-CLOCC/Newport).
+* `make uninstall` targets: [mle](https://github.com/adsr/mle), [termbox](https://github.com/termbox/termbox), [wak](https://github.com/raygard/wak), [grabc](https://github.com/muquit/grabc), [sj](https://github.com/younix/sj), [gita](https://github.com/nosarthur/gita), [f3](https://github.com/AltraMayor/f3), [lisgd](https://github.com/PorQ-Pine/lisgd), [moreutils](https://github.com/pgdr/moreutils), [ames](https://github.com/eshrh/ames).
+* [voidrice](https://github.com/LukeSmithxyz/voidrice), [the_silver_searcher](https://github.com/ggreer/the_silver_searcher), [github.fish](https://github.com/PatrickF1/github.fish), [asyncomplete.vim](https://github.com/prabirshrestha/asyncomplete.vim), [Akusento](https://github.com/tunamayo04/Akusento).
diff --git a/site/25-noveloj.html b/site/25-noveloj.html
index 8012c6b..09957c3 100755
--- a/site/25-noveloj.html
+++ b/site/25-noveloj.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/3000-Vocab-Flashcards-3k-Final-Solution.html b/site/3000-Vocab-Flashcards-3k-Final-Solution.html
index 2a606f2..3f2799d 100755
--- a/site/3000-Vocab-Flashcards-3k-Final-Solution.html
+++ b/site/3000-Vocab-Flashcards-3k-Final-Solution.html
@@ -21,6 +21,7 @@ Solution)" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/A-new-way-to-release-code.html b/site/A-new-way-to-release-code.html
index e1249c5..68613a4 100755
--- a/site/A-new-way-to-release-code.html
+++ b/site/A-new-way-to-release-code.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/AJATT-All-Japanese-All-The-Time-Mirror-at-xm0co.html b/site/AJATT-All-Japanese-All-The-Time-Mirror-at-xm0co.html
index cac94ab..364c3e9 100755
--- a/site/AJATT-All-Japanese-All-The-Time-Mirror-at-xm0co.html
+++ b/site/AJATT-All-Japanese-All-The-Time-Mirror-at-xm0co.html
@@ -21,6 +21,7 @@ Mirror) at xm0.co" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Add-my-RSS-feed-to-your-feed-reader.html b/site/Add-my-RSS-feed-to-your-feed-reader.html
index 116b228..b0b53cc 100755
--- a/site/Add-my-RSS-feed-to-your-feed-reader.html
+++ b/site/Add-my-RSS-feed-to-your-feed-reader.html
@@ -20,6 +20,7 @@ reader" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Brazil.html b/site/Brazil.html
index 2b5715d..e453ee6 100755
--- a/site/Brazil.html
+++ b/site/Brazil.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/CSV.html b/site/CSV.html
index 1b7d18d..c4a8078 100755
--- a/site/CSV.html
+++ b/site/CSV.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Dont-Self-Host-Self-Locally.html b/site/Dont-Self-Host-Self-Locally.html
index 2a2747f..1dc4ac2 100755
--- a/site/Dont-Self-Host-Self-Locally.html
+++ b/site/Dont-Self-Host-Self-Locally.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Dont-use-make-uninstall.html b/site/Dont-use-make-uninstall.html
index 8b29e1c..dcc89b9 100755
--- a/site/Dont-use-make-uninstall.html
+++ b/site/Dont-use-make-uninstall.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Fish-Based-Navigation.html b/site/Fish-Based-Navigation.html
index 733b76d..4bc2868 100755
--- a/site/Fish-Based-Navigation.html
+++ b/site/Fish-Based-Navigation.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Forthe.html b/site/Forthe.html
index 1e12d16..95ad079 100755
--- a/site/Forthe.html
+++ b/site/Forthe.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Generate-your-OWN-internet-web-site-easily.html b/site/Generate-your-OWN-internet-web-site-easily.html
index 2a66170..c6b3ca0 100755
--- a/site/Generate-your-OWN-internet-web-site-easily.html
+++ b/site/Generate-your-OWN-internet-web-site-easily.html
@@ -21,6 +21,7 @@ easily" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Get-on-mailing-lists-like-it-is-1989.html b/site/Get-on-mailing-lists-like-it-is-1989.html
index f698c6b..a357296 100755
--- a/site/Get-on-mailing-lists-like-it-is-1989.html
+++ b/site/Get-on-mailing-lists-like-it-is-1989.html
@@ -20,6 +20,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Git-extra-worktrees-ROCK.html b/site/Git-extra-worktrees-ROCK.html
index 5b774ee..3d177da 100755
--- a/site/Git-extra-worktrees-ROCK.html
+++ b/site/Git-extra-worktrees-ROCK.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Hackermen-neomutt-config.html b/site/Hackermen-neomutt-config.html
index 0674cb3..392b801 100755
--- a/site/Hackermen-neomutt-config.html
+++ b/site/Hackermen-neomutt-config.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Hey-kids-want-to-learn-the-unix-way.html b/site/Hey-kids-want-to-learn-the-unix-way.html
index 4b45254..07dda1b 100755
--- a/site/Hey-kids-want-to-learn-the-unix-way.html
+++ b/site/Hey-kids-want-to-learn-the-unix-way.html
@@ -20,6 +20,7 @@ way" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/How-Japanese-Aquire-Books.html b/site/How-Japanese-Aquire-Books.html
index 836d813..473a7bd 100755
--- a/site/How-Japanese-Aquire-Books.html
+++ b/site/How-Japanese-Aquire-Books.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/How-to-Beat-Emacs-M-x-dunnet-in-5-minutes.html b/site/How-to-Beat-Emacs-M-x-dunnet-in-5-minutes.html
index 2dd5c99..a1b87f2 100755
--- a/site/How-to-Beat-Emacs-M-x-dunnet-in-5-minutes.html
+++ b/site/How-to-Beat-Emacs-M-x-dunnet-in-5-minutes.html
@@ -21,6 +21,7 @@ minutes." />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/How-to-Learn-a-Language-According-to-The-Internet.html b/site/How-to-Learn-a-Language-According-to-The-Internet.html
index f16b09e..e6ce6e2 100755
--- a/site/How-to-Learn-a-Language-According-to-The-Internet.html
+++ b/site/How-to-Learn-a-Language-According-to-The-Internet.html
@@ -21,6 +21,7 @@ to The Internet" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/How-to-manage-100000-digital-books-in-15-languages.html b/site/How-to-manage-100000-digital-books-in-15-languages.html
index 8825fd2..b4ec704 100755
--- a/site/How-to-manage-100000-digital-books-in-15-languages.html
+++ b/site/How-to-manage-100000-digital-books-in-15-languages.html
@@ -21,6 +21,7 @@ in 15 languages" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/How-to-take-notes-not-self-help-advice.html b/site/How-to-take-notes-not-self-help-advice.html
index 6f8aa76..4be2172 100755
--- a/site/How-to-take-notes-not-self-help-advice.html
+++ b/site/How-to-take-notes-not-self-help-advice.html
@@ -21,6 +21,7 @@ advice" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Install-Anki.html b/site/Install-Anki.html
index da78821..c2b6af1 100755
--- a/site/Install-Anki.html
+++ b/site/Install-Anki.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Install-Nix-on-Gentoo.html b/site/Install-Nix-on-Gentoo.html
index c9ef3a8..21b3882 100755
--- a/site/Install-Nix-on-Gentoo.html
+++ b/site/Install-Nix-on-Gentoo.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Learn-Kanji-in-a-Fortnight.html b/site/Learn-Kanji-in-a-Fortnight.html
index bcf5c38..6cc56f4 100755
--- a/site/Learn-Kanji-in-a-Fortnight.html
+++ b/site/Learn-Kanji-in-a-Fortnight.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Mailing-list-in-one-line.html b/site/Mailing-list-in-one-line.html
index 9dbbba8..148e0fd 100755
--- a/site/Mailing-list-in-one-line.html
+++ b/site/Mailing-list-in-one-line.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Minimal-nvim-config-optional-AI-slop-enjoy.html b/site/Minimal-nvim-config-optional-AI-slop-enjoy.html
index cd43fde..eed6a63 100755
--- a/site/Minimal-nvim-config-optional-AI-slop-enjoy.html
+++ b/site/Minimal-nvim-config-optional-AI-slop-enjoy.html
@@ -21,6 +21,7 @@ slop (enjoy!)" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/New-book-coming-soon-about-language-learning-for-multiple-languages-PREORDER-NOW.html b/site/New-book-coming-soon-about-language-learning-for-multiple-languages-PREORDER-NOW.html
index 44a062f..76f3f85 100755
--- a/site/New-book-coming-soon-about-language-learning-for-multiple-languages-PREORDER-NOW.html
+++ b/site/New-book-coming-soon-about-language-learning-for-multiple-languages-PREORDER-NOW.html
@@ -21,6 +21,7 @@ learning (for multiple languages)! PREORDER NOW!" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html b/site/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html
index 84aa514..79d8b53 100755
--- a/site/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html
+++ b/site/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html
@@ -21,6 +21,7 @@ learning (LISTEN NOW!)" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Newport.html b/site/Newport.html
index 7418121..6235ab2 100755
--- a/site/Newport.html
+++ b/site/Newport.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Nixtoo-Genux-released.html b/site/Nixtoo-Genux-released.html
index a2fa22a..717853c 100755
--- a/site/Nixtoo-Genux-released.html
+++ b/site/Nixtoo-Genux-released.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/POSIX-pipes-for-Lisp.html b/site/POSIX-pipes-for-Lisp.html
index fa1014e..b78534d 100755
--- a/site/POSIX-pipes-for-Lisp.html
+++ b/site/POSIX-pipes-for-Lisp.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Polyglot-Podcast-Now-Goes-on-The-YouTubecom-Website.html b/site/Polyglot-Podcast-Now-Goes-on-The-YouTubecom-Website.html
index 1283331..738bf5d 100755
--- a/site/Polyglot-Podcast-Now-Goes-on-The-YouTubecom-Website.html
+++ b/site/Polyglot-Podcast-Now-Goes-on-The-YouTubecom-Website.html
@@ -21,6 +21,7 @@ YouTube.com Website" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Polyglot-Radio-is-Dead-Long-Live-The-Queue-Antennapod-shill-post.html b/site/Polyglot-Radio-is-Dead-Long-Live-The-Queue-Antennapod-shill-post.html
index d6f81ee..caafb4f 100755
--- a/site/Polyglot-Radio-is-Dead-Long-Live-The-Queue-Antennapod-shill-post.html
+++ b/site/Polyglot-Radio-is-Dead-Long-Live-The-Queue-Antennapod-shill-post.html
@@ -21,6 +21,7 @@ The Queue (Antennapod shill post)" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/REPL-Driven-Development-as-an-analogy-for-proper-AI-Driven-Development.html b/site/REPL-Driven-Development-as-an-analogy-for-proper-AI-Driven-Development.html
index 0f6fe5b..9648d4f 100755
--- a/site/REPL-Driven-Development-as-an-analogy-for-proper-AI-Driven-Development.html
+++ b/site/REPL-Driven-Development-as-an-analogy-for-proper-AI-Driven-Development.html
@@ -21,6 +21,7 @@ analogy for proper AI Driven Development" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/SL--Dependency-Language.html b/site/SL--Dependency-Language.html
index 3105442..64d0df4 100755
--- a/site/SL--Dependency-Language.html
+++ b/site/SL--Dependency-Language.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Start-emailing-your-patches-GUIDE.html b/site/Start-emailing-your-patches-GUIDE.html
index e8b54e1..0fd3f7c 100755
--- a/site/Start-emailing-your-patches-GUIDE.html
+++ b/site/Start-emailing-your-patches-GUIDE.html
@@ -20,6 +20,7 @@ GUIDE" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Toplevel-Macros-in-Alexandria-Code-Revival-Project.html b/site/Toplevel-Macros-in-Alexandria-Code-Revival-Project.html
index cf82f69..3a4b781 100755
--- a/site/Toplevel-Macros-in-Alexandria-Code-Revival-Project.html
+++ b/site/Toplevel-Macros-in-Alexandria-Code-Revival-Project.html
@@ -21,6 +21,7 @@ Revival Project" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Turn-an-android-into-247-portable-polyglot-radio.html b/site/Turn-an-android-into-247-portable-polyglot-radio.html
index 44fc2d1..103b7cd 100755
--- a/site/Turn-an-android-into-247-portable-polyglot-radio.html
+++ b/site/Turn-an-android-into-247-portable-polyglot-radio.html
@@ -21,6 +21,7 @@ polyglot radio" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Unanglo-your-literacy-materials-and-your-life.html b/site/Unanglo-your-literacy-materials-and-your-life.html
index a3b8e63..6291c1c 100755
--- a/site/Unanglo-your-literacy-materials-and-your-life.html
+++ b/site/Unanglo-your-literacy-materials-and-your-life.html
@@ -21,6 +21,7 @@ life) — Recently Written</title>
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Using-an-init-system-for-many-instances-of-simple-programs.html b/site/Using-an-init-system-for-many-instances-of-simple-programs.html
index 38cd162..42ca21c 100755
--- a/site/Using-an-init-system-for-many-instances-of-simple-programs.html
+++ b/site/Using-an-init-system-for-many-instances-of-simple-programs.html
@@ -21,6 +21,7 @@ instances of simple programs" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/Why-YOU-need-NixOS-on-your-desktop-and-servers.html b/site/Why-YOU-need-NixOS-on-your-desktop-and-servers.html
index 5eb2d68..24bbd6b 100755
--- a/site/Why-YOU-need-NixOS-on-your-desktop-and-servers.html
+++ b/site/Why-YOU-need-NixOS-on-your-desktop-and-servers.html
@@ -21,6 +21,7 @@ and servers" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/WhyHow-to-host-a-bunch-of-crap-locally.html b/site/WhyHow-to-host-a-bunch-of-crap-locally.html
index f04d211..b894bdd 100755
--- a/site/WhyHow-to-host-a-bunch-of-crap-locally.html
+++ b/site/WhyHow-to-host-a-bunch-of-crap-locally.html
@@ -21,6 +21,7 @@ locally" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/about.html b/site/about.html
new file mode 100644
index 0000000..6195709
--- /dev/null
+++ b/site/about.html
@@ -0,0 +1,316 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8" />
+  <meta name="viewport" content="width=device-width, initial-scale=1" />
+  <title>About — Recently Written</title>
+  <meta property="og:type" content="article" />
+  <meta property="og:site_name" content="Recently Written" />
+  <meta property="og:title" content="About" />
+  <meta property="og:url" content="https://recentlywritten.com/about.html" />
+  <meta name="twitter:card" content="summary" />
+  <link rel="stylesheet" href="style.css" />
+  <link rel="alternate" type="application/rss+xml" title="Recently Written" href="rss.xml" />
+</head>
+<body>
+<div id="container">
+
+  <div id="top">
+    <a class="site-title" href="index.html">Recently Written</a>
+    <nav>
+      <a href="index.html">Home</a>
+      <a href="about.html">about</a>
+      <a href="lair.html">code</a>
+      <a href="git/index.html">git</a>
+      <a href="youtube.html">youtube</a>
+      <a href="esperanto.html">esperanto</a>
+      <a href="call.html">contact</a>
+      <a href="rss.xml">rss</a>
+    </nav>
+  </div>
+
+  <h1 class="post-title">About</h1>
+
+  <p>Spenser Truex. Free tarballs.</p>
+  <p>Tools for language learners, e-ink readers and Android, small Unix
+  programs, and Common Lisp. Support the work at <a
+  href="https://ko-fi.com/truex">ko-fi.com/truex</a>.</p>
+  <h2 id="sites">Sites</h2>
+  <ul>
+  <li><a href="https://subread.space">subread.space</a> - Line up an
+  audiobook with its ebook. Get read-along subtitles, EPUB 3 read-along
+  books, and subtitled video. Free in the browser.</li>
+  <li><a href="https://honjimaku.com">honjimaku.com</a> - A library of
+  Japanese subtitles for audiobooks, and Subrep live captions by share
+  link.</li>
+  <li><a href="https://sbm.subread.space">sbm.subread.space</a> - sbm
+  Sync: one plain bookmark file, the same on every device. Free,
+  AGPL.</li>
+  <li><a href="https://hentaibun.online">hentaibun.online</a> - Reading
+  lists and tools to learn kanbun and kobun.</li>
+  <li><a href="https://recentlywritten.com">recentlywritten.com</a> -
+  Writing on Unix, Lisp, Nix, Esperanto, and language learning. (<a
+  href="https://equwal.com">equwal.com</a> goes here.)</li>
+  <li><a href="https://ko-fi.com/truex">ko-fi.com/truex</a> -
+  Support.</li>
+  </ul>
+  <h2 id="subread">SubRead</h2>
+  <p>Read along with audiobooks, and mine the words.</p>
+  <ul>
+  <li><a
+  href="https://github.com/equwal/subread.space">subread.space</a> -
+  Read an <code>.srt</code> one line at a time with the space bar. Works
+  with Yomitan, furigana, and pitch accent markup.</li>
+  <li><a href="https://github.com/equwal/subplz-web">subplz-web</a> -
+  The aligner behind subread.space. The subtitle text comes from your
+  book, not from a transcript.</li>
+  <li><a
+  href="https://github.com/equwal/subread-android">subread-android</a> -
+  SubRead on Android. Times an audiobook against its ebook on the
+  device.</li>
+  <li><a
+  href="https://github.com/equwal/subread-extension">subread-extension</a>
+  - Show your own <code>.srt</code> over a YouTube video, in time.
+  Chrome and Firefox.</li>
+  <li><a
+  href="https://github.com/equwal/subread-overlay">subread-overlay</a> -
+  Show <code>.srt</code> lines over any Android media player. Tap a word
+  to look it up.</li>
+  <li><a
+  href="https://github.com/equwal/subread-dictionary">subread-dictionary</a>
+  - Pop-up dictionary for Android. Reads Yomitan dictionaries, with
+  local audio.</li>
+  <li><a
+  href="https://github.com/equwal/subread.koplugin">subread.koplugin</a>
+  - KOReader plugin. The book follows the narration, from an
+  <code>.srt</code> made by subread.space.</li>
+  <li><a
+  href="https://github.com/equwal/subrep-android">subrep-android</a> -
+  Live captions of the phone’s sound, made on the phone by Whisper,
+  shared by link.</li>
+  <li><a
+  href="https://github.com/equwal/desktop-subtitle-replay">desktop-subtitle-replay</a>
+  - Live subtitles for anything on your screen. Replay a sentence and
+  mine it into Anki.</li>
+  <li><a href="https://github.com/equwal/honjimaku">honjimaku</a> - The
+  honjimaku.com server. Fork of <a
+  href="https://github.com/Rapptz/jimaku">jimaku</a>.</li>
+  <li><a href="https://github.com/equwal/kikiyomi">kikiyomi</a> -
+  Audiobook player for Japanese learners, in the browser. Fork of <a
+  href="https://github.com/rtr46/kikiyomi">kikiyomi</a>.</li>
+  <li><a
+  href="https://github.com/equwal/Hoshi-Reader-Android">Hoshi-Reader-Android</a>
+  - Fork with a <code>subread</code> branch: audiobook read-along in the
+  Hoshi Reader EPUB reader.</li>
+  <li><a href="https://github.com/equwal/chimahon">chimahon</a> - Fork
+  with a <code>readalong</code> branch for the Mihon immersion
+  reader.</li>
+  <li><a href="https://github.com/equwal/dickt.store">dickt.store</a> -
+  Bring-your-own-key Yomitan dictionary converter.</li>
+  <li><a
+  href="https://github.com/equwal/vibeslop-dickt">vibeslop-dickt</a> -
+  Make your own Yomitan dictionary in a few minutes.</li>
+  </ul>
+  <h2 id="rebind-suite">Rebind suite</h2>
+  <p>Hardware buttons for e-ink readers and Android 12+.</p>
+  <ul>
+  <li><a href="https://github.com/equwal/rebind">rebind</a> - Remap
+  volume keys, Power, page-turn buttons, and the Viwoods AI key. Tap,
+  double tap, hold, and combinations. Free beta APK.</li>
+  <li><a href="https://github.com/equwal/assistkey">assistkey</a> - Key
+  remapper for the Viwoods AiPaper Reader: AI key, volume keys, and
+  Power.</li>
+  <li><a
+  href="https://github.com/equwal/awesome-rebind">awesome-rebind</a> -
+  Extensions and companion apps for Rebind.</li>
+  <li><a href="https://github.com/equwal/ink-recents">ink-recents</a> -
+  Recent-apps switcher for e-ink. No animation. Swipe up to close.</li>
+  <li><a href="https://github.com/equwal/ink-dim">ink-dim</a> - Set the
+  Viwoods frontlight below the lowest system level.</li>
+  <li><a href="https://github.com/equwal/ink-update">ink-update</a> -
+  Tells you when Rebind, Ink Recents, or Ink Dim has a new version.</li>
+  </ul>
+  <h2 id="sbm">sbm</h2>
+  <p>Fuzzy search thousands of bookmarks, on every device.</p>
+  <ul>
+  <li><a href="https://github.com/equwal/sbm">sbm</a> - dmenu bookmarks.
+  Search and plumb them.</li>
+  <li><a href="https://github.com/equwal/sbm-android">sbm-android</a> -
+  sbm on Android. Share to add.</li>
+  <li><a
+  href="https://github.com/equwal/sbm-extension">sbm-extension</a> - sbm
+  for Firefox and Chrome.</li>
+  <li><a href="https://github.com/equwal/sbm-sync">sbm-sync</a> - Sync
+  server. One small Go program, plain files, AGPL.</li>
+  <li><a href="https://github.com/equwal/sbm-suckless">sbm-suckless</a>
+  - sbm before the rewrite. Suckless style.</li>
+  </ul>
+  <h2 id="tools-for-ai-agents">Tools for AI agents</h2>
+  <ul>
+  <li><a href="https://github.com/equwal/ideamine">ideamine</a> - Idea
+  inbox for Claude Code. <code>/idea</code> saves ideas at zero
+  tokens.</li>
+  <li><a
+  href="https://github.com/equwal/deploy-handoff">deploy-handoff</a> -
+  The agent drives the browser to the last deploy, billing, or pull
+  request step. You make the final click.</li>
+  <li><a href="https://github.com/equwal/memstate">memstate</a> -
+  Versioned memory for AI agents in one SQLite file. Fork; contributor
+  to <a
+  href="https://github.com/map588/memstate">map588/memstate</a>.</li>
+  <li><a
+  href="https://github.com/HACKERMEN-ORG/aintitinit">aintitinit</a> -
+  Claude initializer.</li>
+  <li><a
+  href="https://github.com/HACKERMEN-ORG/hackermen-neovim-config-file">hackermen-neovim-config-file</a>
+  - Minimal Neovim config with optional AI.</li>
+  </ul>
+  <h2 id="unix-and-suckless">Unix and suckless</h2>
+  <ul>
+  <li><a href="https://github.com/equwal/tmpl">tmpl</a> - Insanely
+  simple templates.</li>
+  <li><a
+  href="https://github.com/equwal/dmenu-scripts">dmenu-scripts</a> - Ask
+  for things with dmenu.</li>
+  <li><a href="https://github.com/equwal/dsad">dsad</a> - dmenu
+  interface for sad, the simple audio daemon.</li>
+  <li><a href="https://github.com/equwal/dpatchmail">dpatchmail</a> -
+  Patch programs from mail with dmenu.</li>
+  <li><a href="https://github.com/equwal/prompt-mail">prompt-mail</a> -
+  Mail questions and mail files with dmenu.</li>
+  <li><a href="https://github.com/equwal/dmodurl">dmodurl</a> - Change
+  URLs with dmenu.</li>
+  <li><a href="https://github.com/equwal/tnot">tnot</a> - Like tmux, but
+  not.</li>
+  <li><a
+  href="https://github.com/equwal/tiny-runlevels">tiny-runlevels</a> -
+  Use an init system for many instances of simple programs.</li>
+  <li><a
+  href="https://github.com/equwal/ii-lchat-metapackage">ii-lchat-metapackage</a>
+  - Get suckless IRC working.</li>
+  <li><a href="https://github.com/equwal/pass-simple">pass-simple</a> -
+  Minimal pass rewrite, with bug fixes.</li>
+  <li><a href="https://github.com/equwal/sacc-ebuild">sacc-ebuild</a> -
+  Gentoo ebuild for the sacc gopher client.</li>
+  <li><a href="https://github.com/equwal/nixtoo-genux">nixtoo-genux</a>
+  - Declarative Nix package manager setup.</li>
+  <li><a
+  href="https://github.com/equwal/xinput-persistence">xinput-persistence</a>
+  - xinput settings that survive reconnect and boot.</li>
+  <li><a
+  href="https://github.com/equwal/encrypted-home-backups">encrypted-home-backups</a>
+  - Automatic home backups to an encrypted partition.</li>
+  <li><a href="https://github.com/equwal/alt-hack0">alt-hack0</a> and <a
+  href="https://github.com/equwal/alt-hack">alt-hack</a> - The Hack font
+  with a normal zero, made by script.</li>
+  <li><a
+  href="https://github.com/equwal/minimak-tty-xkb">minimak-tty-xkb</a> -
+  Minimak keyboard layout for the TTY and XKB.</li>
+  </ul>
+  <h2 id="common-lisp-and-emacs">Common Lisp and Emacs</h2>
+  <ul>
+  <li><a
+  href="https://github.com/font-lock-cl/font-lock-cl">font-lock-cl</a> -
+  Better Common Lisp syntax highlighting for Emacs. On MELPA.</li>
+  <li><a href="https://github.com/equwal/coleslaw">coleslaw</a> - Emacs
+  mode for the Coleslaw static site generator. Also <a
+  href="https://github.com/equwal/coleslaw-snippets">coleslaw-snippets</a>.</li>
+  <li><a href="https://github.com/equwal/Forthe">Forthe</a> - Forth-like
+  DSL.</li>
+  <li><a href="https://github.com/equwal/sl">sl</a> and <a
+  href="https://github.com/equwal/defsl">defsl</a> - Dependency language
+  for Common Lisp.</li>
+  <li><a href="https://github.com/equwal/sigil">sigil</a> -
+  Documentation preprocessor for Common Lisp.</li>
+  <li><a href="https://github.com/equwal/posix-pipes">posix-pipes</a> -
+  Portable pipes from CLOCC.</li>
+  <li><a href="https://github.com/equwal/tag-gen">tag-gen</a> - Make
+  tags for each directory.</li>
+  <li><a href="https://github.com/equwal/cores">cores</a> and <a
+  href="https://github.com/equwal/clapt">clapt</a> - Save SBCL cores
+  with libraries loaded.</li>
+  <li><a
+  href="https://github.com/equwal/asdf-registration">asdf-registration</a>
+  - Register ASDF projects.</li>
+  <li><a href="https://github.com/equwal/CSV">CSV</a> - Read CSV into
+  Lisp lists.</li>
+  <li><a href="https://github.com/equwal/gendocs">gendocs</a> - Simple
+  document generation.</li>
+  <li><a href="https://github.com/equwal/len-cmp">len-cmp</a> - Fast
+  list length comparison.</li>
+  <li><a href="https://github.com/equwal/LispBrain">LispBrain</a> -
+  Brainfuck debugger on the Common Lisp debugger.</li>
+  <li><a
+  href="https://github.com/equwal/lisp-multithreaded-internet">lisp-multithreaded-internet</a>
+  - Multithreaded internet for Common Lisp.</li>
+  <li><a href="https://github.com/equwal/esperanto">esperanto</a> -
+  Compress natural language in Esperanto.</li>
+  <li><a href="https://github.com/equwal/librivox">librivox</a> -
+  Automatic YouTube upload of audiobooks.</li>
+  <li><a href="https://github.com/equwal/cl-yag">cl-yag</a> and <a
+  href="https://github.com/equwal/clic">clic</a> - Mirrors of Bitreich
+  Common Lisp projects.</li>
+  <li>Spacemacs layers: <a
+  href="https://github.com/equwal/timeclock">timeclock</a>, <a
+  href="https://github.com/equwal/rectangle">rectangle</a>, <a
+  href="https://github.com/equwal/ediff-spacemacs">ediff-spacemacs</a>,
+  <a href="https://github.com/equwal/slurp">slurp</a>, <a
+  href="https://github.com/equwal/quickurl">quickurl</a>, <a
+  href="https://github.com/equwal/common-lisp-sly">common-lisp-sly</a>.</li>
+  </ul>
+  <h2 id="upstream-contributions">Upstream contributions</h2>
+  <ul>
+  <li><a href="https://suckless.org">suckless</a> - <a
+  href="https://git.suckless.org/slstatus">slstatus</a>: “Not charging”
+  battery status. <a href="https://git.suckless.org/scroll">scroll</a>:
+  typo fix. Patches to dwm, dmenu, quark, and sacc on the mailing
+  lists.</li>
+  <li><a href="https://git.2f30.org/sad/">sad</a> (2f30) -
+  <code>status volume</code> protocol, pause toggle, volume bug fix,
+  simpler config macros.</li>
+  <li><a href="https://github.com/joaotavora/sly">SLY</a> - REPL and
+  debugger fixes, xref docs.</li>
+  <li><a href="https://github.com/syl20bnr/spacemacs">Spacemacs</a> -
+  Layers and bindings, cleanup of deprecated <code>cl</code> and
+  <code>use-package</code> code.</li>
+  <li><a href="https://github.com/coleslaw-org/coleslaw">Coleslaw</a> -
+  URL generation, post extensions, versioning plugin, docs.</li>
+  <li><a href="https://github.com/sharplispers/clx">CLX</a> - Composite
+  extension docs and exports.</li>
+  <li><a href="https://github.com/xach/quickproject">quickproject</a> -
+  Restarts for existing target files.</li>
+  <li><a href="https://github.com/abo-abo/swiper">ivy/swiper</a>, <a
+  href="https://github.com/emacs-w3m/emacs-w3m">emacs-w3m</a>, <a
+  href="https://github.com/Malabarba/Nameless">Nameless</a>, <a
+  href="https://github.com/vlime/vlime">vlime</a>, <a
+  href="https://github.com/froggey/Mezzano">Mezzano</a>, <a
+  href="https://github.com/usocket/usocket">usocket</a>, <a
+  href="https://github.com/s-expressionists/Trucler">Trucler</a>, <a
+  href="https://github.com/Sharp-CLOCC/Newport">Newport</a>.</li>
+  <li><code>make uninstall</code> targets: <a
+  href="https://github.com/adsr/mle">mle</a>, <a
+  href="https://github.com/termbox/termbox">termbox</a>, <a
+  href="https://github.com/raygard/wak">wak</a>, <a
+  href="https://github.com/muquit/grabc">grabc</a>, <a
+  href="https://github.com/younix/sj">sj</a>, <a
+  href="https://github.com/nosarthur/gita">gita</a>, <a
+  href="https://github.com/AltraMayor/f3">f3</a>, <a
+  href="https://github.com/PorQ-Pine/lisgd">lisgd</a>, <a
+  href="https://github.com/pgdr/moreutils">moreutils</a>, <a
+  href="https://github.com/eshrh/ames">ames</a>.</li>
+  <li><a href="https://github.com/LukeSmithxyz/voidrice">voidrice</a>,
+  <a
+  href="https://github.com/ggreer/the_silver_searcher">the_silver_searcher</a>,
+  <a href="https://github.com/PatrickF1/github.fish">github.fish</a>, <a
+  href="https://github.com/prabirshrestha/asyncomplete.vim">asyncomplete.vim</a>,
+  <a href="https://github.com/tunamayo04/Akusento">Akusento</a>.</li>
+  </ul>
+
+  <div id="footer">
+    <a href="index.html">← Home</a> ·
+    <a href="https://github.com/equwal">Github</a>
+  </div>
+
+</div>
+</body>
+</html>
diff --git a/site/aintitinit-Claude-INITIALIZER.html b/site/aintitinit-Claude-INITIALIZER.html
index 76ac52a..2d7162e 100755
--- a/site/aintitinit-Claude-INITIALIZER.html
+++ b/site/aintitinit-Claude-INITIALIZER.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/alt-hacks-zips.html b/site/alt-hacks-zips.html
index 675e962..545ae39 100755
--- a/site/alt-hacks-zips.html
+++ b/site/alt-hacks-zips.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/alt-hacks.html b/site/alt-hacks.html
index 86eb078..9569499 100755
--- a/site/alt-hacks.html
+++ b/site/alt-hacks.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/biblio.html b/site/biblio.html
index 10d1301..8a0d69b 100755
--- a/site/biblio.html
+++ b/site/biblio.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/books.html b/site/books.html
index 5cd1722..5b14a40 100755
--- a/site/books.html
+++ b/site/books.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/budhismaj-rakontoj.html b/site/budhismaj-rakontoj.html
index 8ea96e6..6268a95 100755
--- a/site/budhismaj-rakontoj.html
+++ b/site/budhismaj-rakontoj.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/call.html b/site/call.html
index 695e6f5..66d3018 100755
--- a/site/call.html
+++ b/site/call.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/cervido.html b/site/cervido.html
index 9b9bf6b..e0b166c 100755
--- a/site/cervido.html
+++ b/site/cervido.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/dmenu-scripts-repo-released.html b/site/dmenu-scripts-repo-released.html
index 5edfd1d..11bcdaa 100755
--- a/site/dmenu-scripts-repo-released.html
+++ b/site/dmenu-scripts-repo-released.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/donate.html b/site/donate.html
index 4271d96..76259d3 100755
--- a/site/donate.html
+++ b/site/donate.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/esperantaj-artikoloj.html b/site/esperantaj-artikoloj.html
index 9b6e7ac..3e4cab1 100755
--- a/site/esperantaj-artikoloj.html
+++ b/site/esperantaj-artikoloj.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/esperantaj-audoj.html b/site/esperantaj-audoj.html
index d959b67..9a9df99 100755
--- a/site/esperantaj-audoj.html
+++ b/site/esperantaj-audoj.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/esperantaj-libroj.html b/site/esperantaj-libroj.html
index 49a19b8..caa2a1f 100755
--- a/site/esperantaj-libroj.html
+++ b/site/esperantaj-libroj.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/esperantaj-noveloj.html b/site/esperantaj-noveloj.html
index 4cb7d57..8d69e54 100755
--- a/site/esperantaj-noveloj.html
+++ b/site/esperantaj-noveloj.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/esperantaj-vortaroj.html b/site/esperantaj-vortaroj.html
index e280460..e6db7af 100755
--- a/site/esperantaj-vortaroj.html
+++ b/site/esperantaj-vortaroj.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/esperanto-three-steps.html b/site/esperanto-three-steps.html
index 2459455..43beddb 100755
--- a/site/esperanto-three-steps.html
+++ b/site/esperanto-three-steps.html
@@ -20,6 +20,7 @@ Mastery" />
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/esperanto.html b/site/esperanto.html
index c840220..aeddd3e 100755
--- a/site/esperanto.html
+++ b/site/esperanto.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/glider.html b/site/glider.html
index 58731f9..aab9b68 100755
--- a/site/glider.html
+++ b/site/glider.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/iilchat-setup-too-easy.html b/site/iilchat-setup-too-easy.html
index 97ca89a..8f14006 100755
--- a/site/iilchat-setup-too-easy.html
+++ b/site/iilchat-setup-too-easy.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/index.html b/site/index.html
index ab77070..0f5804c 100644
--- a/site/index.html
+++ b/site/index.html
@@ -21,6 +21,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
@@ -92,6 +93,7 @@
 
 <ul class="page-list">
 <li><a href="25-noveloj.html">25 Noveloj</a></li>
+<li><a href="about.html">About</a></li>
 <li><a href="alt-hacks.html">alt-hack free tarballs</a></li>
 <li><a href="alt-hacks-zips.html">alt-hack free tarballs</a></li>
 <li><a href="biblio.html">la sankta biblio</a></li>
diff --git a/site/install-9front.html b/site/install-9front.html
index 5306b7a..e87aec7 100755
--- a/site/install-9front.html
+++ b/site/install-9front.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/install-gentoo-hints.html b/site/install-gentoo-hints.html
index c5e2f53..125ed27 100755
--- a/site/install-gentoo-hints.html
+++ b/site/install-gentoo-hints.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/irc-relay.html b/site/irc-relay.html
index f3c77ca..a7cfe96 100755
--- a/site/irc-relay.html
+++ b/site/irc-relay.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/key.html b/site/key.html
index aa7faa9..be2381a 100755
--- a/site/key.html
+++ b/site/key.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/la-faraono.html b/site/la-faraono.html
index 5b4aaf9..83d67d4 100755
--- a/site/la-faraono.html
+++ b/site/la-faraono.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/lair.html b/site/lair.html
index 46c3008..99bff3c 100755
--- a/site/lair.html
+++ b/site/lair.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/lesperant2.html b/site/lesperant2.html
index b9e28c4..10af8ea 100755
--- a/site/lesperant2.html
+++ b/site/lesperant2.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/link-farm.html b/site/link-farm.html
index d8b4248..3774b3d 100755
--- a/site/link-farm.html
+++ b/site/link-farm.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/lisprant.html b/site/lisprant.html
index 6578362..c06833f 100755
--- a/site/lisprant.html
+++ b/site/lisprant.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/matrix.html b/site/matrix.html
index 54dbf38..c869f5e 100755
--- a/site/matrix.html
+++ b/site/matrix.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/meti-limon.html b/site/meti-limon.html
index 3e9e482..473f3cd 100755
--- a/site/meti-limon.html
+++ b/site/meti-limon.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/newport-reference-manual.html b/site/newport-reference-manual.html
index 202c83f..6ccf02b 100755
--- a/site/newport-reference-manual.html
+++ b/site/newport-reference-manual.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/norda-naturo.html b/site/norda-naturo.html
index b190691..bfb8018 100755
--- a/site/norda-naturo.html
+++ b/site/norda-naturo.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/projects.html b/site/projects.html
index 45ca4b1..d13705b 100644
--- a/site/projects.html
+++ b/site/projects.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
@@ -30,64 +31,279 @@
 
   <h1 class="post-title">Projects</h1>
 
+  <p>Spenser Truex. Free tarballs.</p>
+  <p>Tools for language learners, e-ink readers and Android, small Unix
+  programs, and Common Lisp. Support the work at <a
+  href="https://ko-fi.com/truex">ko-fi.com/truex</a>.</p>
   <h2 id="sites">Sites</h2>
   <ul>
-  <li><a href="https://subread.space">subread.space</a></li>
-  <li><a href="https://sbm.subread.space">sbm.subread.space</a></li>
-  <li><a href="https://honjimaku.com">honjimaku.com</a></li>
-  <li><a href="https://hentaibun.online">hentaibun.online</a></li>
-  <li><a href="https://ko-fi.com/truex">ko-fi.com/truex</a></li>
+  <li><a href="https://subread.space">subread.space</a> - Line up an
+  audiobook with its ebook. Get read-along subtitles, EPUB 3 read-along
+  books, and subtitled video. Free in the browser.</li>
+  <li><a href="https://honjimaku.com">honjimaku.com</a> - A library of
+  Japanese subtitles for audiobooks, and Subrep live captions by share
+  link.</li>
+  <li><a href="https://sbm.subread.space">sbm.subread.space</a> - sbm
+  Sync: one plain bookmark file, the same on every device. Free,
+  AGPL.</li>
+  <li><a href="https://hentaibun.online">hentaibun.online</a> - Reading
+  lists and tools to learn kanbun and kobun.</li>
+  <li><a href="https://recentlywritten.com">recentlywritten.com</a> -
+  Writing on Unix, Lisp, Nix, Esperanto, and language learning. (<a
+  href="https://equwal.com">equwal.com</a> goes here.)</li>
+  <li><a href="https://ko-fi.com/truex">ko-fi.com/truex</a> -
+  Support.</li>
   </ul>
-  <h2 id="rebind-suite">Rebind suite</h2>
+  <h2 id="subread">SubRead</h2>
+  <p>Read along with audiobooks, and mine the words.</p>
   <ul>
-  <li><a href="https://github.com/equwal/rebind">rebind</a></li>
-  <li><a href="https://github.com/equwal/assistkey">assistkey</a></li>
   <li><a
-  href="https://github.com/equwal/awesome-rebind">awesome-rebind</a></li>
+  href="https://github.com/equwal/subread.space">subread.space</a> -
+  Read an <code>.srt</code> one line at a time with the space bar. Works
+  with Yomitan, furigana, and pitch accent markup.</li>
+  <li><a href="https://github.com/equwal/subplz-web">subplz-web</a> -
+  The aligner behind subread.space. The subtitle text comes from your
+  book, not from a transcript.</li>
   <li><a
-  href="https://github.com/equwal/ink-recents">ink-recents</a></li>
-  <li><a href="https://github.com/equwal/ink-dim">ink-dim</a></li>
-  <li><a href="https://github.com/equwal/ink-update">ink-update</a></li>
-  </ul>
-  <h2 id="subread">SubRead</h2>
-  <ul>
+  href="https://github.com/equwal/subread-android">subread-android</a> -
+  SubRead on Android. Times an audiobook against its ebook on the
+  device.</li>
+  <li><a
+  href="https://github.com/equwal/subread-extension">subread-extension</a>
+  - Show your own <code>.srt</code> over a YouTube video, in time.
+  Chrome and Firefox.</li>
   <li><a
-  href="https://github.com/equwal/subread.space">subread.space</a></li>
-  <li><a href="https://github.com/equwal/subplz-web">subplz-web</a></li>
+  href="https://github.com/equwal/subread-overlay">subread-overlay</a> -
+  Show <code>.srt</code> lines over any Android media player. Tap a word
+  to look it up.</li>
   <li><a
-  href="https://github.com/equwal/subread-android">subread-android</a></li>
+  href="https://github.com/equwal/subread-dictionary">subread-dictionary</a>
+  - Pop-up dictionary for Android. Reads Yomitan dictionaries, with
+  local audio.</li>
   <li><a
-  href="https://github.com/equwal/subread-extension">subread-extension</a></li>
+  href="https://github.com/equwal/subread.koplugin">subread.koplugin</a>
+  - KOReader plugin. The book follows the narration, from an
+  <code>.srt</code> made by subread.space.</li>
   <li><a
-  href="https://github.com/equwal/subread-overlay">subread-overlay</a></li>
+  href="https://github.com/equwal/subrep-android">subrep-android</a> -
+  Live captions of the phone’s sound, made on the phone by Whisper,
+  shared by link.</li>
+  <li><a
+  href="https://github.com/equwal/desktop-subtitle-replay">desktop-subtitle-replay</a>
+  - Live subtitles for anything on your screen. Replay a sentence and
+  mine it into Anki.</li>
+  <li><a href="https://github.com/equwal/honjimaku">honjimaku</a> - The
+  honjimaku.com server. Fork of <a
+  href="https://github.com/Rapptz/jimaku">jimaku</a>.</li>
+  <li><a href="https://github.com/equwal/kikiyomi">kikiyomi</a> -
+  Audiobook player for Japanese learners, in the browser. Fork of <a
+  href="https://github.com/rtr46/kikiyomi">kikiyomi</a>.</li>
+  <li><a
+  href="https://github.com/equwal/Hoshi-Reader-Android">Hoshi-Reader-Android</a>
+  - Fork with a <code>subread</code> branch: audiobook read-along in the
+  Hoshi Reader EPUB reader.</li>
+  <li><a href="https://github.com/equwal/chimahon">chimahon</a> - Fork
+  with a <code>readalong</code> branch for the Mihon immersion
+  reader.</li>
+  <li><a href="https://github.com/equwal/dickt.store">dickt.store</a> -
+  Bring-your-own-key Yomitan dictionary converter.</li>
+  <li><a
+  href="https://github.com/equwal/vibeslop-dickt">vibeslop-dickt</a> -
+  Make your own Yomitan dictionary in a few minutes.</li>
+  </ul>
+  <h2 id="rebind-suite">Rebind suite</h2>
+  <p>Hardware buttons for e-ink readers and Android 12+.</p>
+  <ul>
+  <li><a href="https://github.com/equwal/rebind">rebind</a> - Remap
+  volume keys, Power, page-turn buttons, and the Viwoods AI key. Tap,
+  double tap, hold, and combinations. Free beta APK.</li>
+  <li><a href="https://github.com/equwal/assistkey">assistkey</a> - Key
+  remapper for the Viwoods AiPaper Reader: AI key, volume keys, and
+  Power.</li>
   <li><a
-  href="https://github.com/equwal/subread.koplugin">subread.koplugin</a></li>
-  <li><a href="https://github.com/equwal/kikiyomi">kikiyomi</a></li>
-  <li><a href="https://github.com/equwal/honjimaku">honjimaku</a></li>
+  href="https://github.com/equwal/awesome-rebind">awesome-rebind</a> -
+  Extensions and companion apps for Rebind.</li>
+  <li><a href="https://github.com/equwal/ink-recents">ink-recents</a> -
+  Recent-apps switcher for e-ink. No animation. Swipe up to close.</li>
+  <li><a href="https://github.com/equwal/ink-dim">ink-dim</a> - Set the
+  Viwoods frontlight below the lowest system level.</li>
+  <li><a href="https://github.com/equwal/ink-update">ink-update</a> -
+  Tells you when Rebind, Ink Recents, or Ink Dim has a new version.</li>
   </ul>
   <h2 id="sbm">sbm</h2>
+  <p>Fuzzy search thousands of bookmarks, on every device.</p>
   <ul>
-  <li><a href="https://github.com/equwal/sbm">sbm</a></li>
+  <li><a href="https://github.com/equwal/sbm">sbm</a> - dmenu bookmarks.
+  Search and plumb them.</li>
+  <li><a href="https://github.com/equwal/sbm-android">sbm-android</a> -
+  sbm on Android. Share to add.</li>
   <li><a
-  href="https://github.com/equwal/sbm-android">sbm-android</a></li>
+  href="https://github.com/equwal/sbm-extension">sbm-extension</a> - sbm
+  for Firefox and Chrome.</li>
+  <li><a href="https://github.com/equwal/sbm-sync">sbm-sync</a> - Sync
+  server. One small Go program, plain files, AGPL.</li>
+  <li><a href="https://github.com/equwal/sbm-suckless">sbm-suckless</a>
+  - sbm before the rewrite. Suckless style.</li>
+  </ul>
+  <h2 id="tools-for-ai-agents">Tools for AI agents</h2>
+  <ul>
+  <li><a href="https://github.com/equwal/ideamine">ideamine</a> - Idea
+  inbox for Claude Code. <code>/idea</code> saves ideas at zero
+  tokens.</li>
+  <li><a
+  href="https://github.com/equwal/deploy-handoff">deploy-handoff</a> -
+  The agent drives the browser to the last deploy, billing, or pull
+  request step. You make the final click.</li>
+  <li><a href="https://github.com/equwal/memstate">memstate</a> -
+  Versioned memory for AI agents in one SQLite file. Fork; contributor
+  to <a
+  href="https://github.com/map588/memstate">map588/memstate</a>.</li>
   <li><a
-  href="https://github.com/equwal/sbm-extension">sbm-extension</a></li>
-  <li><a href="https://github.com/equwal/sbm-sync">sbm-sync</a></li>
+  href="https://github.com/HACKERMEN-ORG/aintitinit">aintitinit</a> -
+  Claude initializer.</li>
   <li><a
-  href="https://github.com/equwal/sbm-suckless">sbm-suckless</a></li>
+  href="https://github.com/HACKERMEN-ORG/hackermen-neovim-config-file">hackermen-neovim-config-file</a>
+  - Minimal Neovim config with optional AI.</li>
   </ul>
-  <h2 id="other-tools">Other tools</h2>
+  <h2 id="unix-and-suckless">Unix and suckless</h2>
   <ul>
-  <li><a href="https://github.com/equwal/ideamine">ideamine</a></li>
+  <li><a href="https://github.com/equwal/tmpl">tmpl</a> - Insanely
+  simple templates.</li>
+  <li><a
+  href="https://github.com/equwal/dmenu-scripts">dmenu-scripts</a> - Ask
+  for things with dmenu.</li>
+  <li><a href="https://github.com/equwal/dsad">dsad</a> - dmenu
+  interface for sad, the simple audio daemon.</li>
+  <li><a href="https://github.com/equwal/dpatchmail">dpatchmail</a> -
+  Patch programs from mail with dmenu.</li>
+  <li><a href="https://github.com/equwal/prompt-mail">prompt-mail</a> -
+  Mail questions and mail files with dmenu.</li>
+  <li><a href="https://github.com/equwal/dmodurl">dmodurl</a> - Change
+  URLs with dmenu.</li>
+  <li><a href="https://github.com/equwal/tnot">tnot</a> - Like tmux, but
+  not.</li>
+  <li><a
+  href="https://github.com/equwal/tiny-runlevels">tiny-runlevels</a> -
+  Use an init system for many instances of simple programs.</li>
+  <li><a
+  href="https://github.com/equwal/ii-lchat-metapackage">ii-lchat-metapackage</a>
+  - Get suckless IRC working.</li>
+  <li><a href="https://github.com/equwal/pass-simple">pass-simple</a> -
+  Minimal pass rewrite, with bug fixes.</li>
+  <li><a href="https://github.com/equwal/sacc-ebuild">sacc-ebuild</a> -
+  Gentoo ebuild for the sacc gopher client.</li>
+  <li><a href="https://github.com/equwal/nixtoo-genux">nixtoo-genux</a>
+  - Declarative Nix package manager setup.</li>
   <li><a
-  href="https://github.com/equwal/deploy-handoff">deploy-handoff</a></li>
-  <li><a href="https://github.com/equwal/memstate">memstate</a></li>
+  href="https://github.com/equwal/xinput-persistence">xinput-persistence</a>
+  - xinput settings that survive reconnect and boot.</li>
   <li><a
-  href="https://github.com/equwal/recentlywritten">recentlywritten</a></li>
+  href="https://github.com/equwal/encrypted-home-backups">encrypted-home-backups</a>
+  - Automatic home backups to an encrypted partition.</li>
+  <li><a href="https://github.com/equwal/alt-hack0">alt-hack0</a> and <a
+  href="https://github.com/equwal/alt-hack">alt-hack</a> - The Hack font
+  with a normal zero, made by script.</li>
   <li><a
-  href="https://github.com/equwal/desktop-subtitle-replay">desktop-subtitle-replay</a></li>
+  href="https://github.com/equwal/minimak-tty-xkb">minimak-tty-xkb</a> -
+  Minimak keyboard layout for the TTY and XKB.</li>
+  </ul>
+  <h2 id="common-lisp-and-emacs">Common Lisp and Emacs</h2>
+  <ul>
+  <li><a
+  href="https://github.com/font-lock-cl/font-lock-cl">font-lock-cl</a> -
+  Better Common Lisp syntax highlighting for Emacs. On MELPA.</li>
+  <li><a href="https://github.com/equwal/coleslaw">coleslaw</a> - Emacs
+  mode for the Coleslaw static site generator. Also <a
+  href="https://github.com/equwal/coleslaw-snippets">coleslaw-snippets</a>.</li>
+  <li><a href="https://github.com/equwal/Forthe">Forthe</a> - Forth-like
+  DSL.</li>
+  <li><a href="https://github.com/equwal/sl">sl</a> and <a
+  href="https://github.com/equwal/defsl">defsl</a> - Dependency language
+  for Common Lisp.</li>
+  <li><a href="https://github.com/equwal/sigil">sigil</a> -
+  Documentation preprocessor for Common Lisp.</li>
+  <li><a href="https://github.com/equwal/posix-pipes">posix-pipes</a> -
+  Portable pipes from CLOCC.</li>
+  <li><a href="https://github.com/equwal/tag-gen">tag-gen</a> - Make
+  tags for each directory.</li>
+  <li><a href="https://github.com/equwal/cores">cores</a> and <a
+  href="https://github.com/equwal/clapt">clapt</a> - Save SBCL cores
+  with libraries loaded.</li>
   <li><a
-  href="https://github.com/equwal/dickt.store">dickt.store</a></li>
+  href="https://github.com/equwal/asdf-registration">asdf-registration</a>
+  - Register ASDF projects.</li>
+  <li><a href="https://github.com/equwal/CSV">CSV</a> - Read CSV into
+  Lisp lists.</li>
+  <li><a href="https://github.com/equwal/gendocs">gendocs</a> - Simple
+  document generation.</li>
+  <li><a href="https://github.com/equwal/len-cmp">len-cmp</a> - Fast
+  list length comparison.</li>
+  <li><a href="https://github.com/equwal/LispBrain">LispBrain</a> -
+  Brainfuck debugger on the Common Lisp debugger.</li>
+  <li><a
+  href="https://github.com/equwal/lisp-multithreaded-internet">lisp-multithreaded-internet</a>
+  - Multithreaded internet for Common Lisp.</li>
+  <li><a href="https://github.com/equwal/esperanto">esperanto</a> -
+  Compress natural language in Esperanto.</li>
+  <li><a href="https://github.com/equwal/librivox">librivox</a> -
+  Automatic YouTube upload of audiobooks.</li>
+  <li><a href="https://github.com/equwal/cl-yag">cl-yag</a> and <a
+  href="https://github.com/equwal/clic">clic</a> - Mirrors of Bitreich
+  Common Lisp projects.</li>
+  <li>Spacemacs layers: <a
+  href="https://github.com/equwal/timeclock">timeclock</a>, <a
+  href="https://github.com/equwal/rectangle">rectangle</a>, <a
+  href="https://github.com/equwal/ediff-spacemacs">ediff-spacemacs</a>,
+  <a href="https://github.com/equwal/slurp">slurp</a>, <a
+  href="https://github.com/equwal/quickurl">quickurl</a>, <a
+  href="https://github.com/equwal/common-lisp-sly">common-lisp-sly</a>.</li>
+  </ul>
+  <h2 id="upstream-contributions">Upstream contributions</h2>
+  <ul>
+  <li><a href="https://suckless.org">suckless</a> - <a
+  href="https://git.suckless.org/slstatus">slstatus</a>: “Not charging”
+  battery status. <a href="https://git.suckless.org/scroll">scroll</a>:
+  typo fix. Patches to dwm, dmenu, quark, and sacc on the mailing
+  lists.</li>
+  <li><a href="https://git.2f30.org/sad/">sad</a> (2f30) -
+  <code>status volume</code> protocol, pause toggle, volume bug fix,
+  simpler config macros.</li>
+  <li><a href="https://github.com/joaotavora/sly">SLY</a> - REPL and
+  debugger fixes, xref docs.</li>
+  <li><a href="https://github.com/syl20bnr/spacemacs">Spacemacs</a> -
+  Layers and bindings, cleanup of deprecated <code>cl</code> and
+  <code>use-package</code> code.</li>
+  <li><a href="https://github.com/coleslaw-org/coleslaw">Coleslaw</a> -
+  URL generation, post extensions, versioning plugin, docs.</li>
+  <li><a href="https://github.com/sharplispers/clx">CLX</a> - Composite
+  extension docs and exports.</li>
+  <li><a href="https://github.com/xach/quickproject">quickproject</a> -
+  Restarts for existing target files.</li>
+  <li><a href="https://github.com/abo-abo/swiper">ivy/swiper</a>, <a
+  href="https://github.com/emacs-w3m/emacs-w3m">emacs-w3m</a>, <a
+  href="https://github.com/Malabarba/Nameless">Nameless</a>, <a
+  href="https://github.com/vlime/vlime">vlime</a>, <a
+  href="https://github.com/froggey/Mezzano">Mezzano</a>, <a
+  href="https://github.com/usocket/usocket">usocket</a>, <a
+  href="https://github.com/s-expressionists/Trucler">Trucler</a>, <a
+  href="https://github.com/Sharp-CLOCC/Newport">Newport</a>.</li>
+  <li><code>make uninstall</code> targets: <a
+  href="https://github.com/adsr/mle">mle</a>, <a
+  href="https://github.com/termbox/termbox">termbox</a>, <a
+  href="https://github.com/raygard/wak">wak</a>, <a
+  href="https://github.com/muquit/grabc">grabc</a>, <a
+  href="https://github.com/younix/sj">sj</a>, <a
+  href="https://github.com/nosarthur/gita">gita</a>, <a
+  href="https://github.com/AltraMayor/f3">f3</a>, <a
+  href="https://github.com/PorQ-Pine/lisgd">lisgd</a>, <a
+  href="https://github.com/pgdr/moreutils">moreutils</a>, <a
+  href="https://github.com/eshrh/ames">ames</a>.</li>
+  <li><a href="https://github.com/LukeSmithxyz/voidrice">voidrice</a>,
+  <a
+  href="https://github.com/ggreer/the_silver_searcher">the_silver_searcher</a>,
+  <a href="https://github.com/PatrickF1/github.fish">github.fish</a>, <a
+  href="https://github.com/prabirshrestha/asyncomplete.vim">asyncomplete.vim</a>,
+  <a href="https://github.com/tunamayo04/Akusento">Akusento</a>.</li>
   </ul>
 
   <div id="footer">
diff --git a/site/release.html b/site/release.html
index 23b572a..fc679c2 100755
--- a/site/release.html
+++ b/site/release.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/rut.html b/site/rut.html
index be02a87..27157c2 100755
--- a/site/rut.html
+++ b/site/rut.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/sbm.html b/site/sbm.html
index 040e86c..adde1e1 100755
--- a/site/sbm.html
+++ b/site/sbm.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/serpentoj-en-la-puto.html b/site/serpentoj-en-la-puto.html
index 149ebe5..eecead2 100755
--- a/site/serpentoj-en-la-puto.html
+++ b/site/serpentoj-en-la-puto.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/sten-johansson.html b/site/sten-johansson.html
index edcdb72..5f1f784 100755
--- a/site/sten-johansson.html
+++ b/site/sten-johansson.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/tag-gen.html b/site/tag-gen.html
index f12e501..1ce3bbb 100755
--- a/site/tag-gen.html
+++ b/site/tag-gen.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/tmpl-insanely-simple-templates.html b/site/tmpl-insanely-simple-templates.html
index e82b50f..b2c73f9 100755
--- a/site/tmpl-insanely-simple-templates.html
+++ b/site/tmpl-insanely-simple-templates.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>
diff --git a/site/youtube.html b/site/youtube.html
index bc150e5..da41b45 100644
--- a/site/youtube.html
+++ b/site/youtube.html
@@ -19,6 +19,7 @@
     <a class="site-title" href="index.html">Recently Written</a>
     <nav>
       <a href="index.html">Home</a>
+      <a href="about.html">about</a>
       <a href="lair.html">code</a>
       <a href="git/index.html">git</a>
       <a href="youtube.html">youtube</a>