Zach’s ugly mug (his face)

Zach Leatherman

Writing

199 posts since 2007. Show all archives.

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