Zach’s ugly mug (his face)

Zach Leatherman

Writing

206 posts since 2007. Show all archives.

  1. 2020 ×12
  2. Ruthlessly Eliminating Layout Shift on netlify.com 📢 159 #5 Nov 2020
  3. eleven_ty’s AvatarEleventy Leaderboards v2 viaspeedlify’s AvatarSpeedlify 📢 55Project Aug 2020
  4. Netlify’s Merry Band of 1 Million Developers 📢 14 Aug 2020
  5. Bulk Generating OG Images 📢 64 Aug 2020
  6. The Lighthouse Scores Will Continue Until Morale Improves 📢 27Project Jul 2020
  7. I added Lighthouse Scores to my Site’s Footer and You Can Too 📢 265Project #8 Jul 2020
  8. Usespeedlify’s AvatarSpeedlify to Continuously Measure Site Performance 📢 551Project #4 Jun 2020
  9. Résumé/CV on the Jamstack 📢 55 Apr 2020
  10. CSS Naked Day 📢 3 Apr 2020
  11. eleven_ty’s AvatarEleventy’s New Performance Leaderboard 📢 55Eleventy Mar 2020
  12. Now Deploying tonetlify’s AvatarNetlify 📢 34 Jan 2020
  13. A Love Letter tofilamentgroup’s AvatarFilament Group 📢 123 Jan 2020
  14. 2019 ×15
  15. The Origin Story of Container Queries 📢 132Research #18 Dec 2019
  16. Building Exclusive Features For Open Collective Contributors on Netlify 📢 21EleventyProject Dec 2019
  17. HTTP Archive’s Web Almanac 2019—Web Fonts Edition Web FontsResearch Nov 2019
  18. I’m Taking Ownership of My Tweets 📢 28Project Sep 2019
  19. Two Browsers Walked Into a Scrollbar Research Sep 2019
  20. A Featherweight Facepile 📢 35EleventyProject Aug 2019
  21. Reactions to: An Honest Conversation About Burnout on JSParty 📢 24 Jul 2019
  22. Bridgy for Webmentions with Brotli 📢 4 Jun 2019
  23. Developing a Robust Font Loading Strategy for CSS-Tricks 📢 141Web FontsResearch #6 Jun 2019
  24. The Crushing Weight of the Facepile 📢 54 Jun 2019
  25. Render Snarky Comments in Comic Sans 📢 229Eleventy Jun 2019
  26. The Co-opetition of Team Web 📢 34 May 2019
  27. font-display is Incompatible with Icon Fonts 📢 83Web Fonts #16 May 2019
  28. Google Fonts is Adding font-display 🎉 📢 121Web Fonts #2 May 2019
  29. Build your own Blog from Scratch using Eleventy Eleventy Jan 2019
  30. 2018 ×22
  31. Don’t Stop Learning Frameworks Dec 2018
  32. Should I Use JavaScript to Load My Web Fonts? Web FontsResearch Nov 2018
  33. Happy Birthday Eleventy! 🎉 📢 5Eleventy Nov 2018
  34. A Group of Web Font Repaints is called a Michael Serif Web Fonts Aug 2018
  35. The Problem with font-display and Reflow 📢 22Web Fonts Aug 2018
  36. The Font Loading Checklist 📢 8Web Fonts #7 Aug 2018
  37. The Life Expectancy of Digital Content Jun 2018
  38. The Simplest Web Site That Could Possibly Work Well EleventyNEJS CONF May 2018
  39. Obnoxiously Readable Responsive Text with Viewport Units Web Fonts May 2018
  40. preload with font-display: optional is an Anti-pattern 📢 23Web Fonts Apr 2018
  41. Import your Disqus Comments to Eleventy 📢 4Eleventy Apr 2018
  42. “The Compromise”—a Modern but Compatible Font Loading Strategy 📢 30Web Fonts Apr 2018
  43. Passing the Lead NebraskaJS Organizer Baton Mar 2018
  44. Google Open Source Award for Eleventy Eleventy Mar 2018
  45. imaging-heap, Measuring Responsive Image Efficiency Project Mar 2018
  46. It’s Dangerous to Go Stallone. Take Glyphhanger Web FontsProject Mar 2018
  47. “A letter about Google AMP” Feb 2018
  48. Introducing Eleventy, a new Static Site Generator EleventyProject #17 Feb 2018
  49. Making a Simple Web Site with the Simplest Static Site Generator, Level 2—Adding Filters 📢 1Eleventy Jan 2018
  50. Making a Simple Web Site with the Simplest Static Site Generator, Level 1 📢 1Eleventy #10 Jan 2018
  51. spider-pig Searches for Nodes that match a CSS Selector Project Jan 2018
  52. Airing Out 2017’s Dirty Laundry Jan 2018
  53. 2017 ×15
  54. 23 Minutes of Work for Better Font Loading 📢 41Web Fonts #9 Nov 2017
  55. Managing Font Loading CSS Was Painful—Not Anymore Web FontsProject Nov 2017
  56. A Collection of Web Font Loading Recipes 📢 1Web FontsProjectResearch Oct 2017
  57. FOIT vs. FOUT, a Side by Side Comparison 📢 3Web FontsProject Oct 2017
  58. A Historical Look at FOUT and FOIT 📢 130Web Fonts Sep 2017
  59. The Web Font Loading Glossary 📢 1Web Fonts Aug 2017
  60. I made a style guide for my personal web site and you should too. 📢 3 Aug 2017
  61. Font Aliasing, or How to Rename a Font in CSS 📢 10Research #15 Jun 2017
  62. Laissez-faire Font Smoothing and Anti-aliasing 📢 8Research May 2017
  63. Quick Demo: Animating on an Oval Path 📢 2 May 2017
  64. Wait, WebP is actually worth it. 📢 10Research Apr 2017
  65. Selecthor: A Better way to Learn and Demo CSS Selectors 📢 4Project Apr 2017
  66. Randsom: A Random Web Fonts Ransom Note 📢 2Project Apr 2017
  67. Bernie Tweets Project Mar 2017
  68. In Case You Missed It: 2016 Jan 2017
  69. 2016 ×12
  70. No @font-face Syntax will ever be Bulletproof, Nor Should It Be. Web Fonts Dec 2016
  71. faux-pas, Detecting Faux Web Font Rendering Project Dec 2016
  72. Lazy Loading Web Fonts Is Probably Not What You Want 📢 3Web Fonts Nov 2016
  73. I Wanted to Type a Number Research Aug 2016
  74. A Comprehensive Guide to Font Loading Strategies 📢 156Web Fonts #1 Jul 2016
  75. Web Fonts for President 2016 📢 10Web Fonts #11 Apr 2016
  76. The Web Fonts: Preloaded 📢 6Web FontsResearch #12 Apr 2016
  77. Trying out a new Font Stack 📢 1 Apr 2016
  78. Web Font Anti-pattern: Data URIs 📢 18Web FontsResearch Mar 2016
  79. A Story About Proxy Filters Feb 2016
  80. Critical Web Fonts 📢 6Web FontsResearch #14 Jan 2016
  81. In Case You Missed It: 2015 Jan 2016
  82. 2015 ×10
  83. The Infinity Hamburger Menu Project Dec 2015
  84. Using Custom Fonts Responsibly, an Akamai Animated Short Web FontsSpeaking5 min Video Dec 2015
  85. Frameworks, not Blameworks Nov 2015
  86. Filament Group is Agency of the Year at Net Awards Sep 2015
  87. Smashing Book #5 Web Fonts Jul 2015
  88. The Mitt Romney Web Font Problem 📢 7Web FontsResearch May 2015
  89. Compatibility Tables Compendium 📢 9 Mar 2015
  90. Flash of Faux Text—still more on Font Loading 📢 3Web FontsResearch #20 Jan 2015
  91. How we use web fonts responsibly, or, avoiding a @font-face-palm Web FontsResearch Jan 2015
  92. In Case You Missed It: 2014 Jan 2015
  93. 2014 ×7
  94. WOFF2 See the Wizard, a Wonderful JavaScript Feature Test Web FontsProject Oct 2014
  95. A Font Family Reunion 📢 12Web FontsProject Sep 2014
  96. W3C Status Banners 📢 2Project Aug 2014
  97. Tablesaw: A Flexible Tool for Responsive Tables Project Aug 2014
  98. A Frugal and Simple Guide to Putting Lights on your Bike 📢 1 Jul 2014
  99. Politespace, an unobtrusive alternative to input masks Project Apr 2014
  100. Bulletproof Accessible Icon Fonts Web FontsProjectResearch Jan 2014
  101. 2013 ×7
  102. In Case You Missed It: 2013 📢 3 Dec 2013
  103. Domain Swap: A Google Chrome Extension Project Dec 2013
  104. The Elusive :target Feature Test 📢 2Research Nov 2013
  105. A Sliver of What I Learned at JSConf 2013 Jun 2013
  106. You Should Follow Fewer People on Twitter 📢 3Project Jun 2013
  107. zachleat.com is Dead, Long Live zachleat.com 📢 40 May 2013
  108. A Web Developer Fumbling with Social Media 📢 12 Jan 2013
  109. 2012 ×4
  110. SocialCount, Faster & Lighter Social Networking Widgets Project Nov 2012
  111. CSS3 Job Transition 📢 3 May 2012
  112. Let’s get parseIntimate. Project Feb 2012
  113. Placeholder Title for Article about HTML5 Placeholders 📢 11Research Feb 2012
  114. 2011 ×8
  115. Deferreds and a Better Geolocation API 📢 3 Nov 2011
  116. A Mobile Web Divided 📢 2 Aug 2011
  117. FitText + BigText: A Tale of Two Plugins 📢 6Web Fonts May 2011
  118. Pragmatic Progressive Enhancement 📢 1 May 2011
  119. Raging Netflix Queue, a Google Chrome Extension 📢 8Project Feb 2011
  120. The JavaScript Testing Challenge Winner 📢 3 Feb 2011
  121. Et tu, X-UA-Compatible? 📢 3Research Feb 2011
  122. BigText Makes Text Big 📢 73Web FontsProject #3 Jan 2011
  123. An Update to The JavaScript Testing Challenge Jan 2011
  124. 2010 ×12
  125. The JavaScript Testing Challenge 📢 8Speaking5 min Video Nov 2010
  126. Faking Onload for Link Elements 📢 3Research Jul 2010
  127. ALARMd is now on Github 📢 4 Jul 2010
  128. Maiden Voyage of the DOM Sailbloat 📢 1Project Jul 2010
  129. A Race Against Time Pickers 📢 1 Jun 2010
  130. Point, Charset, Match: Character Encoding in JavaScript 📢 1Web FontsResearch Mar 2010
  131. Internet Explorer Array.sort Unreliable 📢 13Research Feb 2010
  132. If the Menu Fitts, We Must Acquit 📢 8 Feb 2010
  133. CSS 3 Text: A Tale of writing-mode Woe 📢 3Web FontsResearch Feb 2010
  134. Trash that “Back to Top” Link 📢 8 Feb 2010
  135. The 24 Clock on ALARMd 📢 3 Jan 2010
  136. DIY Webdings—CSS Sprites using @font-face 📢 13Web FontsResearch Jan 2010
  137. 2009 ×9
  138. Don’t Give Up on Internet Explorer Yet 📢 3 Dec 2009
  139. Device Independence on the Open Web 📢 3 Aug 2009
  140. Quick Performance Tip: jQuery and addClass 📢 2 Jun 2009
  141. Adobe Reverts Flex Store to Open Web May 2009
  142. Performance Caveat with jQuery Selectors and Live Events 📢 14Research May 2009
  143. Jonathan Sharp at The Ajax Experience Feb 2009
  144. ALARMd Unix Time Format for 1234567890 Day Feb 2009
  145. Registration Forms Suck, Let’s Mitigate Suckiness 📢 4 Jan 2009
  146. Scare Your Visitors with this JavaScript Gravatar Plugin 📢 6Project Jan 2009
  147. 2008 ×20
  148. DOMContentLoaded Inconsistencies (in Browsers and JavaScript Libraries) 📢 1Research Dec 2008
  149. jQuery Bug: IE reports incorrect $.browser.version 📢 3 Oct 2008
  150. Dear IE6: Please Cache my Images. 📢 3Research Oct 2008
  151. Relative URLs including the Domain 📢 2 Oct 2008
  152. ALARMd is a Google Code Project Oct 2008
  153. Fight Registrastination. Register to vote! Project Sep 2008
  154. Writing a Front End Engineer’s Resume (or CV) 📢 6 Sep 2008
  155. Emulating onhashchange without setInterval 📢 5Research Aug 2008
  156. Double Whammy: OpenID and Microformats May 2008
  157. Selecting XML Nodes with JavaScript, or the Peril of getElementsByTagName 📢 8Research #19 May 2008
  158. Javascript Objects are NOT JSON 📢 3 May 2008
  159. Surnamespacing 📢 3 May 2008
  160. Don’t Let the Door Hit You Onunload and Onbeforeunload 📢 10Research #13 Apr 2008
  161. Forgive My Feed Apr 2008
  162. Rethinking JavaScript Grids and DataTables 📢 1 Apr 2008
  163. ALARMd 2 Beta, with Google Calendar Integration 📢 12Project Apr 2008
  164. 20000 Leagues Under the API: YouTube JavaScript Apr 2008
  165. Code Like the Big Boys: Flickr 📢 3 Mar 2008
  166. Architecture Choices: Callbacks and Events in JavaScript Mar 2008
  167. Tips for Programming JavaScript Functions 📢 1 Mar 2008
  168. Minor Annoyances with Firefox Development Mar 2008
  169. Yet Another Pretty Date JavaScript 📢 25Project Mar 2008
  170. Specific Inheritance with TIBCO’s General Interface 📢 3 Mar 2008
  171. PHP Pretty Date 📢 6Project Feb 2008
  172. Online Movie Rental Review – Amazon Unbox 📢 4 Jan 2008
  173. 2007 ×35
  174. Quine using XHTML and JavaScript Dec 2007
  175. Faster YUI DataTable with 5 Lines of Code 📢 1 Dec 2007
  176. Problems with Looping through window.setInterval 📢 2 Dec 2007
  177. enterval, an automatic setInterval chainer. Project Dec 2007
  178. Obscurity, Security, and Captcha 📢 1 Nov 2007
  179. Speed up Including Google Analytics Nov 2007
  180. Forward Compatibility and JavaScript Nov 2007
  181. Nursery Rhyme Code Poem [CSS] 📢 1 Oct 2007
  182. Nursery Rhyme Code Poem [PHP] Oct 2007
  183. Nursery Rhyme Code Poem [JavaScript] 📢 1 Oct 2007
  184. Write More Efficient Javascript in YUI with CSS Selectors Project Sep 2007
  185. Cross Domain XHR with Firefox 2 📢 18 Aug 2007
  186. Enlarging your YUI DataTable in 29 Seconds or Less! 📢 3 Aug 2007
  187. Namespacing outside of the YAHOO Namespace 📢 8 Aug 2007
  188. ALARMd now supports URLs Aug 2007
  189. maLArquee, Bringing Back the Marquee 📢 4Project Aug 2007
  190. Using Phing to automate JavaScript and CSS Minimization 📢 3 Aug 2007
  191. YUI Code Review: YAHOO.namespace 📢 3 Aug 2007
  192. Using DOM Query Libraries in YUI 📢 3 Jul 2007
  193. 8 Things the YUI Library Needs to Win Me Back 📢 7 Jul 2007
  194. 20/20 Hindsight, a Look Back at ALARMd 📢 2 Jul 2007
  195. What Sound Does a Cow Make? MooTools. 📢 1 Jul 2007
  196. JavaScript Frameworks and JSF 📢 6 Jul 2007
  197. DOMDom, easy DOM Element Creation 📢 9Project Jul 2007
  198. Wake up to YouTube on my Internet Alarm Clock 📢 23Project Jun 2007
  199. Enlarging your YUI DataTable in 30 Seconds or Less! 📢 7 Jun 2007
  200. Screen Readers and Listening at the Speed of Sound May 2007
  201. Wash your mouth out with SOAP and the YUI Connection Manager 📢 3 May 2007
  202. YUI DataTable and You: Making the Marriage Work 📢 7 Apr 2007
  203. I-Frame Shims or How I Learned to Stop Worrying and Love the Bomb 📢 8 Apr 2007
  204. JavaScript Code Coverage Tool for Firebug 📢 18Project Apr 2007
  205. Google Using YUI Grids CSS 📢 9 Apr 2007
  206. Problems with YUI DataTable 📢 28 Apr 2007
  207. Logical XOR in JavaScript 📢 2Project Mar 2007
  208. Conservative Design Example: Hierarchical Options Mar 2007
  209. YUI Button Lite Mar 2007
  210. Fundamental Problem with YUI Button 📢 1 Mar 2007
  211. OMG SOA Mar 2007
  212. Conservative Design Example: Multiple Option List Mar 2007
  213. Conservative Design: Command Line Interface Mar 2007
  214. Namespaces in Ext DomQuery Mar 2007
  215. Beaten to the Spiked Punch Mar 2007
  216. Conservative Design: Option List Feb 2007
  217. Conservative Design: Hierarchical Select 📢 1 Feb 2007
  218. Conservative Design Patterns for Form Elements 📢 3 Feb 2007
  219. Checklist for Web Applications Feb 2007
  220. Screen Printing, Fake Interfaces Part 1 Feb 2007