Zach’s ugly mug (his face)

Zach Leatherman

Archives

262 posts since 2007. Show only writing.

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