I have a summer cold courtesy of my children and I’m not sure if it is making me more depressed, or providing a distraction from the depression. Either way, I got that summertime sadness fo’ sho.
An image that lives in my head courtesy of innumerable movies: an airplane (or sail board) in a crash dive, on a bet that the dive will kick-start the engines before it intersects the ground. That has been the first half of my year: betting I could realize my vision of Graceful.Dev before I ran out of funds. It was a close one, but as of this past birthday sale, I’d say engines are green and this plane is in flight. Thank you to everyone who participated and/or spread the word 🧡🧡🧡
There’s always more work to be done, but Graceful.Dev is, finally, the garden of developer learning I’ve been dreaming of for years. All 10 years of RubyTapas, and much more beyond, organized and groomed into living courses and garden tours.
I made my first new Ruby screencast in a few months to celebrate: Ruby Sequencing Operator. Depression notwithstanding, it feels good to be back in the saddle.
I’ve also popped my head up a few places online in the last few months:
- I’ve got an article up on InfoQ on developing in containers: Reproducible Development with Devcontainers (based on my QCon talk of the same name)
- I had a fun chat with Robby Russel for the Maintainable podcast.
- I talked Banana Stands with Michaela Greiler of the Software Engineering Unlocked podcast.
- I had a ball taking questions from the Vancouver Ruby Group.
What’s in my head
So I was at this protest the other day.
Actually, maybe I should back up.
My parents took me to protests when I was a kid. The person I am today would have been in the counter-protests to those marches.
Later, as an adult, I decided protests served little purpose. They conjured up a feeling of solidarity, sure, and reinforced your image of what total assholes the folks on the other side were. But they didn’t accomplish anything other than feeling good.
Like many technologists I suffered from a bad case of purposiveness. I demanded cost/benefit analyses. I wanted strategy. I wanted to get all Art of War on my goals. I wanted tests-first. I wanted zen calm until the moment of maximum leverage. I aimed to work smarter, not harder. I did not want to be associated with uncontrolled radical elements.
I was conveniently clever. My cleverness gave me a rock-solid excuse not to go to events where people were throwing actual rocks.
The years since 2016 have been an education. Maybe a de-education. I fought the realization for a long time, but I can no longer hide from the fact that the world I’m leaving to my kids will be a worse one, on many axes, than when I found it.
Now I read histories of people who broke their bodies on the struggle for civil rights and did not live to see any of their dreams realized. I admit to a Black friend that I realize it is a white-people-problem to struggle with the discovery that there is no triumph, that the light brightens and then dims, that progress is not our birthright, that we will not be alive to see the world saved. They laugh at me. Gently, because friends are gentle with each other.
I am less clever than I was. I attend protests now. I don’t know what good it will do. I don’t need to know. I know that the people I need to stand with are at those protests. There is a wisdom in their bones that says to gather together, a wisdom beyond cost/benefit analyses.
I know that there are lessons I need to learn in community, and I don’t know yet what those lessons are. I know people I respect, people I read about in histories and books of poetry, got their start organizing protests like these. I know there are people I need to meet whose faces I don’t yet know.
I think that maybe I too need to feel the candle-warmth of solidarity.
I tune into my synagogue services every Saturday morning now, while I work in my garden. In 2017 rabbi Susan opened the shul doors as sanctuary to protesters escaping from police violence. Dared the cops to cross holy ground to beat unarmed people protesting police beatings. In 2022 I look over and see rabbi Susan at another protest. I don’t know what I can accomplish anymore, but I understand better which people I want to be near in the time I have remaining.
Next to my bed now I keep the Gita:
You have the right to work, but never to the fruit of the work. You should never engage in action for the sake of reward, nor should you long for inaction. Perform work in this world, Arjuna, as a man established in himself – without selfish attachments, and alike in success and defeat.
The unit of progress is not a person. The unit of victory, of strategy, of purpose, of justice, of tikkun olam, is not a person. All I have is the work in front of me. All I can do is put my body where my mouth is. All I can do is show up.
So anyway, I was at this protest the other day.
It was a protest of police sweeps of unhoused camps. When the cost of those police could easily have housed the people being “swept” like so much refuse.
The protest wound through downtown St. Louis. At the feet of glass-and-steel towers. Past corporate art. It obstructed traffic. An angry white man stepped out of his car, screaming red-faced at the inconvenience. Over it all the Gateway Arch gleamed, built on low-rent districts condemned and bulldozed to milk money from the federal government.
Elon Musk had recently announced his intent to buy Twitter as part of a midlife break-up tantrum. And I got to thinking about the discourse around the ethical use of corporate social media. A lot of people were once again asking: where is the line at which the odious billionaire you are ultimately enriching is simply too odious, and you take your ethical stand by shaking the dust off your feet and bailing?
Alongside this was the familiar discourse about the social media we really need, and what that might look like. Is it Mastodon? Should the government nationalize Twitter and Facebook? Surely, there should be some uncommercial agora where everyone could have their voice heard equally. But what does “equal” even look like in a world of viral disinformation and willing human sock-puppets?
So there we were, wending our way messily, raggedly, inconveniently at the feet of proud corporate towers, and it got me thinking: this is what we are on Facebook, on Twitter, on Instagram, on (ugh) TikTok. There is no gleaming agora at the end of the rainbow for democratic discussion, for demands for equality, for protests for reproductive rights, for social justice. The important conversations are always going to be inconvenient. They are always going to be at the edges of “community standards”, unequally enforced.
The grubbiness, the out-of-place-ness, isn’t a bug, it’s a feature. The heroic triumphalism that plans for the right community, the right rules, the right financial incentives: that’s a bug, not a feature. There’s no elegant app for democracy. True community, solidarity, radical progress, is grubby and in-the-way. It’s an exploit, not a planned use-case. It’s a remix.
The unit of progress is larger than a person and smaller than a social network.
I’ve decided don’t care who owns the gleaming towers. And I’ve given up on the dream of replacing them with better gleaming towers by better people. I don’t care about the purpose of the system. I’m gonna be camped out under overpasses as long as I can be, holding up my candle, getting in the way. Online, and in the streets.
I hit “publish” at that point and went to seek solace in cold iron, but a coda occurred to me while lifting.
Rabbi Susan re-told the story thusly:
[transcription errors are mine]
Whoever this guy is, Balaam, prophet, sorcerer, something holy, something out of the ordinary. But he doesn’t see everything. And his donkey does, somehow. He has this trusted donkey that he’s been traveling with, and the donkey leads him off the road and he beats him three times.
And finally the donkey says: “What gives?! All these years we’ve worked together. We’ve walked together? And now you’re beating me.”
“Well you ran me off the road!”
He says: “Open your eyes! Big shot prophet. Open your eyes and look.”
And he stops for a moment. He slows down. Because… He’s on his way and he’s hurrying and he thinks he knows what to do thinks he knows all the answers
to solve all the problems.
He thinks he knows. But he’s goin’ too fast. Feels too desperate.
I know that feeling. I want to fix abortion. I want to fix gun violence. I want to fix everything.
Sometimes you go too fast. You don’t see the dangers on the road. And so the donkey opens Balaam’s eyes. And he sees the angel there with the sword. He would have been killed by it, if he had kept on the path he was on.
…so when he gets to the mountaintop, and he’s ready to curse the people. What I like to think is that he slowed down. Took his time. […] Slowing down allowed Balaam… to look into the tents, and instead of a curse, he gave us a blessing.
Balaam starts out under the curse of purpose, of goal-orientation. As I tease apart the knotted ball of racism and colonialism and patriarchy in my own head, I find myself wanting to saddle my donkey. But more and more I understand that purposiveness itself, that goal-orientation, that OKRs are themselves the “master’s tools” that will never dismantle the master’s house.
Balak says to cut this gordian knot with a sword. Balaam’s Ass says that unraveling it inch by inch will change me in ways I can’t conceive. And whatever emerges will be less frayed, more connected, and stronger for it.
As always, thanks for reading. And do please write back.
(You’re reading the web archive of SIGAVDI. If you want to write back you can subscribe here.)