Zach’s ugly mug (his face)

Zach Leatherman

Archives

268 posts since 2007. Show only writing.

  1. 2020 ×16
  2. Eleventy and Vue, a match made to power Netlify.com Sep 2020
  3. Eleventy Leaderboards v2 via Speedlify 📢 55Project #2 Aug 2020
  4. Cloudflare’s Creative Corner with the Netlify team Speaking Aug 2020
  5. Netlify’s Merry Band of 1 Million Developers 📢 14 Aug 2020
  6. Bulk Generating OG Images 📢 64 #19 Aug 2020
  7. The Lighthouse Scores Will Continue Until Morale Improves 📢 27Project Jul 2020
  8. I added Lighthouse Scores to my Site’s Footer and You Can Too 📢 265Project #5 Jul 2020
  9. Use Speedlify to Continuously Measure Site Performance 📢 551Project #3 Jun 2020
  10. Résumé/CV on the Jamstack 📢 55 #13 Apr 2020
  11. CSS Naked Day 📢 3 Apr 2020
  12. Eleventy’s New Performance Leaderboard 📢 55Eleventy #20 Mar 2020
  13. Eleventy Crash Course with Nick and Zach—NebraskaJS Omaha EleventySpeaking Feb 2020
  14. Now Deploying to netlify’s AvatarNetlify 📢 34 #17 Jan 2020
  15. A Love Letter to filamentgroup’s AvatarFilament Group 📢 123 Jan 2020
  16. Let’s Learn Eleventy!—Learn With Jason EleventySpeakingon Jan 792 min Video Jan 2020
  17. 🇺🇸 Eleventy Crash Course with Nick and Zach—NebraskaJS Omaha EleventySpeakingon Jan 7 Jan 2020
  18. 2019 ×30
  19. The Origin Story of Container Queries 📢 132Research #15 Dec 2019
  20. Building Exclusive Features For Open Collective Contributors on Netlify 📢 21EleventyProject Dec 2019
  21. Shop Talk Show #390: Eleventy with Zach Leatherman EleventySpeaking62 min Audio Dec 2019
  22. Eleventy Documentation has moved to 11ty.dev Eleventy Dec 2019
  23. HTTP Archive’s Web Almanac 2019—Web Fonts Edition Web FontsResearch Nov 2019
  24. Own Your Content on Social Media Using the IndieWeb 📢 98Speaking Oct 2019
  25. Making a PWA out of the 1996 Space Jam Web Site 📢 14Speaking Oct 2019
  26. A look back at NEJS CONF, 2015–2019 📢 74NEJS CONFSpeaking Oct 2019
  27. 🇺🇸 JAMstack_conf_sf 2019 Speakingon October 16–18 Oct 2019
  28. I’m Taking Ownership of My Tweets 📢 28Project Sep 2019
  29. Two Browsers Walked Into a Scrollbar Research Sep 2019
  30. A Featherweight Facepile 📢 35EleventyProject Aug 2019
  31. NEJS CONF 2019 NEJS CONFon August 9 Aug 2019
  32. Reactions to: An Honest Conversation About Burnout on JSParty 📢 24 Jul 2019
  33. Bridgy for Webmentions with Brotli 📢 4 Jun 2019
  34. Developing a Robust Font Loading Strategy for CSS-Tricks 📢 140Web FontsResearch #7 Jun 2019
  35. Smashing TV: The Five Whys of Web Font Loading Performance Web FontsSpeakingon June 13 Jun 2019
  36. Spicy fonts and static sites 🌶️—JS Party Episode #79 EleventyWeb FontsSpeaking67 min Audio Jun 2019
  37. The Crushing Weight of the Facepile 📢 50 Jun 2019
  38. Render Snarky Comments in Comic Sans 📢 229Eleventy Jun 2019
  39. The Co-opetition of Team Web 📢 34 May 2019
  40. font-display is Incompatible with Icon Fonts 📢 83Web Fonts May 2019
  41. 🇩🇪 Web Engineering Düsseldorf Web FontsSpeakingon May 16 May 2019
  42. The Scoville Scale of Web Font Loading Opinions 📢 30Web FontsSpeaking May 2019
  43. 🇩🇪 beyond tellerrand—Düsseldorf Speakingon May 13–15 May 2019
  44. Google Fonts is Adding font-display 🎉 📢 121Web Fonts #4 May 2019
  45. 🇺🇸 NebraskaJS Omaha Speakingon May 7 May 2019
  46. Eleventy Quick Tip №8: Trigger a Netlify Build Every Day with IFTTT Eleventy Feb 2019
  47. Eleventy Quick Tip №7: Fetch GitHub Stargazers Count (and More) at Build Time Eleventy Jan 2019
  48. Build your own Blog from Scratch using Eleventy Eleventy Jan 2019
  49. 2018 ×29
  50. Working Draft Podcast: On Tour @ #perfnow 5/6 Web FontsSpeaking21 min Audio Dec 2018
  51. Don’t Stop Learning Frameworks Dec 2018
  52. Should I Use JavaScript to Load My Web Fonts? Web FontsResearch Nov 2018
  53. Happy Birthday Eleventy! 🎉 📢 5Eleventy Nov 2018
  54. The Five Whys of Web Font Loading Performance 📢 4Web FontsSpeaking46 min Video Nov 2018
  55. 🇳🇱 performance.now(); the Web Performance Conference Speakingon November 8–9 Nov 2018
  56. A Group of Web Font Repaints is called a Michael Serif Web Fonts Aug 2018
  57. The Problem with font-display and Reflow 📢 6Web Fonts Aug 2018
  58. The Font Loading Checklist 📢 2Web Fonts #8 Aug 2018
  59. TalkScript Episode #14 NEJS CONFSpeaking34 min Audio Aug 2018
  60. 🇳🇬 Concatenate Conference Speakingon August 10–11 Aug 2018
  61. NEJS CONF 2018 NEJS CONFon July 27 Jul 2018
  62. The Life Expectancy of Digital Content Jun 2018
  63. The Simplest Web Site That Could Possibly Work Well EleventyNEJS CONF May 2018
  64. Obnoxiously Readable Responsive Text with Viewport Units Web Fonts May 2018
  65. preload with font-display: optional is an Anti-pattern 📢 6Web Fonts Apr 2018
  66. Import your Disqus Comments to Eleventy 📢 4Eleventy Apr 2018
  67. “The Compromise”—a Modern but Compatible Font Loading Strategy 📢 13Web Fonts Apr 2018
  68. Passing the Lead NebraskaJS Organizer Baton Mar 2018
  69. Google Open Source Award for Eleventy Eleventy Mar 2018
  70. It’s Dangerous to Go Stallone. Take Glyphhanger Web FontsProject Mar 2018
  71. “A letter about Google AMP” Feb 2018
  72. Web Fonts are ▢▢▢ Rocket Science Web FontsSpeaking47 min Video Feb 2018
  73. Introducing Eleventy, a new Static Site Generator EleventyProject Feb 2018
  74. 🇬🇧 SmashingConf London 2018 Speakingon February 7 Feb 2018
  75. Making a Simple Web Site with the Simplest Static Site Generator, Level 2—Adding Filters 📢 1Eleventy Jan 2018
  76. Making a Simple Web Site with the Simplest Static Site Generator, Level 1 Eleventy #12 Jan 2018
  77. spider-pig Searches for Nodes that match a CSS Selector Project Jan 2018
  78. Airing Out 2017’s Dirty Laundry Jan 2018
  79. 2017 ×23
  80. 23 Minutes of Work for Better Font Loading 📢 23Web Fonts #9 Nov 2017
  81. 🇺🇸 NebraskaJS Omaha Speakingon November 14 Nov 2017
  82. Managing Font Loading CSS Was Painful—Not Anymore Web FontsProject Nov 2017
  83. A Collection of Web Font Loading Recipes 📢 1Web FontsProjectResearch Oct 2017
  84. FOIT vs. FOUT, a Side by Side Comparison 📢 2Web FontsProject Oct 2017
  85. A Historical Look at FOUT and FOIT 📢 110Web Fonts Sep 2017
  86. Web Standards Podcast #85 Web FontsSpeaking86 min Audio Sep 2017
  87. 🇧🇾 CSS-Minsk-JS Speakingon September 10 Sep 2017
  88. The Ten Twitter Commandments Speaking Aug 2017
  89. The Web Font Loading Glossary 📢 1Web Fonts Aug 2017
  90. I made a style guide for my personal web site and you should too. 📢 3 Aug 2017
  91. NEJS CONF 2017 NEJS CONFon July 21 Jul 2017
  92. Font Aliasing, or How to Rename a Font in CSS 📢 9Research #18 Jun 2017
  93. Laissez-faire Font Smoothing and Anti-aliasing 📢 8Research May 2017
  94. Quick Demo: Animating on an Oval Path 📢 2 May 2017
  95. Wait, WebP is actually worth it. 📢 10Research Apr 2017
  96. What Are You Excited About? Speaking Apr 2017
  97. Selecthor: A Better way to Learn and Demo CSS Selectors 📢 4Project Apr 2017
  98. Randsom: A Random Web Fonts Ransom Note 📢 2Project Apr 2017
  99. Bernie Tweets Project Mar 2017
  100. CSS-Tricks Video Screencasts #152: Font Loading Speaking57 min Video Jan 2017
  101. Shop Talk Show #247: The Performance Equation Speaking72 min Audio Jan 2017
  102. In Case You Missed It: 2016 Jan 2017
  103. 2016 ×16
  104. No @font-face Syntax will ever be Bulletproof, Nor Should It Be. Web Fonts Dec 2016
  105. Lazy Loading Web Fonts Is Probably Not What You Want 📢 3Web Fonts Nov 2016
  106. Separating Fact from Fiction on the Internet Speaking Sep 2016
  107. I Wanted to Type a Number Research Aug 2016
  108. NEJS CONF 2016 Recap NEJS CONFon August 26 Aug 2016
  109. Beyond Code #4 at NEJS CONF 2015 Speaking3 min Video Aug 2016
  110. A Comprehensive Guide to Font Loading Strategies 📢 112Web Fonts #1 Jul 2016
  111. CSS Position Sticky Speaking10 min Video Jun 2016
  112. Web Fonts for President 2016 📢 10Web Fonts #10 Apr 2016
  113. The Web Fonts: Preloaded 📢 6Web FontsResearch #11 Apr 2016
  114. Trying out a new Font Stack 📢 1 Apr 2016
  115. Web Font Anti-pattern: Data URIs 📢 18Web FontsResearch Mar 2016
  116. A Versatile 2KB of JS Speaking25 min Video Mar 2016
  117. A Story About Proxy Filters Feb 2016
  118. Critical Web Fonts 📢 6Web FontsResearch #16 Jan 2016
  119. In Case You Missed It: 2015 Jan 2016
  120. 2015 ×19
  121. The Infinity Hamburger Menu Project Dec 2015
  122. Using Custom Fonts Responsibly, an Akamai Animated Short Web FontsSpeaking5 min Video Dec 2015
  123. Frameworks, not Blameworks Nov 2015
  124. 🇪🇸 A Brief History of that Time You Used Web Fonts—SmashingConf Barcelona Web FontsSpeaking48 min Video Oct 2015
  125. 🇺🇸 The Performance and Usability of Web Fonts—Velocity New York City 📢 2Web FontsSpeaking42 min Video Oct 2015
  126. Filament Group is Agency of the Year at Net Awards Sep 2015
  127. A Hypocrite’s Guide to Public Speaking 📢 3Speaking17 min Video Sep 2015
  128. Changelog #166, NEJS CONF 2015 NEJS CONFSpeaking69 min Audio Aug 2015
  129. NEJS CONF 2015 Recap NEJS CONFon August 7 Aug 2015
  130. Smashing Book #5 Web Fonts Jul 2015
  131. The Mitt Romney Web Font Problem 📢 7Web FontsResearch May 2015
  132. 🇺🇸 The Performance and Usability of Font Loading—Velocity Santa Clara 📢 1Web FontsSpeaking39 min Video May 2015
  133. 🇺🇸 Tech Meetup at the White House 📢 6Speaking3 min Video Apr 2015
  134. Compatibility Tables Compendium 📢 9 Mar 2015
  135. 🇨🇦 Better @font-face with Font Load Events—SmashingConf Whistler Web FontsSpeaking48 min Video Feb 2015
  136. Flash of Faux Text—still more on Font Loading 📢 3Web FontsResearch Jan 2015
  137. Performance and Responsive Web Design (2015) Speaking67 min Video Jan 2015
  138. How we use web fonts responsibly, or, avoiding a @font-face-palm Web FontsResearch Jan 2015
  139. In Case You Missed It: 2014 Jan 2015
  140. 2014 ×13
  141. The Making of fontfamily.io Web FontsSpeaking19 min Video Nov 2014
  142. word-break Podcast #1 Speaking49 min Audio Nov 2014
  143. WOFF2 See the Wizard, a Wonderful JavaScript Feature Test Web FontsProject Oct 2014
  144. A Font Family Reunion 📢 11Web FontsProject Sep 2014
  145. Better @font-face with Font Load Events on Dev.Opera Web FontsResearch Sep 2014
  146. The Perfect GIF 📢 7Speaking12 min Video Sep 2014
  147. W3C Status Banners 📢 2Project Aug 2014
  148. Tablesaw: A Flexible Tool for Responsive Tables Project Aug 2014
  149. A Frugal and Simple Guide to Putting Lights on your Bike 📢 1 Jul 2014
  150. Pastry Box: Impostor Syndrome Jun 2014
  151. 🇺🇸 Bulletproof Icon Fonts—CSSConf Web FontsSpeaking26 min Video May 2014
  152. Politespace, an unobtrusive alternative to input masks Project Apr 2014
  153. Bulletproof Accessible Icon Fonts Web FontsProjectResearch Jan 2014
  154. 2013 ×12
  155. In Case You Missed It: 2013 📢 3 Dec 2013
  156. Domain Swap: A Google Chrome Extension Project Dec 2013
  157. The Elusive :target Feature Test 📢 2Research Nov 2013
  158. Impostor Syndrome 📢 8Speaking7 min Video Oct 2013
  159. A Nodecopter Informercial (at HOW Conf) Sep 2013
  160. A Sliver of What I Learned at JSConf 2013 Jun 2013
  161. You Should Follow Fewer People on Twitter 📢 3Project Jun 2013
  162. Performance and Responsive Web Design (2013) 📢 5Speaking61 min Video May 2013
  163. zachleat.com is Dead, Long Live zachleat.com 📢 40 May 2013
  164. Tool or Die, a Web Developer’s Workflow 📢 16Speaking59 min Video Mar 2013
  165. Side Projects (at Awesome Camp) Mar 2013
  166. A Web Developer Fumbling with Social Media 📢 12 Jan 2013
  167. 2012 ×6
  168. SocialCount, Faster & Lighter Social Networking Widgets Project Nov 2012
  169. Performance in Responsive Web Design (2012) Nov 2012
  170. A Front End Engineer’s Manifesto 📢 12ProjectSpeaking Sep 2012
  171. CSS3 Job Transition 📢 3 May 2012
  172. Let’s get parseIntimate. Project Feb 2012
  173. Placeholder Title for Article about HTML5 Placeholders 📢 11Research Feb 2012
  174. 2011 ×10
  175. Deferreds and a Better Geolocation API 📢 3 Nov 2011
  176. A Mobile Web Divided 📢 2 Aug 2011
  177. Progressive Enhancement (at jQuery Omaha) Aug 2011
  178. FitText + BigText: A Tale of Two Plugins 📢 6Web Fonts May 2011
  179. Pragmatic Progressive Enhancement 📢 1 May 2011
  180. HTML5 vs. Native Applications, The Presentation 📢 7 Mar 2011
  181. Raging Netflix Queue, a Google Chrome Extension 📢 8Project Feb 2011
  182. The JavaScript Testing Challenge Winner 📢 3 Feb 2011
  183. Et tu, X-UA-Compatible? 📢 3Research Feb 2011
  184. BigText Makes Text Big 📢 73Web FontsProject #6 Jan 2011
  185. An Update to The JavaScript Testing Challenge Jan 2011
  186. 2010 ×12
  187. The JavaScript Testing Challenge 📢 8Speaking5 min Video Nov 2010
  188. Faking Onload for Link Elements 📢 3Research Jul 2010
  189. ALARMd is now on Github 📢 4 Jul 2010
  190. Maiden Voyage of the DOM Sailbloat 📢 1Project Jul 2010
  191. A Race Against Time Pickers 📢 1 Jun 2010
  192. Point, Charset, Match: Character Encoding in JavaScript 📢 1Web FontsResearch Mar 2010
  193. Internet Explorer Array.sort Unreliable 📢 13Research Feb 2010
  194. If the Menu Fitts, We Must Acquit 📢 8 Feb 2010
  195. CSS 3 Text: A Tale of writing-mode Woe 📢 3Web FontsResearch Feb 2010
  196. Trash that “Back to Top” Link 📢 8 Feb 2010
  197. The 24 Clock on ALARMd 📢 3 Jan 2010
  198. DIY Webdings—CSS Sprites using @font-face 📢 13Web FontsResearch Jan 2010
  199. 2009 ×9
  200. Don’t Give Up on Internet Explorer Yet 📢 3 Dec 2009
  201. Device Independence on the Open Web 📢 3 Aug 2009
  202. Quick Performance Tip: jQuery and addClass 📢 2 Jun 2009
  203. Adobe Reverts Flex Store to Open Web May 2009
  204. Performance Caveat with jQuery Selectors and Live Events 📢 14Research May 2009
  205. Jonathan Sharp at The Ajax Experience Feb 2009
  206. ALARMd Unix Time Format for 1234567890 Day Feb 2009
  207. Registration Forms Suck, Let’s Mitigate Suckiness 📢 4 Jan 2009
  208. Scare Your Visitors with this JavaScript Gravatar Plugin 📢 6Project Jan 2009
  209. 2008 ×20
  210. DOMContentLoaded Inconsistencies (in Browsers and JavaScript Libraries) 📢 1Research Dec 2008
  211. jQuery Bug: IE reports incorrect $.browser.version 📢 3 Oct 2008
  212. Dear IE6: Please Cache my Images. 📢 3Research Oct 2008
  213. Relative URLs including the Domain 📢 2 Oct 2008
  214. ALARMd is a Google Code Project Oct 2008
  215. Fight Registrastination. Register to vote! Project Sep 2008
  216. Writing a Front End Engineer’s Resume (or CV) 📢 6 Sep 2008
  217. Emulating onhashchange without setInterval 📢 5Research Aug 2008
  218. Double Whammy: OpenID and Microformats May 2008
  219. Selecting XML Nodes with JavaScript, or the Peril of getElementsByTagName 📢 8Research May 2008
  220. Javascript Objects are NOT JSON 📢 3 May 2008
  221. Surnamespacing 📢 3 May 2008
  222. Don’t Let the Door Hit You Onunload and Onbeforeunload 📢 10Research #14 Apr 2008
  223. Forgive My Feed Apr 2008
  224. Rethinking JavaScript Grids and DataTables 📢 1 Apr 2008
  225. ALARMd 2 Beta, with Google Calendar Integration 📢 12Project Apr 2008
  226. 20000 Leagues Under the API: YouTube JavaScript Apr 2008
  227. Code Like the Big Boys: Flickr 📢 3 Mar 2008
  228. Tips for Programming JavaScript Functions 📢 1 Mar 2008
  229. Architecture Choices: Callbacks and Events in JavaScript Mar 2008
  230. Yet Another Pretty Date JavaScript 📢 25Project Mar 2008
  231. Minor Annoyances with Firefox Development Mar 2008
  232. Specific Inheritance with TIBCO’s General Interface 📢 3 Mar 2008
  233. PHP Pretty Date 📢 6Project Feb 2008
  234. Online Movie Rental Review – Amazon Unbox 📢 4 Jan 2008
  235. 2007 ×35
  236. Quine using XHTML and JavaScript Dec 2007
  237. Faster YUI DataTable with 5 Lines of Code 📢 1 Dec 2007
  238. Problems with Looping through window.setInterval 📢 2 Dec 2007
  239. enterval, an automatic setInterval chainer. Project Dec 2007
  240. Speed up Including Google Analytics Nov 2007
  241. Obscurity, Security, and Captcha 📢 1 Nov 2007
  242. Forward Compatibility and JavaScript Nov 2007
  243. Nursery Rhyme Code Poem [CSS] 📢 1 Oct 2007
  244. Nursery Rhyme Code Poem [PHP] Oct 2007
  245. Nursery Rhyme Code Poem [JavaScript] 📢 1 Oct 2007
  246. Write More Efficient Javascript in YUI with CSS Selectors Project Sep 2007
  247. Cross Domain XHR with Firefox 2 📢 18 Aug 2007
  248. Namespacing outside of the YAHOO Namespace 📢 8 Aug 2007
  249. Enlarging your YUI DataTable in 29 Seconds or Less! 📢 3 Aug 2007
  250. ALARMd now supports URLs Aug 2007
  251. maLArquee, Bringing Back the Marquee 📢 4Project Aug 2007
  252. Using Phing to automate JavaScript and CSS Minimization 📢 3 Aug 2007
  253. YUI Code Review: YAHOO.namespace 📢 3 Aug 2007
  254. Using DOM Query Libraries in YUI 📢 3 Jul 2007
  255. 8 Things the YUI Library Needs to Win Me Back 📢 7 Jul 2007
  256. What Sound Does a Cow Make? MooTools. 📢 1 Jul 2007
  257. 20/20 Hindsight, a Look Back at ALARMd 📢 2 Jul 2007
  258. JavaScript Frameworks and JSF 📢 6 Jul 2007
  259. DOMDom, easy DOM Element Creation 📢 9Project Jul 2007
  260. Wake up to YouTube on my Internet Alarm Clock 📢 23Project Jun 2007
  261. Enlarging your YUI DataTable in 30 Seconds or Less! 📢 7 Jun 2007
  262. Screen Readers and Listening at the Speed of Sound May 2007
  263. Wash your mouth out with SOAP and the YUI Connection Manager 📢 3 May 2007
  264. YUI DataTable and You: Making the Marriage Work 📢 7 Apr 2007
  265. I-Frame Shims or How I Learned to Stop Worrying and Love the Bomb 📢 8 Apr 2007
  266. JavaScript Code Coverage Tool for Firebug 📢 18Project Apr 2007
  267. Google Using YUI Grids CSS 📢 9 Apr 2007
  268. Problems with YUI DataTable 📢 28 Apr 2007
  269. YUI Button Lite Mar 2007
  270. Logical XOR in JavaScript 📢 2Project Mar 2007
  271. Conservative Design Example: Hierarchical Options Mar 2007
  272. Fundamental Problem with YUI Button 📢 1 Mar 2007
  273. OMG SOA Mar 2007
  274. Conservative Design Example: Multiple Option List Mar 2007
  275. Conservative Design: Command Line Interface Mar 2007
  276. Namespaces in Ext DomQuery Mar 2007
  277. Beaten to the Spiked Punch Mar 2007
  278. Conservative Design: Option List Feb 2007
  279. Conservative Design Patterns for Form Elements 📢 3 Feb 2007
  280. Conservative Design: Hierarchical Select 📢 1 Feb 2007
  281. Screen Printing, Fake Interfaces Part 1 Feb 2007
  282. Checklist for Web Applications Feb 2007