Emacs is simply the best tool ever made for a computer. It is a highly customizable editor that do most things a geek wants a computer to do. It's an editor, 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 and Muse 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 Elisp packages.

Here are all of my personal customizations. My .emacs file simply runs the init.el file, which handles basic settings and loads other topical configuration files. If you load my files verbatim they will probably not work since they load a lot of packages that I've installed into my Elisp modules directory (~/.emacs.d/modules) that you may not have on your system.

init.el   aliases.el   ercrc.el   functions.el   functions-extra.el   gnusrc.el   googlerc.el   init.el   keys.el   menus.el   mode-line.el   modes.el   modules.el   orgrc.el   packages.el   windows.el   work.el

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. The SQL ones are mostly done, but not complete/working at the moment. I don't use SQL very much at work any more and that has caused my work on those modules to come to a crawl.

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

Provides functions to help with creating Emacs menus.
An old school BASIC interpreter/compiler (in progress).
Integrates the remind program into the Emacs calendar.
A port of Ed Kolis' game Decimation that he wrote for the 7DRL competition. More information and the original C# code can be found on his website: http://edkolis.exofire.net/decimation.php
Epoch to Gregorian Calendar date/time conversion helper.
Runs a list of commands asynchronously, displays running statistics, and finally returns when the commands have completed.
An alternative to page-up/page-down.

Emacs... it's worth the pain.

- Kyle Sherman