
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.
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.😂




After six months of paternity leave, I returned in January to do a rotation with the team migrating hundreds of millions of Tumblr blogs to WordPress.com.
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.
At first I got caught up in everything that might go wrong:
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:
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:
With this approach, we were able to migrate a single site in about 2.5 weeks.
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.
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.
How do you eat an elephant?
One bite at a time.
It’d been a few weeks since I’ve shared some photos of ember. So, picking out a few that I liked when going through photos on my phone.





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:
I’m proud of her for who she is, not just what she’s done.



The outcomes were never the point. The character was.
After years of using ChatGPT, I thought I knew what it was: smart, polite, helpful.
Boring. 🙃
This week I stumbled across an eigenrobot-inspired prompt that rewires how ChatGPT talks. Less hand-holding. More stabby.
I tried it.
I didn’t ask for anything polite. I asked:
“With everything you know about me, what are my blind spots?”
It didn’t flinch.
1. You ship fast and leave wreckage.
You fix immediate pain but skip boring structural work. “We’ll fix it later” becomes “we now carry this mess.”2. You’re too good to listen.
You know you’re right a lot. You stop interrogating slower or less technical voices. Good ideas die because they don’t match your tempo.3. You delegate for efficiency, not trust.
People execute your tasks, but they don’t feel empowered. You stay central when you should be distributed.4. You love being the fixer—and that’s a trap.
If you’re always unblocking, you’re building an org that scales through you, not beyond you.5. You underestimate polish.
You prioritize working over beautiful. Real problems over good taste. But polish is leverage.6. You are too comfortable in chaos.
You thrive in mess. You also accidentally cultivate it. Stability feels suffocating—but it’s how you compound returns.7. You miss emotional undercurrents.
Systems, logic, efficiency—you see all that. But sometimes people just need to feel seen. And you don’t notice when they don’t.
Reading that, a lot hit home. But I couldn’t just accept it. I had to ask:
How do I know you’re not just hallucinating?
The answer was better than I deserved:
It even gave me a way to self-test:
The real insight wasn’t that ChatGPT got meaner with the eigenrobot prompt. It’s that with the right mirror, even an AI can see the things you won’t.
And maybe the polite version of ChatGPT wasn’t wrong.
It was just too nice to say:“You’re building systems you can’t scale. You’re winning sprints and losing the marathon.”
And for the benefit of those that have worked closely for me… yea, it was exactly like getting a duck slap. 😂

Sometimes things just fall apart. Everything hits at once, and suddenly you’re in it.
Your first instinct might be to freeze. To wait for clarity. To hope it passes.
But clarity doesn’t come from stillness. Clarity comes from movement.
I’ve been thinking a lot about a concept called the 3 foot world. It’s simple: when things feel chaotic or out of control, you pull your focus back to what’s within 3 feet of you — the things you can actually impact.

In times like that, you don’t need a master plan. You need a moment to breathe, find your 3 foot world, and move. Not recklessly. Not emotionally. But with purpose.
Just choose one thing and start there.
Movement has a way of cutting through the noise. You don’t need to see the whole path. Just take the next step.

I’ve sung “You Are My Sunshine” to Ember ever since she was in the NICU. But it’s not just a lullaby for me—it’s also the song I once sang to our first daughter, Scarlett, during her brief time with us.
For years, I only ever sang the part I knew by heart:
You are my sunshine
My only sunshine
You make me happy
When skies are grey
You’ll never know, dear
How much I love you
Please don’t take
My sunshine away
A few months ago, after singing it to Ember on repeat, I got curious and looked up the full lyrics. The original lyrics make the tone of the song so much more sad.
The other night, dear
As I lay sleeping
I dreamed I held you
In my arms
When I awoke, dear
I was mistaken
So I hung my head and cried
When I mentioned all of this to Sara, she admitted that hearing me sing it to Ember had been breaking her heart — because it was the same song I had sung to Scarlett.
I’m no songwriter. But, with tools such as ChatGPT, it was easy to generate another set of lyrics that would fit the melody reasonably well.
Verse 1
The stars are shining, so soft above you,
They whisper dreams as you close your eyes.
And in the morning, when light is golden,
I’ll be right here when you rise.Chorus (original)
You are my sunshine, my only sunshine,
You make me happy when skies are gray.
You’ll never know, dear, how much I love you,
Please don’t take my sunshine away.Verse 2
Your little laughter, it fills my heart up,
Brighter than sunshine, warm as a flame.
No matter where, dear, this world may take you,
My love will always stay the same.Verse 3
The moon is glowing, the night is peaceful,
Dream, little darling, safe in my arms.
And when you wake up, the world will greet you,
With all its wonder, love, and charms.