DevOpsDays Chicago 2025 recap

On Tuesday, I drove up to Chicago for the DevOpsDays event there. I’d never been to one, but they gave me a nice discount after rejecting my talk proposal, and it’s only a few hours, so I decided “why not?” I’m not really in the DevOps space anymore (to the degree I ever was), so I was a little worried that I wouldn’t be able to keep up. But the good news is that I was!

The DevOpsDays Chicago yak and its handler.
The DevOpsDays Chicago yak and its handler.

First, though, I want to tell you about a little DevOops I had. The bathrooms in the venue are fancy. They have bottles of mouthwash and little disposable cups for people who want to have minty fresh breath. I only discovered this after I washed my hands. I reflexively reached for the bottle on the counter and scrubbed dutifully. Then I realized my hands were minty fresh. I was sure to use the soap the rest of the day.

The morning had several good talks. Reid Savage gave a talk called “anti-devops.” They included such concepts as “transparency is bad,” “silos are good,” and “stop shipping iteratively.” While that might sound contrarian, it was not. Reid’s point was more of “you can have too much of a good thing.” They were the source of my favorite notes:

Transparency without clarity is bad. “I really need to pee” is providing transparency. “Do you see a bathroom nearby?” is providing clarity.

Paul Czarkowski gave a talk about running private AI on home infrastructure. He was mostly able to do live demos, which is always a risky proposition. He also said something that I want to tattoo on a lot of people’s foreheads: “Anytime you ask an AI a question, you need to be able to think critically about the response.”

The final full-length talk of the morning came from Annie Hedgpeth. Her talk explained professional networking with an analogy to systems networking. Like her, I’ve found that the relationships are more important to my career than the technical problems I’ve solved. As she said, “Like disaster recovery, professional relationships are an ongoing practice, not an emergency response.”

Just before the lunch break, there was a series of ignite talks. These are short talks with auto-advancing slides. I have a lot of speaking experience, but the thought of doing an ignite talk gives me a sense of dread. I have a ton of respect for anyone willing to get on stage and deliver a talk of any quality, but these were all good. I bought a copy of Robert Snyder’s Innovation Portfolio because I was intrigued by his “five verbs” concept. Expect a Duck Alignment Academy post on that someday.

After lunch, we had open sessions. I proposed one on supply chain security that I called “the next log4shell happened and I do or do not know what to do next.” I also attended one on reusable workflows (do they make us dumber?) and one on communicating with executives. All three had great conversations.

On top of all of the great professional content, I was also able to spend a few minutes catching up with a couple of folks I haven’t seen since the Before Times. It was great to see Jamie and Matty again. Hopefully it won’t be half a decade until the next time.

Ben and Matty taking a selfie.
Ben and Matty taking a selfie.

This was the 10th DevOpsDays Chicago, and I’m looking forward to the 11th. Now that I have a better sense for the vibe, I’m motivated to tweak my proposal and give a future event a try. Perhaps Des Moines or Detroit later this year?

Other writing: February 2024

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

Duck Alignment Academy

Kusari

GUAC

Other writing: October 2024

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

Duck Alignment Academy

Kusari

IT Business Net

GUAC

100 miles on a bike

Sometime in August, I saw a post on Facebook about a fundraiser for the American Heart Association. The goal was to bike for 100 miles in the month of September and get donations. “What the heck? Why not?” I said to myself in a fit of committing myself to things I don’t have the capacity for. It’s on brand, you have to give me that much.

Keep in mind, I haven’t biked 100 miles in the last decade. There was a time when I commuted to work on my bike a couple of times a week. I was much younger then. But what the heck, there’s no reason I couldn’t do this. Plus, my doctor wants me to lose a few pounds, anyway.

The ride

The hardest part, I knew, would be finding the time to ride. It’s a busy time with kids’ activities and whatnot, so I had to get the miles in where I could. I got off to a strong start on Labor Day weekend, and used Sundays to good effect, generally. I snuck in some midday and evening rides when I could.

A bar chart of daily miles for the month of September. On the first, second, 8th, and 15th, I rode more than 10 miles.

Here’s a thing you might not know: Indiana isn’t all flat. The area I live now is far flatter than where I grew up, but it’s not without some hills. The Wabash River, over the millennia, has carved some contours into the elevation map. As an unfortunate result, most of the interesting places to ride are downhill from my house. I used the bike rack at first, but after I’d done a few rides, I got up the nerve to tackle the hill. As you might have guessed, I survived, but it wasn’t always pleasant. On one ride, I went all the way up the trail through Happy Hollow Park (and then back down Happy Hollow Road, which was fun). Only later did I think “oh yeah, I still need to get back up to my house.” My heart rate hit the low 180s, but I got home without walking the bike.

