GNU Emacs

I started learning Emacs in 2010 in order to learn org-mode, and have fallen in love with the whole way of doing things. GNU Emacs is free and open-source software, and has been used longer than I've been alive. So many other applications I used to rely on have converted to a subscription model instead of a perpetual license, but Emacs will be free forever.

In the GNU/Linux world there are two major text editing programs: the minimalist vi (known in some implementations as elvis) and the maximalist emacs. I use emacs, which might be thought of as a thermonuclear word processor. … It is written in Lisp, which is the only computer language that is beautiful. It is colossal, and yet it only edits straight ASCII text files, which is to say, no fonts, no boldface, no underlining. In other words, the engineer-hours that, in the case of Microsoft Word, were devoted to features like mail merge, and the ability to embed feature-length motion pictures in corporate memoranda, were, in the case of emacs, focused with maniacal intensity on the deceptively simple-seeming problem of editing text. If you are a professional writer – i.e., if someone else is getting paid to worry about how your words are formatted and printed – emacs outshines all other editing software in approximately the same way that the noonday sun does the stars. It is not just bigger and brighter; it simply makes everything else vanish.

– Neal Stephenson, In the Beginning was the Command Line (1998)


The best thing about emacs.

External Links

Links to this node

How to embed handwritten content in your org-roam site

(Transcript > The Setup > GNU Emacs)

  • add function to your config to embed SVG directly in the HTML output of ox-html #+beginsrc emacs-lisp (require 'ox-html) (require 'nxml-mode) (defcustom org+-html-embed-svg nil "Embed SVG images. You can set this variable in Org files with ,#+HTMLEMBEDSVG: t or ,#+OPTIONS: html-embed-svg:t" :type 'boolean :group 'org-export-html) (cl-pushnew '(:html-embed-svg "HTMLEMBEDSVG" "html-embed-svg" org+-html-embed-svg) (org-export-backend-options (org-export-get-backend 'html))) (defun org+-html-svg-image-embed (fun source attributes info) "Make embedding of SVG images possible in org HTML export. SVG images are embedded if :html-embed-svg is non-nil in the plist INFO. Otherwise FUN called with SOURCE, ATTRIBUTES, and INFO as arguments. SOURCE is the file name of the SVG file. This is an around advice for `org-html–svg-image' as FUN." (if (member (plist-get info :html-embed-svg) '("yes" "t" t)) (with-temp-buffer (insert-file-contents source) (with-syntax-table nxml-mode-syntax-table (while (and (search-forward "<svg") ;; barfs if a "<svg" is not found (nth 8 (syntax-ppss))))) (delete-region (point-min) (match-beginning 0)) (buffer-string)) (funcall fun source attributes info))) (advice-add 'org-html–svg-image :around #'org+-html-svg-image-embed) #+endsrc - (I found this here.) - Q: Why? - A: Without it, SVGs are wrapped in <object> tags, which breaks some of the functionality like anchor links.


Implementation of the personal wiki site Roam Research using GNU Emacs and org-mode.


This site is created using GNU Emacs and org-mode (specifically org-roam). There are also handwritten notes created with Stylus Labs Write.