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 in seven different countries at events like Smashing Conference, O’Reilly Velocity, CSSConf, and The White House. He also helps herd NEJS CONF and the NebraskaJS meetup. Read more about Zach »

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