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