Zach’s ugly mug (his face)

Zach Leatherman

Zach is a Web Developer with the award winning Filament Group. He’s currently fixated on web fonts and static site generators. His public speaking rΓ©sumΓ© includes talks at Smashing Conference, CSS-Minsk-JS, O’Reilly Velocity, CSSConf, and The White House. He also herds the NebraskaJS meetup and NEJS CONF. Read more about Zach »

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