I also met my (admittedly modest) fundraising goal. I tried to goad people into donating more by saying I’d add an extra mile for every $10 over the goal before I reach the 100 mark. But I was chicken and didn’t make that offer until I was almost there.

Line graph of miles and donations over the course of September.

The joy

The exercise was good, as was the fundraising. But the best part was just the joy of being out and about. I’m unabashedly a fan of Greater Lafayette, and I tried to plan my routes in such a way that I could enjoy some of what makes it My City. Some of the places I enjoyed:

Sometimes I rode solo, which gave me some rare alone time. Sometimes I rode with my wife. Sometimes I rode with my youngest kid. Sometimes my two youngest kids and my wife and I all rode around the neighborhood together.

I don’t know if I’ll want to put myself through the stress of trying to make sure I can meet my goal again, but it definitely got me more active and wanting to spend more time on my bike.

Other writing: May 2024

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

Duck Alignment Academy

Book review: The Sympathizer

What does it mean to pretend to be something else? In one of my favorite books, Mother Night, the character Howard W. Campbell, Junior concludes that “we are what we pretend to be, so we must be careful what we pretend to be.” Viet Thanh Nguyen’s narrator in The Sympathizer reaches no conclusions, but he struggles with the thought throughout the story.

I saw — or imagined — a lot of parallels between Mother Night and The Sympathizer, which no doubt predisposed me to liking the latter. Both books take the form of the protagonist recounting his exploits for a captor, mixing self-reflection with facts. Both take place in a war setting, which characters having authentic connections to the people they’re trying to deceive.

But just because the themes rhyme, The Sympathizer is its own work. If nothing else, it’s a rare work that looks at the Vietnam War from the North Vietnamese perspective. It’s also a really enjoyable book in its own right. The fact that the narrator cannot answer the questions he asks himself gives the reader something to think about long after the book is done.

I loved this book to the point that I stayed up far too late to finish it. I’m looking forward to reading the sequel that I just found out existed.

Other writing: March 2024

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

Stuff I wrote

Duck Alignment Academy

Other writing: February 2024

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

Stuff I wrote

Duck Alignment Academy

  • Fork yes: embrace forks of your project — If you’ve done what you can to make your community a great place to contribute, then you can feel free to embrace any forks that happen.
  • Keep your bug tracker unified — When your bug tracking is scattered across different platforms, you make it harder for your users to file reports.
  • Semantic versioning in large projects — SemVer can work for large projects, but it’s not a fit for every case. Whatever you pick, document it clearly.
  • Grow by delegating — Don’t hoard responsibility. Give new contributors a sense of ownership so that they’ll stick around your community.

Other writing: January 2024

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

Stuff I wrote

Duck Alignment Academy

Docker

Replacing the flash spring on a Canon EOS T1i

On Christmas morning, I put my Canon EOS T1i DSLR camera on the tripod to take a family picture. But it didn’t work: “Err05”. The built-in flash didn’t open, so the camera refused to…camera. It had done that at Thanksgiving, too, so I’d used manual settings and some additional lighting to make it work. This time, changing the ISO from automatic was enough to convince the camera to take a picture, but I didn’t want to keep fighting it. Search results suggested that it could be dirt in the flash housing. Makes sense: I took the camera to the beach this summer and we all know that sand is coarse and rough and irritating, and it gets everywhere.

I found a great YouTube video that went through the process of removing the housing and cleaning the flash. Just from loosening the screw a bit, the flash popped up when it was supposed to. But I figured “since I’m here, I might as well keep going and make sure I have everything cleaned out.” That was my mistake.

When it came time to reassemble everything, I couldn’t figure out how the spring fit. The guy in the video just said to put it back and his fingers blocked my view. I couldn’t find anything else, except for a few forum posts that were impossible for me to decipher. I spent what felt like an hour trying different things and growing increasingly frustrated. But at one point I turned the camera just right and I figured it out.

Replacing the spring

Close up of the flash housing on a camera with a circle drawn around the slit at the base of it.
The circle shows the slit where the short end of the spring goes.

It turns out there’s a slit on the interior part of the housing where you can slide the short end of the spring. It will hold there firmly after you bend the long part back to install the screw.

Close up of a hand pulling on the long end of the camera flash spring.
Pulling back the long end of the spring to get the screw in place.
Close up of the reassembled spring with the flash closed
The screw and spring replaced

One the screw is back in (note that the head is smaller than the coil of the spring), you can hook the long end under the tab on the forward part of the housing.

I hope this helps anyone who stumbles across this post in a fit of desperation. The YouTube video is very helpful otherwise, so I won’t repeat the rest. I’ve only tried these instructions on one model of camera, because that’s the only one I have, but it should be the same for similar models.