This past week, I was in York, England to see the folks from team Shilling. It was a good meetup, with a good mixture of fun and work activities.
The biggest takeaway from the meetup was seeing faces light up with joy as Claude Code worked magic. The most fun thing was playing Dungeons and Dragons, which I hear now makes me an official Shill.
I got this photo of Ember while we were at Bahama Bucks to get a weekend snow cone.
We were in Houston last week for some medical research appointments for Ember. What this really meant is that we spent a few hours at the hospital and then a lot of hours in the hotel room.
While waiting around in the hotel room, I decided to deploy some code to WordPress.com. As I was walking through the steps, I had Ember type in shift + y to handle the final deploy to 100s of Millions of sites. 😄
Yesterday morning, Ember and I snuck out for a burrito at El Norteno. Ember had pancakes with syrup for the first time. 😄
While I was doing a bit of work this weekend, Sara decided that Ember needed to come spend some time with Dad in the office. ❤
This past week, I was in Lisbon with the Gamma team. It was a great week, filled with discussion about PCI compliance, demos, upcoming work, great food, and a bit of fun.
Below are some photos from the meetup.
As I was swapping out laundry yesterday, I sat Embed down in the half-full laundry basket. She liked it for maybe 10 seconds and then wanted to be picked up.
I snuck away for dinner on Tuesday night with Sara and Ember.
Sara went to DFW today, so I got to spend much of the day with Ember. Starting with giving her breakfast. ❤
Earlier this week, I spent a few days in Miami with the Quark team. We did quite a bit of work, but still found some time to head to walk along Muscle Beach and play a game of Pokemon.
We’ve used automatic waterers at home, for our pets, for a while. They refill themselves, which is sweet.
They also leak. Constantly. The seals wear out. The fittings are garbage. I’ve bought replacement parts, bowls, adapters. Today, after another new bowl leaked straight out of the box, I gave up.
I bought one of those upside-down jug waterers. Put it by the hose. I’ll just fill it every few days.
Automation’s great until it becomes your newest maintenance burden.
Same with teams. Permissions. Infrastructure. CI. If your “easy” system isn’t reliable, it’s just waiting to leak.
Earlier this week, I flew to Los Angeles to spend a couple of days with one of my teams, Chronos.
I grabbed this impromptu photo in our working space.
We took this photo at dinner.
And then grabbed this wonderfully imperfect set right before I ran out the door, with my phone balanced on a power adapter and the shutter triggered from my Apple Watch.😂
Sara sent me this photo of Ember from their lunch today.
This past Wednesday, I went to the Destined Rivals prerelease at Collector’s Den and won 2 out of 3 matches. 😄
I hadn’t touched code in six months. Had never worked on Tumblr. And I’d spent the last five years in engineering leadership.
The prompt I got? Do a speed run project to get from zero to one site migrated… in 2 weeks.
So yea. I laughed. Then panicked.
Fortunately, I was joining a team that had already done good foundational work. The challenge was just to get something across the finish line—fast.
Taking Stock
At first I got caught up in everything that might go wrong:
How do we migrate users?
What legal implications, such as terms of service, are involved?
How do we handle content moderation?
What about the differences in how Tumblr and WordPress store and render content?
How will we hydrate Tumblr’s APIs from this new data source?
But, the tight timeline was a gift. Because it forced me to realize that none of this was essential for migrating a single site.
We picked a Tumblr-owned blog with only one user: staff.tumblr.com. To handle content format differences, we decided to just export and migrate rendered HTML. To keep Tumblr’s APIs working, we double-wrote to both Tumblr and the migrated blog on WordPress.com.
With that framing in place, we moved on to just the things that were absolutely necessary:
Theme
Content
Interactivity
Moving Forward
For each of these, I then approached them with the minimal set of requirements.
For the theme, I went to staff.tumblr.com, viewed the source, copied it into index.php, and added a quick style.css. And committed that to WordPress.com. 😂
Dirty. But it worked.
The team had already done some work exporting rendered HTML from Tumblr. We took that export and piped it into WordPress.com using WP-CLI. Now we had something to look at.
Then I started cutting up index.php into real templates and added the WordPress loop. At that point, we had a mostly working theme that we could iterate on.
For interactivity, we stepped through this one-by-one:
Reblogging: Tumblr stores references. WordPress.com duplicates. We deferred solving this.
Likes, reblogs, embeds: Tumblr uses iFrames, so we copied them.
Archive pages: We quickly built a template that mimicked Tumblr production.
Notes: We added a new endpoint on Tumblr to fetch notes, cached the result, and skipped the complexity of partial migrations.
With this approach, we were able to migrate a single site in about 2.5 weeks.
Iterating Through Weirdness
That initial migration wasn’t perfect—but it gave the team what we needed to build momentum. From there, we kept scaling and refining.
Of course, weird things came up as we iterated. 🫠 But the team stuck with it and scaled the approach from that one messy win.
Migrations were slow. As we added more content, we uncovered new edge cases—and had to migrate even more data to handle them.
Functionality needed to be rewritten as we considered more edge cases.
At times, this approach felt slower than designing the perfect system up front.
Maybe it was.
But it was real progress. And that mattered more.
The lesson?
When you’re working on something massive, don’t try to solve it all at once.
Solve one piece. Then the next. Then the next. Move fast. Build momentum.
As a parent, I’ve always been more focused on standards than praise.
Participation trophies made me cringe. That poster in the school hallway that said“It’s better to be kind than right,” still makes my eye twitch.
Day to day, I’m not cold. I’m affectionate. I joke around. I care deeply. But, I don’t let that get in the way of setting high standards with the kids.
As my daughter gets ready to graduate, I’ve been thinking about what actually makes me proud.
This year’s been full of milestones: National Technical Honor Society (I swear honor societies are scams), a cosmetology license, her first car, and more.
She wants me to be proud of those things. And I get it—they matter. But to me, they were always the expectation. ¯\_(ツ)_/¯
What actually makes me proud:
Her coworkers go out of their way to tell me how hard she works.
She’s held two jobs this year. One for money, one to build experience for her future in cosmetology.
She works until 9 p.m. or later most nights, without complaining.
She’s done that while keeping her grades up.
She takes sharp feedback from me without flinching, and then acts on it.
She’s proud that we hold her to a higher standard than most of her friends are held to.
I’m proud of her for who she is, not just what she’s done.
The outcomes were never the point. The character was.