Other writing: May 2023

Where have I been writing when I haven’t been writing here?

Stuff I wrote

Duck Alignment Academy


Book review: If Nietzsche Were a Narwhal

I recently read Justin Gregg’s If Nietzsche Were a Narwhal: What Animal Intelligence Reveals About Human Stupidity. As humans, we tend to assume that our intelligence sets us apart and that our exceptional cognitive abilities are good. There’s no doubt that we’re exceptional, but it’s not clear that we’re good. As Gregg wrote:

Our many intellectual accomplishments are currently on track to produce our own extinction, which is exactly how evolution gets rid of adaptations that suck.

Unique among Earth’s animals, humans have bent our environment to our will. This, of course, has resulted in some undesirable side effects. Despite all of our supposed advancement, we are biologically predisposed to prioritize immediate needs over long-term needs. We get benefit from burning fossil fuels now and assume that we’ll be able to deal with the long-term impacts later. But will we?

Gregg studies animal cognition, so this book is steeped in facts. Indeed, the reader will probably learn more about animals than people. And after reaching the end, the reader may find it’s hard to disagree with Gregg’s assertion that Nietzche — and the rest of the species — would have been happier as a narwhal.

Evolution has many dead ends. It could be that what makes us special actually makes us less happy. Humans have a relatively short time on Earth, so it’s folly to assume that our unique adaptations aren’t maladaptive. It reminds me of the joke where an angel is talking to God about creating humans and says “you’ve ruined a perfectly good monkey. Look, it has anxiety!”

I didn’t come away from this book convinced that human cognition is a bad thing on balance. But as a philosophical starting point, I see a case for Gregg’s argument that “human intelligence may just be the stupidest thing that ever happened.”

Suggestions for Netflix profile improvements

As you may have heard, Netflix is beginning to crack down on password sharing. You may have already received the email inviting you to pay an extra eight dollars per month for additional households on your account. Even though Netflix tacitly (or even actively in some cases) encouraged password sharing for many years, I don’t hold this against them. On the other hand, they could definitely make life a lot easier by making profiles shareable.

Sharing profiles

The prime (heh) example comes from my house. I share my account with my ex wife because we have joint custody of the kids. This allows them to keep track of where they are in a show no matter which house they happen to be watching at. If I could share the profile, then I’d have no reason to share the account.

But I thought of another idea as I tried to describe this to the customer support representative. Profile sharing would make it much easier to travel or visit a friend’s house. If you could temporarily share your profile with another account, then it’s easy to use your profile at someone else’s place. This is less of a hassle, in theory, than logging out the owner, logging yourself in, and hoping you remember to log yourself out when you’re done.

Combining accounts

Another frustration is that you can’t move a profile to an existing account. When Netfix says “People move. Families grow. Relationships end. But throughout these life changes, your Netflix experience should stay the same.” what they mean is “you can always move a profile to a new account, you can never combine accounts.” Did you move in with someone who already had an account and you want to combine them? Too bad! One or both of you need to lose your profile.

I get why they have this ratchet. More accounts means more money. Combining accounts means they get less money. But also it’s kind of shitty. When Netflix was the only(-ish) game in town, it didn’t really matter. But now there are many streaming choices and people are starting to think “hey, maybe I don’t need to subscribe to all of them!” Content choices matter the most, of course, but customer experience matters, too.

The lesson

If you want to please your customers and your product has personalization, you have to consider all of the ways that the personalization might need to be portable. Making it easy to create a new account is important, and can help you get more money. But making it easy to manage profiles in a way that fits how people’s lives actually work is an investment in long-term customer satisfaction.

#inaction bcotton

On 25 June 2018, I published a post called “It’s hattening”. After years of rejected applications, I was finally starting a job at Red Hat. On 24 April 2023, Red Hat announced a 4% reduction in global staff. As a member of that 4%, today is my last day at Red Hat.

What does this mean for Ben?

This is the first time I’ve been laid off from a job. I hope it will be the last, but who can say? I’d be lying if I said I haven’t felt a big range of emotions in the past three weeks: confusion, anger, sadness, amusement.

But I’ve also felt loved. I’ve received so much support from people since the news started spreading. It’s like that end scene of “It’s a Wonderful Life” and I’m George Bailey. I’m proud of the contributions I’ve made to the Fedora community over the last five years, and it feels good to have others recognize that.

While I won’t be contributing as the Fedora Program Manager anymore, I was a Fedora contributor long before I joined Red Hat, and I’m not letting them take that away from me. I’ll still be around Fedora in ways that spark joy, although perhaps not much at first as I let my wounds heal.

I’ve had the great fortune to build an incredible professional and personal network over the years. I’m already pursuing a few opportunities and if those don’t pan out, I’ll be asking for your help finding more. In the meantime, I have (at least) a few weeks to relax for a bit. There’s a ton of work to do around the house, many trails to hike, Program Management for Open Source Projects to promote, and an embarrassingly-large backlog for Duck Alignment Academy articles.

What does this mean for Fedora?

