my profile image


I enjoy tinkering with tools for writing and note-taking with Emacs. I am just a hobbyist programmer. I try to write occassionally.

Lately, I have been tinkering away at some tiny libraries for note-taking and writing. You will find them on SourceHut, collected under the “Tiny Emacs Packages” project (admittedly misnomer; it should have been “Tiny Emacs Libraries”).

Ren 連

Ren is a tiny Emacs library designed to make our note-taking easier by adding plain-text hyperlinks to our notes and documents. You can turn a date (eg “2024-02-25”), a wiki-style link (eg “[[note-taking]]”), or any single word into an “identifer” (ID) that works as a hyperlink.

With Ren, you can use commands like xref-find-definitions and xref-find-references to find where these IDs are mentioned across our files (ie backlinks) even if they’re in different folders and projects. Ren works with any plain-text file types like .txt, .md, and .org.

Ten 典

Ten 典: A tiny Emacs library that lets you list definitions of terms. It fontifies the terms and lets you jump to their denitions like a wiki for plain-text documents

With Ten, you do not use a syntactic construct like [[wiki link]] in your documents; you write naturally and Ten will automatically highlight (fontify) terms that you have definitions for. You can easily jump to the location of the definitions and back to the document where you have come from. To jump to the definition, place your cursor on a fontified term and call the xref-find-definitions command (by default bound to M-.). You will jump to the buffer where the definition is. xref-go-back (M-,) will take you back where you jumped from. Ten 典 connects with xref-find-definitions to search the definitions of terms, but not with xref-find-references for where the terms are used. For this, Ten works well with Ren 連.


Org-etags is a a tiny library that refurbishes the built-in org-ctags library for Emacs 29 so that it can use the etags program that comes compiled with Emacs. This library also adds a command that lets us use Org’s radio targets (<<<Radio Target>>> syntax) across files, where radio targets only work within a single Org buffer.

I manage a small collection of moderately-sized Emacs packages on GitHub. I put them together originally for my own writing and note-taking. I want to keep them stable as they’re shared on ELPA. I don’t have a set release schedule, but I have been adding new features once or a twice year since I started in 2022. As for fixes, I try to get them out as soon as they are ready.

Org-remark(published on ELPA and ELPA-devel)

An Emacs package that lets you highlight and annotate text files, websites, EPUB books and Info documentation with using Org mode.

Org-transclusion (published on ELPA and ELPA-devel)

An Emacs package that lets you insert a copy of text content via a file link or ID link within an Org file. It lets you have the same content present in different buffers at the same time without copy-and-pasting it. Edit the source of the content, and you can refresh the transcluded copies to the up-to-date state. Org-transclusion keeps your files clear of the transcluded copies, leaving only the links to the original content.


An Emacs package that lets you Use Org-roam with markdown files. You can mix org and markdown files in a single Org-roam database.