Skip to content

Instantly share code, notes, and snippets.

@sleepymachine
Last active March 18, 2019 02:44
Show Gist options
  • Save sleepymachine/f7e06e556190c72cf6267004f50abe4b to your computer and use it in GitHub Desktop.
Save sleepymachine/f7e06e556190c72cf6267004f50abe4b to your computer and use it in GitHub Desktop.
About learning the craft

Project: Learning the craft

[Excerpted from my writeup of workplace organizing. (Brief overview.) Goals: increase bargaining power vs bosses; undermine the programmer priesthood by demystifying their technobabble]

"Suppose, for example, that I am a teacher who loves mathematics. I encounter a student who is doing poorly, and I decide to have a talk with him. He tells me that he hates mathematics. I do not begin with dazzling performances designed to intrigue him or to change his attitude. I begin, as nearly as I can, with the view from his eyes: Mathematics is bleak, jumbled, scary, boring, boring, boring. From that point on, we struggle together with it."

— Nel Noddings, quoted in "Women's Way of Knowing"

From our class notes on logic gates

Dramatis personae:

  • or: tries to see the good in all its inputs
  • and: elitist asshole
  • not: single-minded, likes playing a contrarian

Zodiac

  • or (0111): You love diversity and seeing good in things. You often have a hard time saying “no,” which is why you often rely on and to be more discriminating.
  • and (0001): For you, things are either completely good, or not at all. People think you’re single-minded in your pursuit of truth; but when it comes time to discover the proverbial needle in the haystack, everyone inevitably turns to you.
  • not (10): A natural contrarian, you bring down the wealthy and raise up those with nothing. You may just do one thing, but you do it well. and frequently calls on you to flip its perspective.
  • nand (1110): When you team up with other nands, you feel you can accomplish anything that other zodiac signs can. When and, or and not take all the limelight, you are prone to fits of envy, because you know you could do it all too. In fact, you probably do.
  • xor (0110): Bored of repetition, you seek conflict and hard choices. While you must speak in the same no/yes false/true 0/1 duality, so others can understand you, you don’t see the world that way. Together with and, you discover commonsense truths like 1+1=10.
  • nor (1000): You can do anything that nand does, and therefore all the rest of them. But almost no one ever credits you (except as a footnote), do they?

One coworker didn't know what a CPU was. But after about 3 months of secret half-hour lunchtime classes, she translated between two "machine language" notations and found a bug in my "assembly language" specification.

If those words sound like technobabble, you're not alone. Her boyfriend told her that even most professional programmers consider this topic dark magic. Knowing tech arcana raises your esteem in others’ eyes.

As usual, I sucked at first as a teacher, trying to converge onto her mindset. But by the third class, we found a groove. Computing's a broad topic; I offered various options and she increasingly focused on building computers from the bottom up.

The slim book "The Elements of Computing Systems" was invaluable. We designed a computer on a whiteboard, starting from logic gates. I had major holes in my understanding, so I often pushed myself to digest it before teaching it the next day.

We understood things in multiple ways. Anthropomorphizing things leverages our mental machinery specialized for human relationships. Images leverage our ancient visual circuitry. We treated a CPU like a board game.

Good for learners to feel puzzled. They’re simply introducing knowledge to their powerful unconscious, which will explore it in dreams and empty times. Office workers find it hard to show their puzzlement, since normally they’re punished for this. But understanding is more important than superficialities.

I wish someone taught me like this. Intuition: I was a midwife teacher. The learner building knowledge is engaged in a creative act. I’m not sticking knowledge in their heads. I’m helping them build it.

I noticed she wanted to stay theoretical, always avoiding a computer. For many weeks, I imagined she had a hyper-abstract mind. But a weekend retreat for women programmers unleashed her inner codemonkey.

Then she could explain: during lunch, work lurked in the back of her mind. Simply couldn't focus on programming. That weekend retreat cleared it all away because she was separated from work in time and space.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment