A couple years ago I've started watching David Wilson's channel (also know as
SystemCrafters), originally his channel focused heavilly on F# (and that's how I
found him), but eventually he started posting more and "GNU slash Emacs"
content. I lost interest on the channel at the time, while he did indeed
showcase a level of productivity that was way above what I had, I felt like it
could be easily emulated with a combination of Neovim and some other Linux
tools.
Everything changed once I saw his presentation about org-roam, my brain got
hijacked by the idea of testing Emacs. I had previously heard about orgmode
before, but it was never on my radar since it felt like some "Emacs weirdo"
cool-aid. What got me impressed was that I always needed some tool to help me
organize my notes (specially during college where most of my annotations got
lost). To fill this gap, such a tool would need to have the following
properties:
- Document everything that I've done.
- Register and link everything that I've read, preferably by integrating:
- Text
- Math
- Code
- Citations
- Manage and track figures, while maintaing referential integrity.
- Be free (as in freedom) or open source.
Obsidian tickles most of these (if you consider its plugins), but the license is
a little bit worrying and you can bet they will pull an insomnia in the
future. Logseq is a much better alternative in this regard, plus you have the
option of using something much better than markdown or reStructuredText, and that
is org.
(…) trivial usage of Org-mode is nothing more than text editing, from which point the user can start to add special plain text Org-mode elements to the document. Org-mode is therefore easy to adopt and aims to be a general solution for authoring projects with mixed computational and natural languages. It supports multiple programming languages, export targets, and work flows. (Schulte et al. 2012, 2)
Org is a major mode in Emacs, it is also a powerful markup language and I would
argue a better tool than any of the current alternatives. If properly
configured, orgmode can combine writing, planning, scheduling, linking and
programming into a cohesive workflow.
Org-mode extends Emacs with a simple and powerful markup language that turns it into a language for creating, parsing, and interacting with hierarchically-organized text documents. Its rich feature set includes text structuring, project management, and a publishing system that can export to a variety of formats. Source code and data are located in active blocks, distinct from text sections, where "active" here means that code and data blocks can be evaluated to return their contents or their computational results. The results of code block evaluation can be written to a named data block in the document, where it can be referred to by other code blocks, any one of which can be written in a different computing language. In this way, an Org-mode buffer becomes a place where different computer languages communicate with one another. Like Emacs, Org-mode is extensible: support for new languages can be added by the user in a modular fashion through the definition of a small number of Emacs Lisp functions. (Schulte et al. 2012, 7)