Unix as a tool forge and how Emacs fits in Unix philosophy
The article doesn&#x27;t really do justice to the composability - it provides little to no examples. So I&#x27;ll try to provide some:<p>Emacs has a lot of functionality on displaying email, handling attachments, etc. This made it almost trivial for notmuch[1] to make a frontend for their tool. If you think about it, notmuch is merely a stand alone <i>indexer</i>. But they quickly made a full blown email client in Emacs revolving around notmuch by borrowing most of the functionality from packages like Gnus, etc.<p>magit has a neat menu based interface. Now many other packages make use of its interface even though they have nothing to do with git.<p>There are multiple completion frameworks, and it&#x27;s always gratifying to utilize one of them for your own needs. As an example, I wanted to keep a directory of contacts. I used org-roam to create a node for each contact, and freely put any information I wanted in there (notes about the person, etc). However, I sometimes keep meeting minutes at work (in org mode) and whenever I mention a person, I want a link to his&#x2F;her contact page. So I hacked up some elisp functions to:<p>1. Insert a new person (and return a link to him&#x2F;her)<p>2. Select an existing person (this is where using a completion framework comes in).<p>Think of all the different pieces I used:<p>1. Org mode<p>2. Org-roam<p>3. A completion framework like vertico to show me <i>only</i> nodes that are people, and not all my notes nodes.<p>4. Calendar functionality to specify times&#x2F;dates (really I&#x27;m using the functionality in org mode, which builds on the Emacs calendar functionality).<p>Basically I built a minutes taking tool + contacts management by using various components of packages. It was not a lot of code - perhaps 1-2 screenfuls.<p>I once had a directory with a lot of video files. I wanted to share some with friends, but needed to go through each one to decide if it&#x27;s relevant to them. I wrote some simple elisp that, within dired (Emac&#x27;s file manager), when I hit Enter on an mp4 file, would play the file using mplayer. If I wanted to share it, with another keybinding, it would put a link to the file in a particular org document.<p>This is a typical example, of utilizing several different Emacs packages to achieve a custom task.<p>[1] <a href="https:&#x2F;&#x2F;notmuchmail.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;notmuchmail.org&#x2F;</a>