On technology
Writing about software, systems, AI, tools, and the web.
- What is a personal website in the age of AI?
Personal websites have moved from homesteads, to publications, to social-profile pointers. AI changes the reader again: assistants need durable identity, provenance, citation, context, and clear surfaces they can understand without hallucinating a platform-shaped version of you.
- Hello, Webflow
After a six-month sabbatical, this short announcement marks the next chapter: joining Webflow as SVP of Platform Engineering, with renewed energy for the web, developer tools, infrastructure, and the product’s potential.
- Beyond disagree and commit
Disagree and commit can create compliance without understanding. This essay offers a curiosity-first model for disagreement: assume someone is wrong, maybe both people are, and use the tension to find better answers.
- Summer funemployment
After leaving Shopify, I spent the summer with family and reflecting on the next decade and found unexpected inspiration in Linkin Park’s reformation story centering on creative collaboration.
- A free agent again, for now
After four and a half years at Shopify, this 2025 transition note reflects on the Technical Advisor role, the lessons of working close to a founder-led company, and why the AI moment made it feel like the right time to step back and orient.
- AI thinks really fast, so think slow
LLMs are fast, reflexive pattern matchers, which makes them useful and easy to over-trust. This essay borrows Kahneman’s System 1 and System 2 framing as a practical reminder: let the model think fast, but keep human judgment slow and deliberate.
- The art of saying no
Claude can create 50 API designs in minutes and ChatGPT can write endless variations. The new superpower is not generating work, but knowing what to reject: curation is becoming the primary creative act in the age of AI.
- Power reveals
Power corrupts is the familiar quote, but another framing may be more useful: power reveals. This 2025 reflection considers how authority magnifies character, and why the question is not only how power is used, but who it is used for.
- The simplicity I look for
Simplicity in software is not merely a lack of complexity, minimalism, or dumbing something down. This 2023 essay defines the useful kind of simplicity as systems that are understandable to skilled practitioners who need to work on them.
- Truth and lies
Sync is still hard when local clients need to feel instant while a remote database remains authoritative. This essay explains a Wunderlist pattern: keep durable truths from the canonical API, layer temporary lies on top, and avoid rolling your own multi-master sync.
- ChatGPT Pretend
A personal story about learned social fluency becomes an early lens on ChatGPT: language models are still strange inside, but they are getting better at pretending to relate to humans in ways that feel useful.
- On Wunderlist
Wunderlist looked like a dream acquisition for Microsoft: beloved app, millions of users, and a team that had just shipped magical sync. The story after the deal was messier, shaped by compliance demands, a leadership vacuum, exhausted trust, and a product culture that never really fit.
- Hello Shopify!
This 2021 announcement marks the start of a new role at Shopify as Technical Advisor to the CEO. It connects the move to earlier reflections on how to work well, admiration for Tobi Lütke’s infinite-game approach, and Shopify’s digital-by-default model.
- Preparing to be a technical advisor
After leaving Microsoft, the next role was Technical Advisor to a CEO, a job that borrows executive scope without becoming the executive. This essay works through what that means, how staff-plus thinking helps, and the reading list behind the preparation.
- The cost of startup cloud credits
Startup cloud credits feel like free money, especially in the earliest company-building days. But this 2021 note argues that the real cost is switching friction, team attention, and the flexibility lost when infrastructure choices are made for credits first.
- The case of aaaabbbcca
A small 2021 code puzzle about compressing `aaaabbbcca` turns into a reflection on interview pressure, clean Ruby solutions, clever regex and Unix answers, and why a test-driven setup can make even tiny puzzles easier to reason about.
- Leaving Microsoft
This 2021 transition note looks back on five and a half years at Microsoft after the Wunderlist acquisition, from hard integration lessons to CTO-in-Residence work with European startups, and marks the bittersweet end before something new.
- Code interviews and ego fails
A candid 2021 reflection on bombing two live coding interviews despite decades of software experience. The lesson is less about algorithms than ego, anxiety, and the work of approaching even flawed interview formats with a clearer frame of mind.
- Apple’s M1 arrives
Apple’s first M1 Macs made the Mac’s move away from Intel feel real. This essay reads the launch through Apple’s past CPU transitions, performance-per-watt claims, early benchmarks, and the practical choice between the first M1 MacBook Air and MacBook Pro.
- How do I work best?
After the disruption of 2020, this essay returns to first principles about work: mental space over physical space, connected conversation over chaos, tangible artifacts, kind and smart teams, and the working conditions that make hard problems worth solving.
- Microsoft’s net zero
Microsoft’s 2020 sustainability announcement promised more than improved carbon offsets. This essay reads the commitment to net zero and carbon removal as the kind of audacious corporate move needed to make climate technology commercially viable.
- How (not) to destroy an aspirational OKR
Aspirational OKRs are useful when they help a team learn where its current approach is falling short. This 2019 management note warns that revising a stretch target downward halfway through the year can turn learning into performance theater.
- On David’s Windows experiment
After DHH tried Windows and gave up, this 2019 response reflects on why the Surface Laptop and WSL2 had become surprisingly viable for Unix-minded developers, why switching platforms still takes real effort, and why the Mac still had the edge.
- Apple’s WWDC mojo shows back up
Apple’s 2019 WWDC keynote answered the big questions hanging over the Mac Pro, iPad, and the future of Apple’s platforms. This essay captures the relief of seeing Apple regain some direction, with SwiftUI as the announcement that made the future feel exciting.
- Anti-trust discomfort
A 2019 reaction to Elizabeth Warren’s proposal to break up Amazon, Google, and Facebook. The concern isn’t that big tech’s problems are imaginary, but that blunt antitrust action, pursued through shallow political and technical conversation, may hurt as much as it helps.
- My Empathy Wobble
The exit is supposed to be the dream, but acquisitions test teams in ways logic alone cannot solve. This talk looks back at Wunderlist joining Microsoft, the alignment and trust failures that followed, and the empathy wobble I did not see in myself until too late.
- Jakarta, Eh?
When Java EE became Jakarta EE in 2018, the old Apache Jakarta name came back with it. The naming choice felt like an homage, and a reminder that trademark anxieties can outlast the people and projects around them.
- Saving our bacon with evil cucumbers
Before launching Wunderlist 3, the team needed to know whether the rebuilt backend would survive real load. The answer came from Böse Gurken: thousands of simulated users that broke servers, exposed assumptions, and made launch day mercifully quiet.
- When servers bleed
Heartbleed turned an ordinary Berlin startup morning into an emergency security outage. This is the story of taking Wunderlist offline, rotating credentials, rebuilding load balancers, and choosing not to knowingly leak user data while the broader web scrambled to respond.