I’ve told folks that if Fedora falls off the rails, then I have failed. I’m working with Matthew, Justin, and others to ensure coverage of the core job duties one way or another. I’ve worked hard over the years to automate tasks that can be automated. The documentation is far more comprehensive than what I inherited.

No doubt there are gaps in what I’ve left for my successors. However, my goal is that in a few months, nobody will notice that I’m gone. That’s my measure of success. The only reason I’ve been successful in my role is because of the work done by my predecessors: John, Robyn, Jaroslav, and Jan.

As to what the broader implication behind the loss of my position might be, I don’t know. There’s no indication that my role was targeted specifically. There are definitely people in Red Hat who continue to view Fedora as strategically important. I wish I had a clearer understanding of how they chose people/roles to cut, but I’ll probably never know the process. What I do know is that I fully intend to still be participating in the Fedora community when my account hits the 20-year mark in May 2029.

Other writing: April 2023

What I have I been writing when I haven’t been writing here?

Stuff I wrote


Duck Alignment Academy

Stuff I curated


In defense of Fedora’s release cycle

Earlier this week, Thorsten Leemhuis published a thoughtful post about what he’d change if he magically became the supreme leader of Fedora. In that post and subsequent commentary on Mastodon and Fedora Discussion, he talked about changing Fedora’s release cycle. Since the Fedora Linux release process is my job, I figured I should explain why I disagree.

Integration projects are different

If you haven’t read the post, you should. But here’s the short version: Fedora Linux uses a release model rooted in the 1990s and should move to a “modern” model. Thorsten suggests a one-month cadence for those who want the latest versions and a one-year “steady” release. Such a model has worked well for Firefox, he argues, and so it should work for Fedora.

The key reason I think this is wrong is because Firefox is a development project whereas Fedora is an integration project. Integration projects don’t write a lot of code, they take the work of others and turn it into a coherent whole. This is a fundamentally different kind of work and it takes longer by necessity.

You can’t reliably integrate disparate pieces when they’re in constant motion. That’s why we have freezes leading up to the beta and final releases — they give the QA team time to test against a stationary target. It takes time to run through all of the test cases that make Fedora Linux a reliable operating system. So the choice becomes reducing the pre-release testing or spending a significant portion of the cycle in a freeze, which limits the the usefulness of the one-month cycle.

You can solve some of this with automated testing. And the QA does do a lot of automated testing. But those tests still take time, and there are a lot of interrelated parts in a Linux distribution.

Six months isn’t magic

There’s nothing objectively correct about a six month release cycle. It’s mostly because that’s how you get two releases a year. If the calendar had 10 months, the release cycle would be five. But there is a lower bound where you’ve become a de facto rolling release, even if you still have discrete releases. I don’t know where exactly that boundary is, but I suspect that one month is at or just beyond it.

Similarly, there’s an upper limit where you’re now a slow, plodding project. Again, I can’t say where the line is. Six months may be uncomfortably close to it, but I suspect it’s closer to a year. And, of course, it depends on the nature of the specific project.

So there’s no particular reason Fedora Linux couldn’t move to a shorter release cycle. Five months is totally doable. Four is possible. Three would require a tremendous amount of work before it could be considered. But what’s the benefit of going to a shorter cycle? Does five months instead of six make a meaningful difference? At least with six months, you know there’s a release targeted for April and October. Predictability is nice.

Solving the actual problem

The bigger issue, though, is that I don’t think people actually want this. Yes, you might want your web browser and other applications to update frequently. But that doesn’t mean you want your compiler or Python interpreter or C libraries to update frequently. Most people will avoid this in favor of the “steady” stream. This eliminates the intended benefit to upstream projects.

The people who do want everything to update quickly use a rolling release distribution, something that Thorsten explicitly says his proposal is not.

Fundamentally, the proposal looks at the problem the wrong way. The problem isn’t that a six month cycle is too long. The problem is that application delivery is coupled to operating system delivery. Most people want the latest versions of the applications they care about and for everything else to remain unchanged. The challenge, of course, is that not everyone draws that distinction in the same way.

We unsuccessfully tried to solve this with Modularity. Flatpak, at least for graphical applications, offers another attempt to solve this problem.

Historically, the system and application layers have been distributed together. Figuring out how to decouple these (including how to draw the line between them) is the interesting work. And it provides real value to the end users.

Other writing: March 2023

What have I been writing when I haven’t been writing here?

Stuff I wrote

Duck Alignment Academy

  • Be clear about who does what — If you’re not clear about who is supposed to act, people will assume that it’s not them. Be clear so everyone knows what to expect.
  • Words mean things — Choose your words carefully. You want people to discuss the facts, not the wording.
  • Use a decision log to record context — A decision log is a record that you leave for the future. It shares the context to save time when revisiting a past decision.


Stuff I curated


What is a successful season in sports?

If you follow men’s college basketball at all, you’re certainly aware that my alma mater’s team was on the wrong end of an upset last weekend. It’s not hyperbolic to call it the worst upset in NCAA Tournament history. The team won its conference by three games and then went on to win the conference tournament for good measure. It has the National Player of the Year frontrunner. It reached a #1 ranking in the polls for a large portion of the season. But it got embarrassed in the first round by a team that only made the tournament because the rightful participant wasn’t eligible. Was this a successful season?

