Note: this was originally posted on a Substack newsletter that I abandoned after two issues. Here’s the first one, converted to a regular blog post.
Hey! Welcome to the first issue of the Hardscrabble newsletter. I’m Max Jacobson, a software engineer and writer from New York, filing this correspondence from Cape Cod, where I’m visiting with my parents for a few weeks. A small amount of context: “Hardscrabble” is the name of my blog that I’ve kept over the last seven years as I’ve gotten my feet under me in tech. Before that, it was the name of a science fiction screenplay I wrote in college. Before that it was a road sign I drove past.
Each week, the newsletter will come in 3-4 segments: a story from my life, a workplace observation, a cultural recommendation, and some hyperlinks.
A story from my life
July 3, 2am. If you’d asked me, I would have told you I was trying to fall asleep, but if you’d observed me, you’d’ve seen that I was browsing TikTok. I had lowered the screen brightness to an ember’s glow, which I felt made it Good Enough Sleep Hygiene. I had a slight fever and chills and I was watching young people dancing to the same twenty second snippets of the same three songs.
(I’m 31 and I haven’t fully come to terms with not being plugged into What’s Going On Culturally, so I downloaded the young people app. I only follow people I read NYT profiles about, which I assume is also how the youths use the application. So that’s Charli D’Amelio (charming), Melissa Ong (hysterical), and Sarah Cooper (brilliant) and I’m now an expert on TikTok).
When you open the app, you land on the For You Page, which is a feed of algorithmically recommended posts. There’s no dates on them. They could be from whenever. It’s meant to be uncanny. When I open it right now, the first post is from a software engineer making jokes about what it’s like working as a software engineer, and it’s funny, and I just tapped through and watched all of her videos. OK, so it’s uncanny.
That night, the second or third video I scrolled past was of a young woman named Claira Janover introducing herself “for the non-existent number of people who want to get to know me”. In the video, among other things, she shares that her worst quality is that she’s insecure.
I paused. Why is the algorithm showing me this?
I think it’s important to do the work of self-discovery, and the healthy version of that probably involves things like therapy, journaling, and meditation. Which, sure, I do those things. But, I can’t help but wonder: Can TikTok’s algorithm tell me something new about myself?
I tapped through to her profile. It turned out the post I’d seen was from a few weeks earlier, but she’d posted several times more recently. To my alarm, her most recent posts were all close up videos of her, tears streaking down her face, explaining that she was, in that moment, being harassed by an online, right wing mob, who had singled her out for a video she posted critiquing the phrase “all lives matter”. It’s a funny video that makes a good point, but it was being willfully misunderstood as a threat of violence, and that was enough to make her name into a trending hashtag, get her doxxed, and get her job offer rescinded.
As I soaked up this context, I got madder, and curiouser, and farther away from slumber. I switched over from TikTok to Twitter and pulled up the hashtag, which, indeed, was chock full of jackasses and creeps harassing this well-meaning, righteous 22 year old. I saw some valiant youth rallying to her defense, lobbing counterarguments back at the sock puppet accounts, patiently explaining the satirical point Janover’s video was making.
Before my interest could wane, I noticed that one of the accounts tweeting with the #ClairaJanover hashtag had a profile photo that looked familiar. It was a man with a mustache sitting at the wheel of a boat, clad in plaid, looking over his shoulder to the camera with a goony smile that seemed to say, “Oh hey, I didn’t see you there. I’m just driving my boat.” It looked familiar because it was a photo of me, from the one time my dad let me drive his boat, when I felt super cool and posed for several photos.
At first I thought it was a glitch, and Twitter was just showing my own profile photo in place of other people’s. I can imagine how that kind of bug would slip in. And, I thought, that’s my current profile photo, so that’s what it is. I flipped over to my profile to double check. Yeah, there I am, on the boat, behind the wheel, looking straight ahead, my tongue sticking out a little as I concentrate on driving the boat. Wait no, that’s a totally different photo from that day!
I tapped thru to his profile. His name was “Artie J”. His bio was “Adventurer, cook, dad.” His photo was my photo. (Do I look like an adventuresome dad? I’ll have to sit with that at some point…) Every one of his recent tweets was a reply to someone talking about Janover. If they were defending her, he would argue with them. If they were critical of her, he would agree with them. He applauded Deloitte’s decision to rescind her job offer. He crowed, “all lives matter”. He spoke about her personal biography in a way that struck me as invasive, sharing details and photos of her family. He had my face.
I decided to report the account to Twitter. I reported that he was impersonating me. I had to provide a photo of my driver’s license, so I got out of bed to snap a photo. “Impersonation” wasn’t exactly right, but it was close enough. It seemed like a clear-cut example of a troll account, possibly operated by a professional in an agency like the one described in Adrian Chen’s brilliant 2015 story about Russia’s Internet Research Agency. I was aware of this phenomenon, and its potential to increase conflict and division online in ways that can spill out past the four corners of our screens, but I had always just ignored it: as a policy, I don’t argue with people online, I just post photos of trees and oddball thoughts that cross my mind; it doesn’t affect me.
But… that’s… my… face. I eagerly awaited Twitter’s reply. I slept for 11 hours two nights in a row. My fever went away. My sore throat went away. Phew. I kept pulling up Artie’s account, every few hours, expecting to see the account suspended, and instead watched him willfully antagonizing people. With my face.
What are the odds that I would organically stumble across a troll account with my own face? It felt like, if my face is on one troll account, it’s on two. I felt sick, but, like, because of the unsettling situation now.
Twitter got back to me saying the account didn’t violate any of their rules:
After a review, we didn’t find a clear violation that would make it necessary to remove the image you reported.
If you see content in a Tweet that might be considered sensitive, you can flag it for review directly from the Tweet. After a review, sensitive content will require people to click through a warning message before the media is displayed if it’s considered sensitive.
We appreciate you reporting this to us, and hope if you see potential violations in the future, you’ll let us know.
Can you take a minute to rate your experience and complete a short survey?
Sigh. I filled out the survey, saying I kind of felt like they hadn’t even understood the issue I had reported?
I tried to forget all about it. We watched Hamilton, which draws a contrast between one character who acts boldly, and one character who waits and waits and waits and never acts or commits to a point of view. Shamefully, I found myself relating to the latter character. I decided, during Wait For It, that I wouldn’t wait for Twitter to save me or for the episode to slip my mind. For the first time in a very, very long time, I decided to get in an argument on the internet.
I found a thread where Artie was arguing with Janover defenders, and I replied all:
“Artie” if you insist on sliding into the mentions of well-meaning young people to spout ignorant, racist takes, please use your own face. Mine is taken.
And then I went back to watching the musical, and then I went to sleep.
Truthfully, I was a bit afraid. Afraid to speak bluntly. Afraid I was being a dork. Afraid trolls would descend on me next. Afraid to make something about me that really wasn’t about me.
But in the morning, everything was fine. Artie had sputtered a few protestations about how he wasn’t racist, or a troll, but he had changed his photo to a cartoon, and he had fessed up:
Your photo was a happy one, and I used it, but geez, if I had known… Have a good day Max.
I felt more relieved than I expected to.
So, anyway, in conclusion: the TikTok algorithm, which provided me with a days-long emotional rollercoaster, is truly uncanny. And Gen Z, which seems to be a bunch of ultra-genuine try-hards, is going to save us all.
A workplace observation
When you merge a pull request on GitHub, you can choose from three options: “Merge pull request”; “Rebase and merge”; and “Squash and merge”.
I don’t like any of these.
The missing choice I would prefer: “Fast forward merge”, which would make it possible to do a git merge --ff-only
via the web.
With a fast forward merge, your new commits would merge from the feature branch into the main branch much like “rebase and merge”, but they’d have the exact same commit SHAs that they had before.
And unlike “Merge pull request”, there would be no need for a gross merge commit.
There would be no need to run the tests again, because the commits would retain their commit statuses.
If the commits were GPG-signed, they would retain their signatures.
Doesn’t that sound nice?
A cultural recommendation
Last year’s comedy special John Mulaney & The Sack Lunch Bunch (on Netflix) was so funny and I laughed so much that it made me realize that most comedies I watch aren’t actually that funny. This week, following the happy news that they’re making two more Sack Lunch Bunch specials, I rewatched a handful of the musical numbers, such as the pitch perfect Grandma’s Boyfriend Paul:
Some hyperlinks
- My friend Vaidehi Joshi is launching a newsletter imminently, which I can’t wait to read. Vaidehi’s one of the most thoughtful software engineers and prolific writers I know, on topics like distributed systems and green tech, and her announcement is what inspired me to spend some time putting this together this weekend.
- My friend Thomas Countz, a software engineer and advocate for privacy-focused tech, launched a tech newsletter called The Pseudocode a few months ago. I contributed a piece for the first issue, in which I reflected on what “Senior Engineer” means to me. I hope more issues follow.
- The idea to include a few recurring segments is inspired directly by Hmm Weekly, a newsletter that I’m perennially six months behind on, and will eventually catch up with only if they stop making them. For a few months, they published “Nineteen Folktales: A Series”, one per week, and I gobbled them up, and have returned to one in particular, “The Discontented Butterfly”, every few months since reading it. I don’t know if there’s any way for you, now, to go read it, but it’s in my email archives (not to gloat).
- Another inspiration: The Studio Neat Gazette, a brief weekly update from a neat little company in Texas that makes things like Mark One, a very nice pen that I love to write with. Each week the two cofounders just share something they like, and I always enjoy reading it.
- I got a major kick out of learning about the comedian Ziwe Fumodoh’s interview show, which she publishes on her Instagram Live. I imagine a lot of comedians are struggling with how to make jokes during the George Floyd protests, and she’s found a way in by mercilessly exploiting the tension that arises from the fear of saying the wrong thing. Definitely turn on notifications for when she goes live.
- The best thing I read this week was this twitter thread from Ayesha Siddiqi, a writer I’ve learned so much from in the last decade, on the phrase “cancel culture”, and what it obscures about the real power dynamics that really exist in the real world.