2019 |
November 23, 2019 |
Interfaces generally belong with users |
April 24, 2019 |
JavaScript minification |
2018 |
September 01, 2018 |
TypeScript at Google |
July 08, 2018 |
Why not add an option for that? |
2016 |
July 06, 2016 |
TypeScript nullable types |
July 04, 2016 |
Adventures in terminal emulators |
April 10, 2016 |
TypeScript's type-independent output |
March 30, 2016 |
Microsoft BUILD conference |
February 10, 2016 |
Revisiting TypeScript |
2015 |
September 16, 2015 |
Random software: gocairo |
September 16, 2015 |
Random software: Blizzard parser |
July 27, 2015 |
Arch Linux on a ASUS Zenbook UX305 |
July 22, 2015 |
Sabbatical, 2 |
July 20, 2015 |
Recovering without a reflog |
June 25, 2015 |
Notes on celiac disease |
2014 |
November 20, 2014 |
Embedding the current revision in your product's binary |
August 09, 2014 |
Pocket mini |
July 01, 2014 |
The Anti-Dashboard Manifesto |
June 13, 2014 |
Informal statistics |
February 18, 2014 |
Links in a single page app |
February 11, 2014 |
React, JSX, and CoffeeScript |
2013 |
September 25, 2013 |
Big companies, small companies |
August 10, 2013 |
SPDY setup |
July 20, 2013 |
The zen of monads |
March 29, 2013 |
Making |
March 06, 2013 |
No posts / jelly no puzzle |
2012 |
July 16, 2012 |
Gyp, Ninja, and shared object TOCs |
June 15, 2012 |
Instant backtraces in C/C++ |
May 09, 2012 |
New project |
March 06, 2012 |
Adventures in heap profiling |
January 16, 2012 |
Sabbatical |
2011 |
December 21, 2011 |
Linux on a G4 Mac Mini |
December 20, 2011 |
Nonblocking disk IO |
December 15, 2011 |
Return by value |
November 09, 2011 |
Graphics stack |
October 18, 2011 |
Animation |
October 18, 2011 |
Arch for Debian users |
October 17, 2011 |
Why not Haskell? |
October 13, 2011 |
Quoting |
September 21, 2011 |
New blog format |
September 11, 2011 |
Platform of the future |
May 18, 2011 |
Some things I've learned about memory |
April 30, 2011 |
An update on Ninja |
April 23, 2011 |
Complexity is the enemy |