Purdue’s success (or lack)

Most Purdue fans seem to say “no”. I’m one of them, maybe. Purdue has more Big Ten titles than any other team. It’s nice to get another, but NCAA Tournament success has been more elusive. My parents hadn’t met the last time Purdue was in the men’s Final Four. In 18 seasons as head coach, Matt Painter has reached the Sweet 16 six times (including one Elite Eight appearance). Excluding 2020 which had no tournament (although it’s likely that Purdue might have missed the cut), Purdue is twice as likely to reach the Sweet 16 than to miss the tournament field. That sounds pretty successful.

But in the last three years, Purdue has lost to double-digit seeds — twice in the first round! Even though you have to earn a high seed to have the opportunity to get embarrassed like that, it’s hard to call that a success.

This was supposed to be a rebuilding year. Purdue was picked pre-season to finish in the middle of the conference. Instead, they went 21-1 in November through January. They not only won the conference outright, but by the largest margin in nearly a decade. In that context, it seems like a successful season.

That team down south

Indiana’s men’s basketball fans are asking the same question. The Indianapolis Star ran an article (subscribers only) asking “[w]as IU basketball’s season a success?” Like Purdue, IU had a dominant post player who put up historic numbers. Unlike Purdue, IU was predicted to win the conference (they finished in a tie for second). Unlike Purdue, IU didn’t win a regular season or tournament title. Neither the coach nor the star player received individual awards. Sounds like a disappointing season.

On the other hand, they lost a key player to Injury early in the season and a second one missed several games early in conference play. A team that started January on a three-game skid and 4-6 in the last 10 games pulled together to sweep their rivals (the aforementioned three-game-margin conference champs). That’s something to celebrate. And they made it to the second round of the tournament for the first time since 2016 after missing four in a row (they’d probably have made the 2020 tournament, had it happened). But this is a program that has won the NCAA Tournament five times, so making the second round is not particularly great by historical standards.

Was the 2022–23 season a success? As Tyler Tachman wrote in the Star,

The reality is the intricacies of this season make it difficult to put a singular, binding label on it right now. It is not an undoubted success, nor a clear failure. Perhaps it is somewhere in between.

What is success?

When I was 12, my Little League team went undefeated through the regular season. In the finals, we faced a team that had gone winless in the regular season but got hot at the end. They ended up beating us. Were they better? Probably not. We went on to win the district tournament — clobbering the team that was the consensus favorite — and finished with a 19-1 record. But we lost the league tournament.

Any single-elimination tournament involves a lot of luck. One bad night and you’re done. How often is the tournament champion truly the “best” team? You have to be good to win, but you also have to be very lucky. The former you can control, the latter you can’t.

If pressed, I’d choose having long-term success over a few good days in a row. Of course, I’d rather have both. As Purdue fans “sit in it” (as Matt Painter said) this off season, we have to think about what our expectations are and how we define success.

There’s no right answer here. I doubt we’ll even reach a general consensus. Nobody wants to lose, but maybe we’d all be a lot better off if we (meaning the broader culture) stopped using narrow, short-term definitions of success.

Ed. note: for further thoughts on this, I recommend Doug Masson’s “That Purdue loss” and “Indiana Basketball: 2022–23” posts (plus their comments). I repurposed my comment on the former for parts of this post.

Other writing: February 2023

What have I been writing when I haven’t been writing here?

Stuff I wrote

Duck Alignment Academy

Lafayette Eats

  • Westside Diner — Just because it’s 2pm, that doesn’t mean it’s too late for breakfast food. And this is good food.


Twitter kills Twitter

I got hooked on Twitter in July 2009. I’ve remained extremely online since then. It was never about the platform itself. It was always about the people — those who I interacted with and those who wrote the third-party clients that made the service usable. That Twitter the service became the success it did was despite Twitter the company, not because of it.

I’ve often wondered if anyone at Twitter used Twitter. Third-party clients innovated and drove improvements. Twitter made changes no one asked for. In 2012, Twitter changed rules around the API, which caused many third-party developers to abandon the platform. By that point, the first-party tooling was good enough (thanks, in part, to the acquisition of a few key third parties). But still, it was a loss for the ecosystem.

Earlier this week, Twitter went further and gave a one-week notice that free API access is ending. This likely means the end for many integrations. It will almost certainly be the death knell for many of the fun and useful bots that make being on Twitter a better experience.

There’s finally no doubt that the person in charge of Twitter actually uses the service and it turns out he’s a fuckwit. The larger services already (I assume) have paid API access. That’s what you do when you’re running a business. So basically, Elon is just killing off the hobbyists. You remember them; they’re the ones who made Twitter Twitter in the first place. If it’s a shakedown for money (and given the debt Twitter is saddled with by its fuckwit-in-chief, that seems likely), I doubt it will be very effective.

That said, I’m not abandoning Twitter yet. There are still too many people that I don’t want to leave behind. But it’s easy to see a gradual decline until we reach a tipping point. Will the last one out please put up the Fail Whale?