stevengharms.com

Sententiae viri ex temporibus duobus

The Thoughts of a Man from Two Times

The Panhandling Game

Like most modern, large cities, San Francisco has no shortage of homelessness or panhandlers. What I was unaware of was the level of organization.

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 change.

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 hand.

To the poor or to the pimps?

Read: ‘Sum’ by David Eagleman

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 discussion.

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 chapters.

Translating Giordano Bruno

I have finished translating (although I’m not sure the level of proficiency) the first quarto page of Bruno’s “On the Shadows of Ideas.”

It’s been a real treat to get back into Latin.1

You can see my progress at my Github hosted blog site dedicated to the translation: Translating Bruno’s DE VMBRIS IDEARVM.

Footnotes

  1. “Treat” coming from the ancient Latin word meaning “profound pain” requiring a half-dozen of grammatical references, grimoires, and dictionaries.

Talking to Friends With Children

All of my college and post-college friends are married and have children. I will go so far as to note that none of them have babies (which was a cute and novel phase) anymore, all of them have real-deal children, small humans with free will who have some semblance of the capability to reason and to express themselves: children. The kind of whom is said “We took X hiking for the first time” or “Can now ride his bike without training wheels.”

So when our busy schedules line up such that we can catch up, their stories and lives largely revolve around these small humans: kindergarten choices, the “strip off all your clothes and run around the neighborhood” incident etc. I love these stories, they make me laugh, they make me cry. They’re great stories told by wonderful people about amazing small beings becoming wonderful people.

But then, reciprocally, I’m asked “What’s been up with you?” or “What are you doing tomorrow?” and I feel incredibly awkward. Because the truth is, my day-to-day is, to be honest, kind of the envy of the weary, responsibility-laden parent.

So there you are, in the lovely home, decorated with lovely finger-painted pictures, near folded bibs and pajamas and made ready for loading up in to small, sticker-covered dressers in adorable purple rooms bedecked with stuffed animals and they ask you this and, if you reply honestly, you will sound like a complete jerk or someone who’s “rubbing it in.”

“Well I was planning on sleeping until I woke up, then grabbing some pancakes at this brunch place up the street, then maybe reading a book I got from the library that’s due back next week, then a nap, and then going grocery shopping before it gets crowded.”

Jerk

Birth

I don’t favor magical thinking or magical explanations. I’m a rationalist. But I would like to magically think in this post. This is how I think poetically about childbirth. This feels a bit like it has the voice of Gabriel Garcia Marquez to it (or I like to fancy such!) but it’s something I’ve had scribbled in a file for a while now. It also has some Dante influences.

Motherhood and The Voyage Across

When children are conceived, the father gives half of his body and the mother half of hers. When those germs meet inside the mother, a body begins to grow.

She loves the body inside for nine months, she nourishes the body with her blood, she gives it her food, she gives it her water; but it does not have a soul yet. She gathers the soul for the body on the day the child is born.

On that day, the body inside will quest for the light, but the mother, she must quest across the sea of Death.

Labor is pure pain and focuses the mother on her single task. The pain is stern and hard to convince her soul to release itself from her own body. Life requires mingling with Death and challenging Death is always done by souls, never by bodies. Her soul must swim across a river claimed by Death to the Heavenly Realm where souls waiting to be born wait for their mothers. Her soul ties a spiritual tether to her body and then, pried from the body by her pain, it swims a black, dark sea.

Favorite Quotes From Questlove

I was very inspired by Questlove’s interview with Terry Gross on “Fresh Air.” It has helped decorate several blog posts but I had these last two passages highlighted but couldn’t find a way to fit them into my posts. So, here they are for grins.

"The artist known as Questlove"

Amir “Questlove” Thompson

THOMPSON: And this is the one character trait in me that the people closest to me absolutely abhor, the fact that I’ve very nonchalant about everything. I’m not saying that it wasn’t a big deal, but it’s just that I’ve come to the realization that every day my life has this sort of Forrest Gump existence. Like every day is an I was there moment. So it just becomes, you know, a little redundant to get excited about every day when every day is sort of like a high.
I understand that they’re high for other people, and I vicariously get excited. Like the day that the book came out, everyone called, like aren’t you excited, aren’t you excited, aren’t you excited. And, you know, I was, like, trying to fake it, like yeah, I’m excited, I’m excited. But really I was like yeah, OK, that’s nice.
You know, that’s just how I am. I just, I don’t mourn the bad. I don’t celebrate the good. I just walk forward, that’s all.

