The Philosopher Developer
half-sound logic, half-decent code
Thoughts on fixing burnout
Modesty is a luxury
On reducing tension
Focus time is not petty cash
What can I do to help?
What is a spike?
Software that explains itself
The case for promoting over hiring
Advice vs. guidelines
The Pit of Success
Putting more thought into dependencies
The rolling cultural deployment
Don't make me think
The business goal
The house with many rooms
Published in 60 minutes
When the golden rule goes wrong
Big rocks and small rocks
Working on Bitbucket is awesome
Pride is a weakness
The Talking Down Epidemic
The self-healing chain
Should we write our own tests?
Artificial constraints and the pursuit of mastery
Forests and treebuilders
Applications are different
I demand smarter tools
Expertise and perfectionism can be a deadly mix
The absence of disproof is not proof
Carousels, context, and judgment
Hero culture vs. Borg culture
In defense of global state
People are not resources
Risk aversion and software development
Charts made dead simple with HighTables
Am I an engineer?
Your brain is a liability
Making YAML safe again
A/B testing and irreducible complexity
Optimize for comprehensibility
The universe is a one-way function
Cannibalizing yourself on purpose
Brushing up on C.S. - Part 1: Algorithmic Complexity
A magical optimization of the += operator with strings
To start over or continue
The trouble with stop-the-line CI
The littlest Ruby debugger
The Optimizing Mind
The trick to good ballpark estimates
Am I being obnoxious?
Being agile with continuous integration
Ghost clicks in jQuery Mobile
We're all going to die because you don't know what a binary tree is
About that jQuery Mobile trick: Correction
A little jQuery Mobile trick
Not solved here syndrome
How I discovered a bug in the C# compiler, part 2
How I discovered a bug in the C# compiler, part 1
Sometimes the best strategy is to retreat
A boy can dream...
How to build a thread-safe lock-free resizable "array"
Tempted by LINQ? Stop and think
Multithreading and multitasking
Resolution: the need for a terminating condition
White angels & black devils
String manipulation in .NET: Epilogue
Are strings REALLY immutable in .NET?
What's annoying about SortedList
The difference between converting and unboxing: read my mind, compiler!