Blast from the past: Paul Ford. I don’t remember how I got there but I used to read his site all the time. He’s still amazing. Read this perhaps dystopian father-daughter short story.
Alaska scenery
Gallery
This gallery contains 20 photos.
Mox
Gallery
This gallery contains 15 photos.
Emacs on Mac OS X
During the weekend I spent a few hours setting up a new hacking environment for my latest curiosity, Lisp. Evidently all the cool kids use Emacs for hacking in Lisp so I invested the time to revisit my Emacs setup.
Previously I would SSH into each server on which I had files to edit and run Emacs in each shell. This forced me to maintain .emacs
files everywhere and exposed me to network breaks. (I tried screen but OSX+screen+Emacs is the deadly triad of configuration hell.)
Now I use GNU Emacs for Mac OS X, a universal binary compiled just days ago from the GNU source. Instead of running Emacs on a remote server, I use TRAMP to connect and edit remote files. When I want to open a remote file, I prefix the path with /ssh:hostname:
or /scp:hostname:
. TRAMP can browse and autocomplete in remote directories just as well as in local directories.
I already keep my most used servers in my .ssh/ssh_config
file and I use shell scripts to start master connections with logs tailing in terminal windows. Master connections cut down on TRAMP connection times. TRAMP reads ssh_config
for hostname autocompletion, so I can open remote files in fewer keystrokes than ever before.
There so many benefits to using Cocoa Emacs instead of Terminal+SSH+Emacs. I don’t have to mess with Terminal’s key maps and then fix them in every remote .emacs
file. I don’t even need to install Emacs on remote servers. The kill ring integrates with the clipboard and works across all remote hosts. The network can’t lag my keystrokes or kill my editing session. Frames. Menus. Scroll bars.
I must stop blogging and get back to work. But first I must thank David Caldwell for setting up emacsformacosx.com. Of all the major hacking environment shifts I’ve made, this was the easiest and most powerful.
With Which to Psychoanalyse Julian Assange
Selections from Rubberhose.
Our journey begins with example code from the style guide showing a preoccupation with sex, drugs, and jail time:
enum myheadhurts {lsd, mda, mdma, thc, peyote, women}; [...] if (foo1 && boo1 && (sex1 && sex2)) [...] if (chdir("/home/lolita" == 0) lolitastuff(); [...] struct hurricane { int years; char sex; int parole; }
This instructional snippet encodes a government conspiracy:
== frazer.c == bool CIA_support = TRUE; static int campaign_fund; static int frazer_dollars: static char *frazer_mental_state = "hopeful"; void frazer(void) { frazer_dollars -= bribe_kerr(frazer_dollars); campaign_find -= frazer_dollars/2; if (dismiss_govenment && strcasecmp(dismiss_action, "care-taker")) frazer_mental_state = "hot doggarty dog"; }
Before we dive into a colorful autobiographical narrative, two brief fantasies:
onion routed block-device! yeah! nb. time to lay off the weed
The story of naming the program is an entertaining read. These highlights shed light on the character of the author:
Guards. Guardians. The Greeks didn't have many with bite and I'm loosing patience with the whole culture. Euphrosyne, Aglaia, and Thalia do not grace me. What I need is something that evokes passion within my cryptographic domain. And when you come down to it, that means something which produces copious amounts of gore and blood, at will, from those who would dare to pass its demesne of protection. [...] You had to hand it to Sigmund. He was nothing if not authoritative, and after reading his inspiring words on the terrific serpent haired woman, two things became clear to me. One, _Proffs_ and the Gorgon had certain unresolved metaphorical incompatibilities and two, Sigmund was clinically insane. I didn't want my software giving anyone a castration complex, but I didn't want to give up snorting coke either. [...] If MARUTUKKU was my exquisite cryptographic good, of wit, effusive joy, ravishing pleasure and flattering hope; then where was the counter point? The figure to its ground - the sharper evil, the madness, the melancholy, the most cruel lassitudes, disgusts and the severest disappointments. Was Hume right? Because if he was, there was only one organisation this string of hellish adjectives could represent. The cryptographic devil with its 500,000 sq feet of office space in Maryland. But surely there could be no reference to such an organisation in the 4,000 year old Babylonian tablets. The idea was preposterous. Wasn't it? TABLET VII OF THE ENUMA ELISH: ESIZKUR shall sit aloft in the house of prayer; May the gods bring their presents before him, that from him they may receive their assignments; none can without him create artful works. Four black-headed ones are among his creatures; aside from him no god knows the answer as to their days. It's a cold and wintry night here in Melbourne and the gusts of wind and rain seem to be unusually chilling. What had I, in my search for a cryptographic mythology, stumbled onto? I look hard at the seven letters E-S-I-Z-K-U-R. A frown turns to a smile and then a dead pan stare. I write down: IRK ZEUS
Finally, the quip that inspired me to compile these excerpts:
Some possible alternatives to passphrase based keying (we have some more notes on these ideas, but no code or concrete design documentation): [...] 6) Colour contrast discrimination. It has been shown that individuals see slightly different hues due to visual cortex and cone cell / retina variation. It maybe possible to design moire or other tests on 24 bit displays which are recognisable by one party but not another. Just hope no-one runs a magnet over your monitor. Interestingly, one drug that this method is highly likely to detect is Viagra, which intereacts with the retinal environment to produce hue distortions. Rubberhose is naturally arousing so we don't see this as being an issue.
Here ends an incomplete and unrepresentative picture intended for entertainment only. Cheers to you, Julian, for making life on Earth more entertaining. I wish you liberty.
p.s. I wonder how many encrypted aspects exist in the insurance file. You wouldn’t let one key unlock the whole file, spending all of your insurance at once. The first key must expose a little bit of data while leaving the bulk of it encrypted. If it contains anything as clever as a Rubberhose extent, one can never be certain whether the insurance policy has been exhausted.
p.p.s. Love the sig’:
-- Prof. Julian Assange |If you want to build a ship, don't drum up people |together to collect wood and don't assign them tasks proff@iq.org |and work, but rather teach them to long for the endless proff@gnu.ai.mit.edu |immensity of the sea. -- Antoine de Saint Exupery