The Most Difficult Thing I've Ever Done - Starting a Company
Years ago I wrote that finishing a book was the hardest thing I'd ever done. Starting a company has taken the title, and it's hard in a different way.
A staff engineer turned cofounder. iOS by heart, backend by happenstance. Right now I'm building Odo, an AI email assistant, with my cofounder, and learning company building and AI-native development as I go. I write here about what I learn along the way: the product, the process, and working with AI.
Years ago I wrote that finishing a book was the hardest thing I'd ever done. Starting a company has taken the title, and it's hard in a different way.
How I came to the decision to finally take the plunge and go independent.
3 min readA look at how pushing through discomfort is exactly where I want to be.
4 min readAn in-depth discussion of my experience writing a technical book about learning Swift.
14 min read8 min read
Does separating code into extra extensions and/or modules have a meaningful impact on compile times?
9 min read
While toying around with an app idea I came across the need to develop my own algorithm and therefore return to Data Structures and Algorithms techniques I learned in college. Here is the problem, my process, and my solution.
1 min read
While updating my app for the iOS 13 SDK, I came across a change in JSONEncoder that broke some of the logic in my code. It now supports encoding top-level values.
1 min read
What is the value of result after doing: let result = false && true || true
2 min read
Be warned: there may be a bug in the fancier version of Key Value Observering. I discovered it while implementing a progress callback in my Decree web request library.
4 min read
A couple very common programming patterns, especially in the Apple world, are Singleton and Shared Instance. People often confuse the two and there's also controversy around them. Let's clear these things up.
New posts on company building, working with AI, and shipping software. Get them by email. No spam, unsubscribe anytime.