Lauren says I’m like this. Good things happen and I smile. Bad things happen and I sigh, but theres’ no real emotional swing. I remember some of my high school friends remarking on this trait many years ago. I’ve just never seen anything as so bad that you couldn’t plan over or around it, nor have I seen something so great that it merited loss of one’s senses. It was nice to see someone else describe the world in a similarly neutral-Stoic way.

So there’s already like a scary element that attracts you. Like, you’re attracted to things that are frightening. People go see horror films, people riding roller coasters. I watched the first 30 seconds of “Soul Train.”

I never was much into “Soul Train” but that intro was SCARY and COOL and on right after cartoons ended.

GROSS: You know what I love? I love that you know that the guy who shouts soul train happens at the 10 second mark.
(LAUGHTER)
THOMPSON: That’s how obsessive I am with unnecessary information. Sorry.

Everyone who knows me knows that I love trivia: especially movies, producers, art, gestalt, influences. I don’t know why. Maybe, like Mr. Thompson, I may have an autistic streak.

The Where of Creation

I’m fascinated by how people describe the act of creation to outside observers. What exactly is happening “in there” when a writer tries to tell us Zorba’s anguish is so great that he must dance, that the weight of modern life can only be expressed in rich tonal hues (e.g. Rothko), or that an if/else construct can be elided if the determining evaluation is made more ignorant 1? Who is it that solves problems when we’re trying to puzzle something out? Who is it with whom we argue to decide whether to add or take away a dollop of paint (or, for that matter, eat a cookie)? It’s a wonder that we’re able to go through these ineffable states to arrive at abstractions that help us create new solutions, but it’s an even greater feat that we’re able to abstract that process and communicate it by gestures, sign, and metaphor to one another. In sum, how do creators go about creating?

Inside

Consider a hard problem in a creative endeavor; I’ll consider programming, the field with which I’m most familiar. It’s become very clear that the thing that “solves” a problem is not really under my control. If I think about my “ritual” to enter the “dream state” where problems are resolved, I realize that it’s all a form of cargo culting: I’m doing rituals that I believe make my brain, over which I have only nominal control, offer up a solution such that I can utter: “I know!” or “I had an idea.” While I do my best to not let my mind stray, I’m certainly not “wiring up” connections a la a 1960’s switchboard operator nor am I drag-clicking mental components as if I was seated in front of the Smalltalk or Self or Interface Builder graphical programming environments.

"Interface Builder "Picture of Apple's Interface Builder"

Is there a thing I could do that would more directly produce “Eureka!” moments? No. Is there a communicable process whereby I could tell someone to execute a series of steps in order to come to the same insight? No. I have to try to perform a dance of cargo-culted behaviors (charts, blog posts, poor drawings on whiteboards) in order to convince their own unconscious processes, over which they too find it convenient to believe they hold control while having only little, to offer up to them a “Eureka!” moment.

Ego

It is clear that we are not in control of our own insight capabilities. Nevertheless we tend to use ego-centric, originative language to describe our ideation process e.g. “I had an idea” or “Oh it just came to me.” Despite our clear lack of control about ideation, we find it very attractive to let our egoes claim credit for it. Who is the “I” in those exclamations about successful ideation?

Reading: The Early History of Smalltalk

Introduction

Before I went on vacation I printed up a copy of Alan Kay’s seminal paper “The Early History of Smalltalk.” The article is quite fine and provides a background on the ideas that were in the computing zeitgeist of the mid- to late-60’s and which lead to the innovative programming language Smalltalk in the late 70’s and early 80’s. Remarkable about this article, and lamentably rare, is that Kay’s erudition in the fields of philosophy and biology shine through in his lucid text and provide a holistic series of metaphors which make his technical writing a joy to read.

I tweeted that it was sad that so many developers today feel it necessary to deride the humanities when Kay’s consideration of, and occasional deference to them, has helped make him such a luminary.

While I would recommend that pretty much anyone in a technical discipline would be greatly enriched by reading the article, here were a few high points that I highlighted as I read.

Questlove Describes Programming

