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