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