In 2000, Mark Z. Danielweski published House of Leaves. While ostensibly a
genre novel (horror), the book is much more than that owing largely to its
conceit, or if less kind, gimmick, that
there is a principal narrative
that is presented as the subject of a number of scholarly analyses
which were incompletely collected by a character who is dead
but which are arranged to completion by an unreliable narrator
who annotates the collection with his feelings about the action in a series
of discursive footnotes (his name is “Johnny Truant”)
which are collected by an editor who reviewed Mr. Truant’s work
which is read by you
which is also read and destroyed by a character in the principal narrative (and thus the ouroboros is sated)
In such a multi-layered tapestry there are many interesting discoveries and
connections, to be discovered and House of Leaves has sprung a cottage
industry of fan-theorists and analysis. I think I have found an “easter egg”
hidden by Danielweski for those familiar with Latin and, specifically Ovid,
that I’d like to point out.
As mentioned, Danielweski presents a number of narrative “frames” at the same
time in the book. To support the reader in keeping these voices, commentaries
and meta-commentaries clear, Danielewski uses the book’s layout and typesetting
to drop breadcrumbs for the reader guiding the way to which narrative “frame”
is being explored. For example, as a character goes through a narrow passage,
the margins grow tighter and tighter while using the typeface of the innermost
Danielewski, who did much of the layout design himself, uses layout as a tool
for communicating the action and mood of the characters just as he does with
his word choice, etc.
SPOILERS: It should be obvious that there will be some spoiler potential
after the jump.
Chris Granger recently published a post that asserts “Coding is
not the new literacy.” He points out that “literacy” is defined as the
“laying” of characters into units that bear meaning (letters to words, words
to sentences, sentences to thoughts). But “literacy” is a proxy noun for
something vastly more important: a technology for storing information such that
it survives across people, ages, cultures.
I recall Ovid whose prophetic close to the “Metamorphoses” was:
And now the work is done, which neither Jupiter's wrath, nor fire, nor the
sword, nor greedy time can abolish....my better part[this work] will be
Literacy was magic because the laying of letters yielded immortality. Ovid
supposed that his work’s immortality would require mouths, ore legar
populi (“recited in the mouths of the population,” recitation as mimetic
preservation), but with the advent of cheap yet durable writing technology,
immortality could be more cheaply gained by means of finding home in the books
of the populus (publication as mimetic preservation).
But what if we could make the component pieces of abstract thinking similarly
That’s exactly what programming and its concomitant activity coding are.
“Programming” is the skill wherein we calm our distracted minds into expressing
a sharable, abstract computation activity that solves a problem. “Coding,”
similar to “literacy” is the mechano-visual skill whereby one expresses the
solution. “Programming,” therefore is one: fungible, transcendent, and
unbound to any particular language. “Coding,” by contrast, is necessarily
bonded to an “implementation language.”
As a teacher my pedagogical approach privileges teaching “programming” over
“coding.” Yet I must wrestle with this difficult conundrum: to teach
“programming” I much teach students “coding,” and that means I have to choose
a language of implementation.
I recommend Ruby. If my goal is to teach “programming,” then I want a language
that has a clear syntax, has very few surprises and allows the student to
focus on the “Tao of Programming” and not the “WTF of function-level scope?” A
friendly syntax allows students opportunity to work at understanding
“programming” before understanding the multiform and delightful ways that
different styles of “coding” can provide more or less expressive, concise, or
clever ways of achieving crafting the same “programming” unit.
As my colleague, Anne, once pointed out: “It’s easier to explain to someone
what a mansion is after they know what a hut is.” If they’ve never seen
either, you’re in a check-and-egg situation. To me, Ruby provides the maximal
perception of programming while keeping the syntax, surprises and tangles of
“coding in Ruby” out of the way.
Also, experienced Ruby hands know that thanks to lambdas, blocks, and
Procs, Ruby can be adapted to reach extremely sophisticated utterances while
its introductory interfaces remain friendly.
Why Not C?
One might suggest that C reveals the fundamentals of the machine in a small,
approachable, logically consistent fashion. C also has the virtue of being
like Plato: all further work is largely a response to the framework he / it
established. I recall a conversation with Aaron Hillegass in Rome where he
supposed that he would teach his (then!) young sons C as a first language.
I can’t disagree with the beauty of C as a first language: it invites
engagement with the machine, invites understanding of memory, and can be
understood, beautifully, as a series of markings-off of lengths on a single
length of tape (no coincidence when one of its primary storage media was, uh,
Nevertheless, to write a primitive CGI script in C a student will quickly step
into the challenge of string parsing in C, they will have to write separate
handlers for GET and POST, etc. Lacking experience with discipline around
modularity, managing complexity, and pointers, the “programming” lesson gets
lost in the “coding” ephemera.
The method I teach under tries to educate rapidly in a small unit of time. For
such a program C seems unnecessarily clumsy. One of C’s many virtues is
clarity for those who already know how to program, to presume that for a
student is a disservice. I recall Larry Wall, creator of Perl, once saying
that he learned the C language in a trivial amount of time, but learning its
standard library took a non-trivial amount of time.
That it is part and parcel of a widely-distributed development platform (the
browser) with an integrated REPL (developer tools) would seem to make it seem
preferable to Ruby whose dependency / version manager toolset options present a
complicated hurdle to the beginner.
the language has a number of strong drawbacks. First, it’s rather verbose. If
I never have to type function again, it will be too soon. But I consider
that con to be trivial compared to the following drawback: to accomplish simple
work (say mapping over an array) a number of implicit mental models are
required to already be in place. Further there are some scary bugaboos lurking
in minds where those mental models are imperfectly present. Consider:
While an experienced programmer may see no significant shift, consider the
Function as first class data i.e. is not executed
return i * 2 is not in the same context as [1,2,3] was
Arity is not enforced and desired data may be present but not “captured” by a
arguments as a hidden construct (part and parcel of arity)
The Ruby example does the same work but has, in my view, far fewer punji pits
laying in wait for the tyro. Based on its implicit assumptions around
audience member at the first NodeConf, nothing was more humanizing and
ego-salvaging as watching Ryan Dahl muttering over a livecoding bug
Thus, for the moment, I recommend using Ruby as a primary teaching language.
While Ruby is the coding language I recommend students start with, owing to
it’s ability to get out of the way and help students learn programming, I
believe it is the optimal choice. Having seen and felt the Tao of Programming,
I’m positive that learning to code any other language is a vastly simpler task.
For the last year I have been teaching passionate beginners about programming
at DevBootCamp. In this time I have come to realize that one of my
primary tasks as teacher is to process the patterns and idioms of the computer
and of programming languages (as I have experienced them) and rareify them into
metaphors that my students can grasp experientially and/or emotionally. Having
found an emotional or experiential connection to the rareified metaphor, they
are able to condense it back into the universe of text-on-screen where I show
the praxis of the metaphor.
The primary advantage to this approach, as I see it, is that even if the praxis
of “what to type” or “what is the computer doing” is unclear, having a series
of metaphors whereiwth to communicate or reason about the praxis greatly
Given my own philosophical bent, one question I have been pursuing in
discussion with my students is this: “What is the the metaphor that describes
Data’s Sine Qua Non
It all started rather simply. I was a bit chagrinned to see my students
reaching for incorrect tools (e.g. sublime) when attempting to get information
from their server logs or from large files. Realizing it was my duty to make
sure that machine navigation was as well covered as
SOLID programming principles, I assigned work on researching the Unix primitve utilities:
cat, head, tail, sed, et al.
These utilities' functions are generally described as the following:
Display the contents of a file on the screen
Display the first 10 lines of a file on screen
Display the last 10 lines of a file on the screen
Display a "page" of screen data from a file
While this synopsis certainly works for those learning to use a Unix
system, it fails philosophically as one starts to learn more of the features of
some of these commands.
It is commonly said that you can’t judge a book by its cover. Most people have
a story where this wasn’t true and here’s mine.
Help me internet! Who designed this cover?
This amazing cover to Camus' “The Stranger” got me to read this book and my
life was never the same afterward. But before I tell the story of its impact
on me I must ask: “Does anyone know about who made this cover or who this
troupe on the cover is?”
This cover was one of my first exposures to conceptual art. I had never seen
anything like this: the make-up, the absurd yet regimented uniforms, the
implication of “theatah.” I had to know more. I went out and bought my own
copy of the book for a few dollars at a local used book store and read the
strange work whose famous beginning Today mother died. Or perhaps yesterday,
I’m not sure clearly signaled to me that I wasn’t in the realm of
school-sanctioned literature anymore. The cover feels French (certainly likely
giving Camus' Algerian-French heritage) and recalls some of the set design of
Jean-Pierre Ponnelle and thus dates it to the late 60’s early 70’s, but cover
art information is not included in my copy with this art. If anyone knows,
please @-message me on Twitter!
I won’t say that I liked the book, I won’t say that I liked the protagonist,
Mersault, but the worldview behind the character was rich and read like a
thought experiment about what it would be like to have emotions stripped from
you, what the burden of murder might be, and what might make life worth living.
It was my introduction to Camusian Existentialism and the book left a
monumental wake in my life. Owing to the cover and the book I would learn
French and buy a copy of “L'Étranger,” read it in its native idiom and
still come up short in an attempt to qualtify and compartmentalize it. My
inability to compartmentalize it and box it up lead me to search for more
answers and, utlimately, lead to my Philosophy BA.
It’s been about 16 days since I announced our pending move to New York, so I
thought it would be a good time to give an update.
On the 10th of this month Lauren and I had the great pleasure of attending my
cousin’s wedding in Los Angeles. It was a wonderful affair in the open air
patio at the Oviatt Penthouse. There we were
able to see my sister, brother-in-law, mom, aunts, uncles, cousins and their
spouses. It was a wonderful visit to LA: sunny and hot, but not too hot with a
warm glowing evening that lay rich upon the night-crawling denizens of West
Thence we flew to NYC JFK and spent the next week looking for a new home. We
worked with a wonderful broker named Alexa Williams
with Elliman. She took us around to a beautiful property in the Battery: high
above other skyscrapers we could look down and across Manhattan’s stock
exchange districts. From the sky deck we could look out over the East River,
look toward Staten Island and see the Statue of Liberty…it was a dream.
But it wasn’t for us. It was too corporate, too far from a safe green space,
too close to my work, and, frankly, for an Austin / San Franciscan type, just
too darn busy. We also tried another gorgeous property in Greenwich Village.
But again, for a couple with a poodle the terrain was too small and too far
from the green that our little Byron loves so much.
Sadly, the spaces just didn’t feel right. We were back to square one. We
found a broker who specialized in Brooklyn and the Prospect Park area and she
said she knew of a unit that was just about to hit the market. We were invited
to come out and check it out. When we entered it we just knew that it was
It’s a 3rd floor, walk-up, 1 bedroom in the Park Slope neighborhood. It’s most
special feature is that it’s one block away from Prospect Park. The space is
freshly refurbished with new appliances throughout. We spent the rest of the
trip arranging cash and paperwork but when we got back on the Virgin flight
back to LAX we had a signed contract for our habitation beginning on November
One crucial and very, very big piece of our relocation has been locked in. The
next steps are packing, moving, and becoming landlords ourselves. Gulp.
Today we went and picked up the collapsed boxes of another couple in San
Francisco who just moved apartments. We loaded up my car with their boxes and
dumped them in our living room floor. Now comes the boxing part of the move.
We’re going to be getting out of here a few days ahead of the 15th.
During my hiatus I didn’t mention the fact that we bought a dog. We bought a
gorgeous moyen poodle from
Karbit Poodles. We had been tossing around the
idea for years but I just think we finally felt that the time was right.
Why a Poodle
Poodles are a good match for allergy sufferers (me) and they’re very
intelligent, trainable, and athletic which was a strong requirement for Lauren.
Like most people I had that French foo-foo conception of a Poodle but that’s
not true! A Poodle is a working dog: bred to be an assistant to subsistence
fishermen in marshy estuaries (like the Thames). It was in this environment
that the arms race for intelligence started and thus the poodle is a highly
intelligent breed that lives to serve.
I didn’t know they were so versatile and intelligent, but as we researched the
breed, the more we wanted to meet one. I found some breeders in Northern
California, but none of them had puppies. One of the breeder did tell me
that a breeder in Reno had just had a litter and that I could go meet those
puppies and that, at worst, “it’d be a beautiful drive this time of year.” I
contacted Karin, the proprietor, and she sent us pics of her beautiful litter
and we immediately fell in love with Mr. Red Collar Boy.
My last update was about this time year ago. At that time I was starting to
feel a need for a change professionally. I had been working doing Rails and
something different. I loved the team there though so it wasn’t particularly
urgent for me to leave but then Fate made a move.
I received an email from a recruiter (nothing new) but this one had actually
taken a look at my work and at my conference talks and wanted to know if I had
ever considered putting my skills and interests into teaching. He also asked
if I would be willing to talk to some of the staff at devbootcamp.com.
Like most modern, large cities, San Francisco has no shortage of
homelessness or panhandlers. What I was unaware of was the level of
I had to do a mid-afternoon run to Walgreens to drop off some photos to
be developed. While I was standing there the manager was detained by a
guy pressuring him to “cut me a deal, man” such that the juice that was
on sale would have a similar price discount applied to another juice.
The manager insisted that that was not possible and after a bit of a
give and take the customer relented and went on his merry way.
As luck would happen the price-conscious patron was headed to the corner
by my office to meet up with his wife and daughter. As he approached
the little girl, adorably perched on a retaining wall edge yelled: “It’s
Daddy! I want kisses!”
“My goodness,” thought I, “the man was doing it for his family!” I was
touched by the dream of a scrappy family minding the dimes and quarters
in this Maybach and Cristal city. I headed back to the office slightly
warmer from the emotional sunshine.
A few hours later it was time to leave and as I reapproached the same
corner. There I saw the wife and the adorable daughter. Daughter was
swinging on mom’s leg, mom held a cup out, a sign was up asking for
As I lingered reconciling what I was seeing with what I had seen, I
peeked quickly but keenly through the tall grasses in the garden behind
the aforementioned retaining wall. There I could hear Daddy sniffling.
I suppose he was there to lurk out of scene to make sure that the girls
weren’t interfered with in their money-making.
I walked away a bit more jaded than I was before.
I came to a woman seated on the sidewalk with two dirty tots sitting
next to her on a flattened cardboard box. The cup was out. An older
gentleman in a find hat passed them and turned back with a dollar in his
Based on an interview with Eagleman that I heard on To the Best of Our Knowledge, I thought I would give his book, Sum a read. The book
offers in its first four chapters a layperson’s guide for understanding
consciousness and provides an introduction to the neuroanatomical
features of the brain. The book then portrays how the brain operates
as, to borrow from Doris Kearns Goodwin, a “team of rivals” of which
consciousness quite often has no control. Thereafter Eagleman makes a
thoughtful presentation on how society ought punish and judge in a world
where the assumption of free will, a concept at the heart of
jurisprudence since antiquity, appears shaky by virtue of the previous
While the opening chapters offered little innovation compared to other
pop neuroscience texts, their rudiments allowed the exciting
explorations around law and culpability to be presented in the latter