Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

199 lines (156 sloc) 7.839 kB

Script for presentation video


Hi, my name is qDot, and I love emacs. Now, you might be saying “Hey, I love emacs too!”, and there’s a point where I would’ve agreed with you. But no more. You like emacs. I love emacs.

You see, emacs has loved me for years by way of editing my text and being my window to both my computer and the Internet. Email, IRC, twitter, webpages, code, whatever is important in my life, we do it together. However, we’ve never been able to physically consumate our relationship. That’s why I’ve created deldo, a haptic sexual interface layer for emacs.

Deldo turns emacs into a caring lover, fulfilling the 3’s Gs: Good, Giving, and Game. So whether you’re into

MILFs - LISP Adult Babies - VB Coprophilia - PHP Non-consentual - INTERCAL Hardcore Bondage and Disipline - Haskell or even starting at yourself in the mirror while you masturbate furiously (Ruby)

With Deldo, Emacs is there for you.

Here, let me show you around.

About Emacs

If you’ve never used emacs before, the initial experience can look a little spartan, and honestly, it is. The power in emacs lies in the fact that anything and everything in the interface is programmable and extensible via a variant of the Lisp programming language, call elisp. This, combined with over 25 years of development along with what seems like an eternity of accumliated smugness, means there are thousands of packages available to do anything imaginable under the same interface, be it code, irc, web, task management, or whatever else someone decides needs to happen in an interface from 1974. Not only that, these projects provide hooks for users to implement their own personalization on top of a package. We’ll see examples of this later in the presentation.


Deldo provides an elisp interface to a USB controlled vibrator. Vibration is controlled through an external python server that talks directly to the hardware, and emacs communicates with that process using the osc protocol. Control of vibrator speed consists of a single 8-bit value that sets vibration intensity. Deldo is increadibly simple at its core, yet when combined with the power of emacs and it’s packages, we can create haptic interfaces to almost anything we can think of.

Scope creep

After working with elisp for a while, you become familiar with the warm, gentle embrace of symbolic expressions, or I like to refer to them, sexpressions.

(+ 2 2)

Sexpressions simply refer to structured data surrounded by parenthesis, but elisp, the language of emacs and in our special case, love, is based on these. Since many people spend some of their most intimate time with emacs while using s-expressions, this seemed like the right place to start on Deldo development. By using sexpressions, you can talk dirty to emacs in its own language

M-x scope-creep-minor-mode

The scope-creep minor mode uses the sexp Scope depth of the current cursor position in an elisp buffer to set the vibration speed. The deeper the depth, the more the vibration. For example:

(insert example here)

Using scope creep, that time next to the fireplace spent editing your dot emacs file now becomes even more personal, as you and emacs pleasure each other using what feels best for each of you.

Not only that, you can now experience the love others have felt while writing elisp. For instance, this function by emacs romance writer steve yegge…

Getting done

Org-mode is an incredibly handy task organiZation mode for emacs. It hands task outlining, calendaring, note taking, and other everyday needs. Many people also use it to implement the popular getting things done philosophy of task completion. However, there are few people familiar with the sequal to the originating book, which is just titled “getting done”. Deldo, when combined with the org mode package, implements the “haptic motivation” portion of the getting done strategy. Just set a vibration pattern to a task state, and when you change a task to that state, the vibration pattern will be replayed, either providing reward for a task completed, or motivation to get done.

Rudel and emacs telesildonics

Rudel is a collaborative editing mode for emacs, working much like the subethaedit editor for OS X. Using this mode, multiple emacs sessions can access and edit each other over the network.

Using the rudel package for remote communication and synchronization, your relationship with emacs can go from a one on one situation to fun for a whole group. Simply connect to a rudel host, share an elisp buffer, and start typing away at each other.

For the hands free interface I just demoed, with your remote partner in control, turn on the deldo-reval-timer mode, which will constantly reevaluate the code buffer while it is being edited, meaning no more c-x c-e ing, letting you concentrate on the pleasure generated by the remotely written code.

For example, on this netbook, I have an elisp scratch buffer with a single deldo command to set speed. The netbook is hosting this buffer via rudel with other machines.

On my macbook, I have a rudel client connected to the buffer on the netbook. The macbook is also running the deldo server, and is connected to and controlling the vibrator.

The End of the Editor Wars

With deldo, you have everything you need to take your relationship with emacs around all the bases, over and over again.

However, emacs is not all about love. There’s a war going on right now, a war that’s been fought for decades, with no real clear winner. Now, with deldo, that can change. Not only can we love emacs, but we can harness the ideas of eugenics and computational conception techniques to breed our way through this battle.

With deldo eugenics mode, and customized insemination hardware, not only can emacs can be your lover, it can now be your partner in raising a new, faster, smarter, lispier species that will take us into a new tomorrow, free of all thoughts of using any other editors. Simply run

M-x customize-group

and choose the deldo-eugenics variable group. From here, you can customize things like hair and eye color, physical makeup, intelligence, favorite elisp package, prefered flame war tactics, and other traits important to breeding a new emacs super user.

Finally, either use the emacs sperm receptical to deposit your genetic material for reconfiguration by the deldo-eugenics mode to fit the specified variables, or else the emacs insemination tools to fertilize either in vitro fertilization, or the deldo-teledildonics mode plus insemination capable toy for real time impregnation interaction. Once the setup is finished, run

M-x make-baby

Note that this is an asynchronous process that can take up to 9 months to complete, but your emacs session will still be usable during this time.

With deldo-eugenics mode, the editor wars can be won on breeding alone, as we shift the gene pool to a new, biologically inherent editor choice. For the rest of its doomed history, vi will truly stand for “vi”rgin.


Deldo gives you everything you need to take your relationship with emacs around all the bases, over and over again. Just create hooks to whatever package you like, and vibrate the night, or even the work day away! now being a vi user will truly stand for “vi”rgin!



In love with Emacs

Consumating the relationship

The 4 G’s: Good, Giving, Game, GNU

What is Emacs

A Text Editor

Not a Text Editor

Does Everything



DelDO library

Basic Hooking

Exmaple Implementations


elisp programming example

Depth example

Haptic error detection

Getting Done

Edited book cover

OrgMode Intrduction

Resolving a task


LISP is all the love you’ll ever need

Now vi truly stands for virgins

Jump to Line
Something went wrong with that request. Please try again.