41554 blogs · [ { "id": "01a0821c-c58f-710b-ae23-f28952873dd0", "title": "geiser moved to codeberg", "url": "https://jao.io/blog/geiser-moved-to-codeberg.html", "published_at": "2026-05-04T19:09:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af5631686b", "title": "mailbox spring cleaning with notmuch", "url": "https://jao.io/blog/mailbox-spring-cleaning-with-notmuch.html", "published_at": "2025-10-03T02:55:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af5729472f", "title": "application badges at your command line", "url": "https://jao.io/blog/application-badges-at-your-command-line.html", "published_at": "2025-10-02T17:05:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895329c456", "title": "eww to org", "url": "https://jao.io/blog/eww-to-org.html", "published_at": "2024-07-30T15:26:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af57ff54c5", "title": "wittgenstein's mistress", "url": "https://jao.io/blog/wittgensteins-mistress.html", "published_at": "2024-03-24T21:05:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af585344a7", "title": "la casa verde", "url": "https://jao.io/blog/la-casa-verde.html", "published_at": "2024-03-24T20:33:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af58976fd5", "title": "poor things", "url": "https://jao.io/blog/poor-things.html", "published_at": "2023-10-11T01:28:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af5938f61f", "title": "in no particular order", "url": "https://jao.io/blog/in-no-particular-order.html", "published_at": "2023-10-11T01:00:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af597b3968", "title": "the cambridge centenary ulysess", "url": "https://jao.io/blog/the-cambridge-centenary-ulysess.html", "published_at": "2022-10-30T01:50:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af5a142abb", "title": "visual differential geometry and forms", "url": "https://jao.io/blog/visual-differential-geometry-and-forms.html", "published_at": "2022-10-30T00:30:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f28953810f60", "title": "inline snippets and grouping in consult-recoll", "url": "https://jao.io/blog/inline-snippets-and-grouping-in-consult-recoll.html", "published_at": "2022-08-04T17:29:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af5b0ef22a", "title": "parisian lives", "url": "https://jao.io/blog/parisian-lives.html", "published_at": "2022-07-31T03:42:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f289540a1aa8", "title": "consult recoll with live preview", "url": "https://jao.io/blog/consult-recoll-with-live-preview.html", "published_at": "2022-07-22T18:08:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af5c8a8d14", "title": "klara and the sun", "url": "https://jao.io/blog/klara-and-the-sun.html", "published_at": "2022-06-19T17:36:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f28954254ea0", "title": "simple note taking", "url": "https://jao.io/blog/simple-note-taking.html", "published_at": "2022-06-19T03:36:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f28954a18ef8", "title": "slimmer emacs with kitty", "url": "https://jao.io/blog/slimmer-emacs-with-kitty.html", "published_at": "2022-06-08T17:53:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af5d878f69", "title": "el infinito en un junco", "url": "https://jao.io/blog/el-infinito-en-un-junco.html", "published_at": "2022-05-28T23:39:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af5d99df6f", "title": "let's talk lisp", "url": "https://jao.io/blog/lets-talk-lisp.html", "published_at": "2022-04-16T19:41:00+00:00" }, { "id": "01a0878b-2367-7002-94a7-b7af5e6525bd", "title": "relaying mail to multiple smarthosts with opensmtpd", "url": "https://jao.io/blog/relaying-mail-to-multiple-smarthosts.html", "published_at": "2021-11-09T05:32:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f28954fe96f4", "title": "a high signal to noise emacs command", "url": "https://jao.io/blog/high-signal-to-noise-emacs-command.html", "published_at": "2021-09-08T00:37:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895536846d", "title": "apropos library", "url": "https://jao.io/blog/apropos-library.html", "published_at": "2021-09-04T19:49:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f289560701f6", "title": "notmuch threads folding in emacs", "url": "https://jao.io/blog/notmuch-threads-folding-in-emacs.html", "published_at": "2021-08-19T20:15:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f28956b5475c", "title": "fun with dependent types", "url": "https://jao.io/blog/the-little-typer.html", "published_at": "2021-05-17T04:29:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f28957855097", "title": "reading and searching gmane with gnus, fast", "url": "https://jao.io/blog/reading-and-searching-gmane-with-gnus-fast.html", "published_at": "2021-05-17T03:42:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f289578782a0", "title": "reading source code is fun", "url": "https://jao.io/blog/reading-source-code-is-fun.html", "published_at": "2021-04-05T20:45:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895826adb0", "title": "simplicity pays off", "url": "https://jao.io/blog/simplicity-pays-off.html", "published_at": "2021-02-26T02:29:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895916a84c", "title": "consulting hunks", "url": "https://jao.io/blog/consulting-hunks.html", "published_at": "2021-02-01T03:12:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f28959bae55b", "title": "an emacs packages hat trick", "url": "https://jao.io/blog/emacs-packages-hat-trick.html", "published_at": "2021-01-21T04:07:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895a8f8a62", "title": "an even better video wharf", "url": "https://jao.io/blog/an-even-better-video-wharf.html", "published_at": "2021-01-11T19:17:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895b46ec3e", "title": "what's not to like", "url": "https://jao.io/blog/whats-not-to-like.html", "published_at": "2020-12-29T20:53:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895b7ddc89", "title": "the mode lines i have not seen", "url": "https://jao.io/blog/the-mode-lines-i-have-not-seen.html", "published_at": "2020-07-02T12:00:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895c40abc9", "title": "unlearn", "url": "https://jao.io/blog/unlearn.html", "published_at": "2020-05-12T23:02:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895c88420e", "title": "ace window", "url": "https://jao.io/blog/ace-window.html", "published_at": "2020-05-12T02:39:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895d4cf968", "title": "a gnus enters a side-bar", "url": "https://jao.io/blog/a-gnus-enters-a-side-bar.html", "published_at": "2020-05-08T00:48:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895e428e0d", "title": "transient", "url": "https://jao.io/blog/transient.html", "published_at": "2020-05-02T16:10:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895f16a0e7", "title": "simplicity", "url": "https://jao.io/blog/simplicity.html", "published_at": "2020-02-11T02:00:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2895f89f8c9", "title": "emacs tip: tweeting from emacs-w3m", "url": "https://jao.io/blog/emacs-tip-tweeting-from-emacs-w3m.html", "published_at": "2014-11-29T03:26:56+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2896057f69d", "title": "record, play, re-play in emacs", "url": "https://jao.io/blog/record-play-re-play.html", "published_at": "2007-01-20T00:02:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f289614add3e", "title": "eval and replace anywhere", "url": "https://jao.io/blog/eval-and-replace-anywhere.html", "published_at": "2007-01-17T23:05:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f289620d5a64", "title": "editing your file names", "url": "https://jao.io/blog/editing-your-file-names.html", "published_at": "2007-01-14T21:10:00+00:00" }, { "id": "01a0821c-c58f-710b-ae23-f2896253ea90", "title": "the ghost in the lisp machine", "url": "https://jao.io/blog/the-ghost-in-the-lisp-machine.html", "published_at": "2007-01-14T01:00:00+00:00" } ] posts Claim your blog
Back to jao
Blog · corpus.blog/blogs/jao.io/posts

jao

jao.io

2026

2025

2024

2023

2022

2021

2020

2014

2007