On a recent episode of “Fresh Air,” Terry Gross interviewed Ahmir “Questlove” Thompson, the bandleader on Jimmy Fallon’s “Late Night” show and one of the driving forces behind one of the most protean hip-hop acts ever, The Roots. I really can’t say enough about how much I enjoyed the interview. One of the most interesting bits is how he described deejaying. I was struck by how similar it is to the way I hear other programmers describe coding:

Here’s Questlove on Deejaying:

I believe the number one rule of DJ is: You have to immerse yourself in music. Immerse. Not love music, you have to immerse yourself. […] is: So for me it’s like a chess game. I’m thinking about the payoff song that’s going to be 20 songs from now and how can I build up to that moment. […] the only time that I will be a complete ass to a person is when I’m deejaying. I absolutely want zero interruptions, because I’m in a trance and you’re breaking my trance, and I need to know how to get from point A to point B. […] I can go anywhere. […] that world is my oyster and I need complete absolute concentration.

Let’s do a few search and replaces to make that quote describe programming, shall we?1

Automating Installs With Chef

Recently, for some reason, I’ve found myself creating a number of virtual machines: Linux machines, AWS machines, new machines, etc.

Invariably, the first things I want are to get “my” personal toolchain in place. I want:

  • my vim configuration
  • my tmux configuration
  • my favorites libraries
    • Ember
    • Ember Data
    • Query
  • my Ruby version manager (chruby)

To this end I have adopted “Chef”. Thanks to the following superior documentation resources, I found this to be not too much of a pain.

Figure Out EC2 Instances on AWS

I had never used EC2 or AWS for computing services. This is a means for getting a virtual machine that you can pay for per-use from Amazon. The reason I wanted one of these is that I wanted a development machine that I could work on and throw away if I messed it up too bad. Since I wanted this deployment solution to “pretty much work” without me minding it I wanted to be able to destroy the machine completely and make sure that my deployment and configuration worked.

Since I decided to use Ubuntu for my target operating system, I was able to follow Ubuntu’s great guide on getting Ubuntu on EC2.

Use Chef to Configure a “Pristine” System

Thanks to (the great) Jo Liss’ documentation on how she automated her deployment process with Chef, I had a great framework for using chef-solo deploy my recipe and get things running. Thanks to Jo’s example I was able to get my own “recipe” on the remote host and do some trivial “test” tasks (install a package with apt-get, ensure ruby was installed, etc.). From there it was just about adding more tasks (in Chef-ese these are called “Resources”) to my recipe. I put all my “Resources” in a single “Recipe” in a single “Cookbook.” This means that I can’t pick-and choose my recipes (as) flexibly but I don’t see that as too much of a problem since my deployment targets are fairly uniform. I did take an approach that I think may help my monolithic resource be a bit more flexible, see the “Tips” section below.

Taking a quick look at Chef’s Resources page should demonstrate just how many tasks Chef can make easy for you

Iterate

Nothing fun or sexy about this one. Iterate on getting the resources to do what you think should happen. Re-run the recipe. Does it work?

Tips

Focus on idempotency (which I pronounce e-dem-pO-tency because I cannot bear mangling a purely Latinate word): make sure that your script cleans up after itself and returns the system to a “pristine” state. As you develop you will probably have to re-run things several times so a leftover temp directory could be the difference between a successful and unsuccessful run.

Embrace conditionals to speed up development: as you are iterating, if you do clean up as I suggest, you can put in test clauses such as not_if which means that instead of re-running some long process (like building Ruby) you can test if the binary is where you put it. If it is don’t rebuild. While you might go get coffee for the first pristine build, it’s nice to have successive iterations avoid the long steps and simply try to integrate new differences.

Leverage the shell: One of the resources is run pure bash script. I put several bits of logic in bash because if I were ever on a machine that didn’t have chef (for example, there is no build available for my laptop, presently), I could run a manual step or two and then copy and paste out the relevant sections into a shell script which I could run on a one-off basis.

Conclusion

So there you go, chef can make building a deploying new systems to baseline much easier. As always, it’s much easier to delete unwanted behavior than to write new behavior. Chef gives you something that’s a bit more nicely abstracted than a shell script (seriously, how brain dead is a shell script test for directory presence or substring substitution? Can you ever remember that syntax right the first time? I cannot).