Blog
- 18/Jun 2022 Dear Zach
- 10/Dec 2016 🌟 When everything's important, nothing is! 🌟
- 30/Aug 2016 Slicing SVG 9 Ways
- 15/Feb 2016 The Anatomy of a Frame
- 25/Jan 2016 The Hack is Back!
- 16/Nov 2015 The Cost of Frameworks
- 9/Nov 2015 Big Rig
- 30/Sep 2015 CORS for Concern
- 9/Jul 2015 Spelunking in Decoratorland
- 3/Jul 2015 React + Performance = ?
- 17/Jun 2015 Guitar Tuner
- 11/Jun 2015 Polymer for the Performance-obsessed
- 24/Apr 2015 Moar Performance!
- 11/Feb 2015 FLIP Your Animations
- 18/Oct 2014 Some Gotchas That Got Me
- 26/Jul 2014 CSS Triggers
- 3/Jul 2014 Pixels are expensive
- 29/Apr 2014 Better password form fields
- 23/Apr 2014 trigger vs triggerHandler in jQuery
- 24/Mar 2014 Web Components and the Three Unattractive Pillars
- 3/Mar 2014 My Performance Audit Workflow
- 30/Jan 2014 Bye Bye Layer Hacks, Hello will-change
- 22/Jan 2014 Algowhatnow?
- 18/Dec 2013 Dart: on its merits
- 11/Dec 2013 The Web Needs Containment
- 1/Dec 2013 Bad Benchmark, Right Result
- 30/Nov 2013 New Site, Same Old Priorities
- 5/Aug 2013 Images Slowing Down Your Site? Try This One Weird Trick!
- 2/Jul 2013 Making a 60fps Mobile App
- 26/Jun 2013 It should "just work"
- 28/May 2013 Reflections on Performance at Google I/O
- 10/Apr 2013 Reinventing the Wheel
- 3/Apr 2013 Hello, Blink!
- 18/Mar 2013 Don't Guess it, Test it!
- 27/Feb 2013 On translate3d and layer creation hacks