Tuesday, May 31, 2022

Review: Life in Code

I finished Ellen Ullman's book "Life in Code" (2017) last week. It's a marvelous collection of essays primarily concerned with computer programming. Her essays touch on the actual act of programming, but also the impetus of coding: what motivated her to want to learn to program a computer? She also tackles hoary subjects like computer privacy, the gentrification of San Francisco and artificial intellegence. Despite the title, the book is very accessible.

Ms Ullman explains her compulsion for coding by relaying her experiences with the Sony Portapak. As a college student, she reveled in the Portapak's utility as a video recorder. Released in 1967, the Portapak's size and cost instantly made video production easier and more accessible for the masses. She became an expert in how to use this machine to its fullest. She saw it as analogous to the appearance of the personal computer: a revolution in the old world order.

"I learned I had no fear of machines," she declared. Her ability to engage with the Portapak propelled her past videography and directly into a purchase of the TRS-80, an early personal computer. From this, she leapt into a computer career that spanned twenty years. She speaks fondly of her computers as "fine machines." She reminisces about talking her way into computer jobs, but she proved a durable ability to work on and solve computer problems.

She comments on the taciturn qualities exhibited by most programmers. "People imagine that programmers don't like to talk because they prefer machines to people. This is not completely true. Programmers don't talk because they must not be interrupted." She accurately distinguishes between low-level programmers versus high-level programmers. ("High is bad. If you want any money and prestige, you need to write code that only machines or other programmers understand.")

She knocks down the common analogy that computer algorithms are like cookbook recipes. Nothing could be further from the truth and she makes compelling cases for her argument. "For example, try to think of everything you know about something as simple as an invoice. Now try to tell an alien how to prepare one. That is programming." She imagines a hypothetical robot being asked to follow a recipe, and she wondered how we humans would translate for its computer mind the instructions "[sauté] quickly to a nice brown outside and a rosy center."

I read this book as an audio book while driving to and from New Jersey (from Boston). Ms Ullman was the narrator. Her voice over my car speakers made the book more personal. As she read her passages about the challenges of a varied programming career, she wove in stories of love, loneliness, her old cat and (yes) making dinner. I marveled at how seamlessly she brought in these subjects. Her writing is exquisite: refined, direct, yet evocative. I highly recommend "Life in Code" and I look forward to reading it again!