Mike Zamansky is back with the fourth video in his Learning Elisp series. In this video, Zamansky begins building some real functions by considering the rot13 utility. Rot13 is a simple function built into Emacs and other utilities mainly as a way of protecting those with delicate sensibilities from potentially upsetting material. The idea is that each letter of some text is rotated to the right by 13 letters with the appropriate wrap around. If you apply it again, you get the original text back.
It’s conceptually simple but there are a bunch of annoying details such as the fact that the lower case a
is not 0 or 1 but 97. There are some other wrinkles as well that the video explores as Zamansky develops the material.
He begins with a lengthy detour into the history of Usenet and the genesis of rot13
as a way of sparing the faint of heart from possibly disturbing material. The text was “encrypted” with rot13
which served as a warning of dangerous material ahead. Those who felt up to it could “decrypt” the offensive material to see the joke or whatever it was.
In his preliminary version of rot13
, Zamansky introduces the mapcar
function as a way of operating on each character of a string and of anonymous functions as a way of providing a one off function that isn’t worth cluttering up the name space with.
The video is 34 minutes, 12 seconds but Zamansky provides links to skip over the Usenet history if you’re not interested. If you weren’t around in the days of Usenet, I recommend watching it to get a better idea of the context in which rot13
made sense.