zachleat’s Ugly Mug

Zach Leatherman

Zach is a Front End Engineer / Web Developer with Filament Group. He has given talks at Smashing Conference, O’Reilly Velocity, CSSConf, and The White House. He also herds the NebraskaJS meetup and NEJS CONF. Read more about Zach »

  1. 2018
  2. SmashingConf London Conference Speaking on February 7 Feb 2018
  3. Airing out 2017’s Dirty Laundry Jan 2018
  4. 2017
  5. 23 Minutes of Work for Better Font Loading Web Fonts🔥 #1 Nov 2017
  6. NebraskaJS Omaha Speaking on November 14 Nov 2017
  7. Managing Font Loading CSS Was Painful—Not Anymore Web FontsProject🔥 #4 Nov 2017
  8. A Collection of Web Font Loading Recipes Web FontsProjectResearch🔥 #12 Oct 2017
  9. FOIT vs. FOUT, a Side by Side Comparison Web FontsProject🔥 #20 Oct 2017
  10. A Historical Look at FOUT and FOIT Web Fonts🔥 #10 Sep 2017
  11. Web Standards Podcast #85 Web FontsSpeaking Sep 2017
  12. CSS-Minsk-JS Conference Speaking on September 10 Sep 2017
  13. The Ten Twitter Commandments Speaking Aug 2017
  14. The Web Font Loading Glossary Web Fonts🔥 #7 Aug 2017
  15. I made a style guide for my personal web site and you should too. 🔥 #9 Aug 2017
  16. NEJS CONF 2017 Conference Organizing on July 21 Jul 2017
  17. Font Aliasing, or How to Rename a Font in CSS Web FontsResearch🔥 #6Highlight Jun 2017
  18. Laissez-faire Font Smoothing and Anti-aliasing Web FontsResearch🔥 #17Highlight May 2017
  19. Quick Demo: Animating on an Oval Path May 2017
  20. Wait, WebP is actually worth it. Research🔥 #15 Apr 2017
  21. What Are You Excited About? Speaking Apr 2017
  22. Selecthor: A Better way to Learn and Demo CSS Selectors Project Apr 2017
  23. Randsom: A Random Web Fonts Ransom Note Project Apr 2017
  24. Bernie Tweets Project Mar 2017
  25. CSS-Tricks Video Screencasts #152: Font Loading Web FontsSpeaking57 min Video Jan 2017
  26. Shop Talk Show #247: The Performance Equation Web FontsSpeaking72 min Audio Jan 2017
  27. In Case You Missed It: 2016 Jan 2017
  28. 2016
  29. No @font-face Syntax will ever be Bulletproof, Nor Should It Be. Web FontsHighlight Dec 2016
  30. Lazy Loading Web Fonts Is Probably Not What You Want Web FontsHighlight Nov 2016
  31. I Wanted to Type a Number ResearchHighlight Aug 2016
  32. NEJS CONF 2016 Recap Conference Organizing on August 26 Aug 2016
  33. Beyond Code #4 at NEJS CONF 2015 Speaking3 min Video Aug 2016
  34. A Comprehensive Guide to Font Loading Strategies Web Fonts🔥 #2Highlight Jul 2016
  35. CSS Position Sticky Speaking10 min Video Jun 2016
  36. Web Fonts for President 2016 Web Fonts🔥 #5 Apr 2016
  37. The Web Fonts: Preloaded Web FontsResearch🔥 #11Highlight Apr 2016
  38. Trying out a new Font Stack Apr 2016
  39. Web Font Anti-pattern: Data URIs Web FontsResearch🔥 #19Highlight Mar 2016
  40. A Versatile 2KB of JS Speaking25 min Video Mar 2016
  41. A Story About Proxy Filters Feb 2016
  42. Critical Web Fonts Web FontsResearch🔥 #8Highlight Jan 2016
  43. In Case You Missed It: 2015 Jan 2016
  44. 2015
  45. The Infinity Hamburger Menu Project Dec 2015
  46. Frameworks, not Blameworks Nov 2015
  47. A Brief History of that Time You Used Web Fonts—SmashingConf Barcelona Web FontsConference Speaking48 min Video Oct 2015
  48. The Performance and Usability of Web Fonts—Velocity New York City Web FontsConference Speaking42 min Video Oct 2015
  49. A Hypocrite’s Guide to Public Speaking Speaking17 min VideoHighlight Sep 2015
  50. Changelog #166, NEJS CONF 2015 Speaking69 min Audio Aug 2015
  51. NEJS CONF 2015 Recap Conference Organizing on August 7 Aug 2015
  52. The Mitt Romney Web Font Problem Web FontsResearchHighlight May 2015
  53. The Performance and Usability of Font Loading—Velocity Santa Clara Web FontsConference Speaking39 min Video May 2015
  54. Tech Meetup at the White House Speaking3 min VideoHighlight Apr 2015
  55. Compatibility Tables Compendium Mar 2015
  56. Better @font-face with Font Load Events—SmashingConf Whistler Web FontsConference Speaking48 min VideoHighlight Feb 2015
  57. Flash of Faux Text—still more on Font Loading Web FontsResearch🔥 #14Highlight Jan 2015
  58. Performance and Responsive Web Design (2015) Speaking67 min Video Jan 2015
  59. How we use web fonts responsibly, or, avoiding a @font-face-palm Web FontsResearch Jan 2015
  60. In Case You Missed It: 2014 Jan 2015
  61. 2014
  62. The Making of fontfamily.io Web FontsSpeaking19 min Video Nov 2014
  63. word-break Podcast #1 Speaking49 min Audio Nov 2014
  64. WOFF2 See the Wizard, a Wonderful JavaScript Feature Test Web FontsProject Oct 2014
  65. A Font Family Reunion Web FontsProjectHighlight Sep 2014
  66. Better @font-face with Font Load Events on Dev.Opera Web FontsResearchHighlight Sep 2014
  67. The Perfect GIF Speaking12 min Video Sep 2014
  68. W3C Status Banners Project Aug 2014
  69. Tablesaw: A Flexible Tool for Responsive Tables ProjectHighlight Aug 2014
  70. A Frugal and Simple Guide to Putting Lights on your Bike Jul 2014
  71. Pastry Box: Impostor Syndrome Jun 2014
  72. Bulletproof Icon Fonts—CSSConf Web FontsConference Speaking26 min Video May 2014
  73. Politespace, an unobtrusive alternative to input masks Project Apr 2014
  74. Bulletproof Accessible Icon Fonts Web FontsProjectResearchHighlight Jan 2014
  75. 2013
  76. In Case You Missed It: 2013 Dec 2013
  77. Domain Swap: A Google Chrome Extension Project Dec 2013
  78. The Elusive :target Feature Test ResearchHighlight Nov 2013
  79. Impostor Syndrome Speaking7 min VideoHighlight Oct 2013
  80. A Nodecopter Informercial (at HOW Conf) Speaking Sep 2013
  81. A Sliver of What I Learned at JSConf 2013 Jun 2013
  82. You Should Follow Fewer People on Twitter Project Jun 2013
  83. Performance and Responsive Web Design (2013) Speaking61 min Video May 2013
  84. zachleat.com is Dead, Long Live zachleat.com May 2013
  85. Tool or Die, a Web Developer’s Workflow Conference Speaking59 min VideoHighlight Mar 2013
  86. Side Projects (at Awesome Camp) Speaking Mar 2013
  87. A Web Developer Fumbling with Social Media Jan 2013
  88. 2012
  89. SocialCount, Faster & Lighter Social Networking Widgets ProjectHighlight Nov 2012
  90. Performance in Responsive Web Design (2012) Speaking Nov 2012
  91. A Front End Engineer’s Manifesto ProjectConference SpeakingHighlight Sep 2012
  92. CSS3 Job Transition May 2012
  93. Let’s get parseIntimate. Project Feb 2012
  94. Placeholder Title for Article about HTML5 Placeholders ResearchHighlight Feb 2012
  95. 2011
  96. Deferreds and a Better Geolocation API Nov 2011
  97. A Mobile Web Divided Aug 2011
  98. Progressive Enhancement (at jQuery Omaha) Speaking Aug 2011
  99. FitText + BigText: A Tale of Two Plugins Web FontsProject🔥 #16Highlight May 2011
  100. Pragmatic Progressive Enhancement Highlight May 2011
  101. HTML5 vs. Native Applications, The Presentation Speaking Mar 2011
  102. Raging Netflix Queue, a Google Chrome Extension Project Feb 2011
  103. The JavaScript Testing Challenge Winner Feb 2011
  104. Et tu, X-UA-Compatible? ResearchHighlight Feb 2011
  105. BigText Makes Text Big Web FontsProject🔥 #3Highlight Jan 2011
  106. An Update to The JavaScript Testing Challenge Jan 2011
  107. 2010
  108. The JavaScript Testing Challenge Speaking5 min Video Nov 2010
  109. Faking Onload for Link Elements ResearchHighlight Jul 2010
  110. ALARMd is now on Github Jul 2010
  111. Maiden Voyage of the DOM Sailbloat Project Jul 2010
  112. A Race Against Time Pickers Jun 2010
  113. Point, Charset, Match: Character Encoding in JavaScript Research Mar 2010
  114. Internet Explorer Array.sort Unreliable ResearchHighlight Feb 2010
  115. If the Menu Fitts, We Must Acquit Feb 2010
  116. CSS 3 Text: A Tale of writing-mode Woe Research Feb 2010
  117. Trash that “Back to Top” Link Feb 2010
  118. The 24 Clock on ALARMd Jan 2010
  119. DIY Webdings – CSS Sprites using @font-face ResearchHighlight Jan 2010
  120. 2009
  121. Don’t Give Up on Internet Explorer Yet Dec 2009
  122. Device Independence on the Open Web Highlight Aug 2009
  123. Quick Performance Tip: jQuery and addClass Jun 2009
  124. Adobe Reverts Flex Store to Open Web May 2009
  125. Performance Caveat with jQuery Selectors and Live Events Research May 2009
  126. Jonathan Sharp at The Ajax Experience Feb 2009
  127. ALARMd Unix Time Format for 1234567890 Day Feb 2009
  128. Registration Forms Suck, Let’s Mitigate Suckiness Jan 2009
  129. Scare Your Visitors with this JavaScript Gravatar Plugin Project Jan 2009
  130. 2008
  131. DOMContentLoaded Inconsistencies (in Browsers and JavaScript Libraries) ResearchHighlight Dec 2008
  132. jQuery Bug: IE reports incorrect $.browser.version Oct 2008
  133. Dear IE6: Please Cache my Images. Research Oct 2008
  134. Relative URLs including the Domain Oct 2008
  135. ALARMd is a Google Code Project Oct 2008
  136. Fight Registrastination. Register to vote! Project Sep 2008
  137. Writing a Front End Engineer’s Resume (or CV) Sep 2008
  138. Emulating onhashchange without setInterval ResearchHighlight Aug 2008
  139. Double Whammy: OpenID and Microformats May 2008
  140. Selecting XML Nodes with JavaScript (Peril of getElementsByTagName) Research🔥 #18Highlight May 2008
  141. Javascript Objects are NOT JSON May 2008
  142. Surnamespacing May 2008
  143. Don’t Let the Door Hit You Onunload and Onbeforeunload Research🔥 #13Highlight Apr 2008
  144. Forgive My Feed Apr 2008
  145. Rethinking JavaScript Grids and DataTables Apr 2008
  146. ALARMd 2 Beta, with Google Calendar Integration ProjectHighlight Apr 2008
  147. 20000 Leagues Under the API: YouTube JavaScript Apr 2008
  148. Code Like the Big Boys: Flickr Mar 2008
  149. Tips for Programming JavaScript Functions Mar 2008
  150. Architecture Choices: Callbacks and Events in JavaScript Mar 2008
  151. Yet Another Pretty Date JavaScript ProjectHighlight Mar 2008
  152. Minor Annoyances with Firefox Development Mar 2008
  153. Specific Inheritance with TIBCO’s General Interface Mar 2008
  154. PHP Pretty Date Project Feb 2008
  155. Online Movie Rental Review – Amazon Unbox Jan 2008
  156. 2007
  157. Quine using XHTML and JavaScript Dec 2007
  158. Faster YUI DataTable with 5 Lines of Code Dec 2007
  159. Problems with Looping through window.setInterval Dec 2007
  160. enterval, an automatic setInterval chainer. Project Dec 2007
  161. Speed up Including Google Analytics Nov 2007
  162. Obscurity, Security, and Captcha Nov 2007
  163. Forward Compatibility and JavaScript Nov 2007
  164. Nursery Rhyme Code Poem [CSS] Oct 2007
  165. Nursery Rhyme Code Poem [PHP] Oct 2007
  166. Nursery Rhyme Code Poem [JavaScript] Oct 2007
  167. Write More Efficient Javascript in YUI with CSS Selectors Project Sep 2007
  168. Cross Domain XHR with Firefox 2 Aug 2007
  169. Namespacing outside of the YAHOO Namespace Aug 2007
  170. Enlarging your YUI DataTable in 29 Seconds or Less! Aug 2007
  171. ALARMd now supports URLs Aug 2007
  172. maLArquee, Bringing Back the Marquee Project Aug 2007
  173. Using Phing to automate JavaScript and CSS Minimization Aug 2007
  174. YUI Code Review: YAHOO.namespace Aug 2007
  175. Using DOM Query Libraries in YUI Jul 2007
  176. 8 Things the YUI Library Needs to Win Me Back Jul 2007
  177. What Sound Does a Cow Make? MooTools. Jul 2007
  178. 20/20 Hindsight, a Look Back at ALARMd Jul 2007
  179. JavaScript Frameworks and JSF Jul 2007
  180. DOMDom, easy DOM Element Creation Project Jul 2007
  181. Wake up to YouTube on my Internet Alarm Clock ProjectHighlight Jun 2007
  182. Enlarging your YUI DataTable in 30 Seconds or Less! Jun 2007
  183. Screen Readers and Listening at the Speed of Sound May 2007
  184. Wash your mouth out with SOAP and the YUI Connection Manager May 2007
  185. YUI DataTable and You: Making the Marriage Work Apr 2007
  186. I-Frame Shims or How I Learned to Stop Worrying and Love the Bomb Apr 2007
  187. JavaScript Code Coverage Tool for Firebug Project Apr 2007
  188. Google Using YUI Grids CSS Highlight Apr 2007
  189. Problems with YUI DataTable Apr 2007
  190. YUI Button Lite Mar 2007
  191. Logical XOR in JavaScript Project Mar 2007
  192. Conservative Design Example: Hierarchical Options Mar 2007
  193. Fundamental Problem with YUI Button Mar 2007
  194. OMG SOA Mar 2007
  195. Conservative Design Example: Multiple Option List Mar 2007
  196. Conservative Design: Command Line Interface Mar 2007
  197. Namespaces in Ext DomQuery Mar 2007
  198. Beaten to the Spiked Punch Mar 2007
  199. Conservative Design: Option List Feb 2007
  200. Conservative Design Patterns for Form Elements Feb 2007
  201. Conservative Design: Hierarchical Select Feb 2007
  202. Screen Printing, Fake Interfaces Part 1 Feb 2007
  203. Checklist for Web Applications Feb 2007