Emacs is simply the best tool ever made for a computer. It is a highly customizable editor that does most things a geek wants a computer to do. In addition to being an editor, it's also an IDE, compiler, debugger, interpreter, email client, USENET client, IRC client, calendar, organizer, address book, calculator, and it even plays some games. This list really only touches the surface. It's up to the user to decide just how many of these features they want to use, but I'm finding that over the years I do more and more in Emacs.

Emacs is the extensible, customizable, self-documenting real-time display editor.

I use Emacs, Org-mode, and its ability to publish to HTML to author this web site. And of course, I'm typing this text in Emacs right now.


Emacs is very customizable, starting with the M-x customize command, to modifying one's .emacs file, to writing Emacs Lisp packages.

Here are all of my personal customizations. My init.el file runs bootstrap code to convert init-emacs.org from an Org/Babel 'literate' programming version of my Emacs configuration into an Elisp version, init-emacs.el which is then executed.

init.el   init-emacs.el   init-emacs.org

Emacs Lisp Modules

Here are some Elisp modules I've written. Some are complete and working, many are only partially written or have been abandoned for now. The finished modules are described after the list.

auto-menu.el   basic-test.el   basic.el   bbs-fetch.el   bitwarden-test.el   bitwarden.el   blackjack.el   brainfuck-test.el   brainfuck.el   calendar-remind.el   collab-edit.el   decimation.el   emacs-modules.el   epoch.el   hnb.el   material-theme.el   maze.el   multi-task.el   mysql.el   replacer.el   slack.el   split-move.el   sudoku-game.el   time-server.el   timer.el   tsql.el   twitter.el   web-query.el   workout-tracker.el

auto-menu.el Provides functions to help with creating Emacs menus.
basic.el An old school BASIC interpreter/compiler (in progress).
calendar-remind.el Integrates the remind program into the Emacs calendar.
decimation.el A port of Ed Kolis' game Decimation that he wrote for the DRL competition.
epoch.el Epoch to Gregorian Calendar date/time conversion helper.
multi-task.el Runs a list of commands asynchronously, displays running statistics, and finally returns when the commands have completed.
replacer.el Replace strings as you type.
split-move.el An alternative to page-up/page-down.


Emacs… it's worth the pain.

– Kyle Sherman