Notes
Leadership, engineering, and the messy parts in between. Older posts date back to the original WordPress blog.
-
My blueprint for creating high-performing teams in tech
Great tech teams don't just find great engineers. They create them. What I've learned building teams at Apple, Microsoft, and Google…
-
The most valuable benefits
Unlimited vacation, ping-pong tables, free food, private concerts. These are the employee benefits of our generation…
-
Unexpected surprises of following guidelines
I finally got around to downloading Instagram last Saturday. What caught my attention was its app icon while it was loading…
-
Subclassing vs. configuration
One of the common patterns you'll see in abstracting and encapsulating device drivers is the usage of subclassing and/or configuration files…
-
Just an aside…
“So we beat on, boats against the current, borne back ceaselessly into the past.” — F. Scott Fitzgerald
-
How to sell your software
What makes someone actually pay for software? The models that work, drawn from the ones I've paid for myself…
-
Canceling a dispatch_queue_t in C using context
A really dirty method to cancel out a queue in C, for when weak pointers aren't an option…
-
The art of reinventing the wheel
Solving a problem somebody has already solved — and made public. So why do we keep doing it?…
-
Intention
A short video share, worth the minute.
-
Learning from others’ mistakes
Be a silent audience to someone else's work — sooner or later you'll watch them correct their mistakes…
-
goto hell (are gotos that bad?)
Never use a goto, they said. There's a lot of debate about whether gotos or multiple return points are “really” bad…
-
Simple, clean
How simple, clean design eases user experience — featuring a rant about Comcast's remote…
-
Using tools properly (analyzing performance with LLVM intermediates)
Why an overcomplicated-looking macro beat the “obvious” cast — checking assumptions against LLVM IR…
-
iMessage when your code sucks
Two-hour clean builds, a missing semicolon, and a script that iMessages your phone when the build barfs…
-
Quality in code, quality in everything
Careless slides from careful coders — quality is a habit that shows up in everything you ship…
-
Should I rewrite?
There's a lot of debate on when to refactor, when to rewrite, and when to move on…