Archives
267 posts since 2007. Show only writing.
- 2020 ×15
- Eleventy Leaderboards v2 via Speedlify Aug 2020
- Cloudflare’s Creative Corner with the Netlify team Aug 2020
- Netlify’s Merry Band of 1 Million Developers Aug 2020
- Bulk Generating OG Images Aug 2020
- The Lighthouse Scores Will Continue Until Morale Improves Jul 2020
- I added Lighthouse Scores to my Site’s Footer and You Can Too Jul 2020
- Use Speedlify to Continuously Measure Site Performance Jun 2020
- Résumé/CV on the Jamstack Apr 2020
- CSS Naked Day Apr 2020
- Eleventy’s New Performance Leaderboard Mar 2020
- Eleventy Crash Course with Nick and Zach—NebraskaJS Omaha Feb 2020
- Now Deploying to
Netlify Jan 2020 - A Love Letter to
Filament Group Jan 2020 - Let’s Learn Eleventy!—Learn With Jason Jan 2020
- 🇺🇸 Eleventy Crash Course with Nick and Zach—NebraskaJS Omaha Jan 2020
- 2019 ×30
- The Origin Story of Container Queries Dec 2019
- Building Exclusive Features For Open Collective Contributors on Netlify Dec 2019
- Shop Talk Show #390: Eleventy with Zach Leatherman Dec 2019
- Eleventy Documentation has moved to 11ty.dev Dec 2019
- HTTP Archive’s Web Almanac 2019—Web Fonts Edition Nov 2019
- Own Your Content on Social Media Using the IndieWeb Oct 2019
- Making a PWA out of the 1996 Space Jam Web Site Oct 2019
- A look back at NEJS CONF, 2015–2019 Oct 2019
- 🇺🇸 JAMstack_conf_sf 2019 Oct 2019
- I’m Taking Ownership of My Tweets Sep 2019
- Two Browsers Walked Into a Scrollbar Sep 2019
- A Featherweight Facepile Aug 2019
- NEJS CONF 2019 Aug 2019
- Reactions to: An Honest Conversation About Burnout on JSParty Jul 2019
- Bridgy for Webmentions with Brotli Jun 2019
- Developing a Robust Font Loading Strategy for CSS-Tricks Jun 2019
- Smashing TV: The Five Whys of Web Font Loading Performance Jun 2019
- Spicy fonts and static sites 🌶️—JS Party Episode #79 Jun 2019
- The Crushing Weight of the Facepile Jun 2019
- Render Snarky Comments in Comic Sans Jun 2019
- The Co-opetition of Team Web May 2019
- font-display is Incompatible with Icon Fonts May 2019
- 🇩🇪 Web Engineering Düsseldorf May 2019
- The Scoville Scale of Web Font Loading Opinions May 2019
- 🇩🇪 beyond tellerrand—Düsseldorf May 2019
- Google Fonts is Adding font-display 🎉 May 2019
- 🇺🇸 NebraskaJS Omaha May 2019
- Eleventy Quick Tip №8: Trigger a Netlify Build Every Day with IFTTT Feb 2019
- Eleventy Quick Tip №7: Fetch GitHub Stargazers Count (and More) at Build Time Jan 2019
- Build your own Blog from Scratch using Eleventy Jan 2019
- 2018 ×29
- Working Draft Podcast: On Tour @ #perfnow 5/6 Dec 2018
- Don’t Stop Learning
FrameworksDec 2018 - Should I Use JavaScript to Load My Web Fonts? Nov 2018
- Happy Birthday Eleventy! 🎉 Nov 2018
- The Five Whys of Web Font Loading Performance Nov 2018
- 🇳🇱 performance.now(); the Web Performance Conference Nov 2018
- A Group of Web Font Repaints is called a Michael Serif Aug 2018
- The Problem with font-display and Reflow Aug 2018
- The Font Loading Checklist Aug 2018
- TalkScript Episode #14 Aug 2018
- 🇳🇬 Concatenate Conference Aug 2018
- NEJS CONF 2018 Jul 2018
- The Life Expectancy of Digital Content Jun 2018
- The Simplest Web Site That Could Possibly Work Well May 2018
- Obnoxiously Readable Responsive Text with Viewport Units May 2018
- preload with font-display: optional is an Anti-pattern Apr 2018
- Import your Disqus Comments to Eleventy Apr 2018
- “The Compromise”—a Modern but Compatible Font Loading Strategy Apr 2018
- Passing the Lead NebraskaJS Organizer Baton Mar 2018
- Google Open Source Award for Eleventy Mar 2018
- It’s Dangerous to Go Stallone. Take Glyphhanger Mar 2018
- “A letter about Google AMP” Feb 2018
- Web Fonts are ▢▢▢ Rocket Science Feb 2018
- Introducing Eleventy, a new Static Site Generator Feb 2018
- 🇬🇧 SmashingConf London 2018 Feb 2018
- Making a Simple Web Site with the Simplest Static Site Generator, Level 2—Adding Filters Jan 2018
- Making a Simple Web Site with the Simplest Static Site Generator, Level 1 Jan 2018
- spider-pig Searches for Nodes that match a CSS Selector Jan 2018
- Airing Out 2017’s Dirty Laundry Jan 2018
- 2017 ×23
- 23 Minutes of Work for Better Font Loading Nov 2017
- 🇺🇸 NebraskaJS Omaha Nov 2017
- Managing Font Loading CSS Was Painful—Not Anymore Nov 2017
- A Collection of Web Font Loading Recipes Oct 2017
- FOIT vs. FOUT, a Side by Side Comparison Oct 2017
- A Historical Look at FOUT and FOIT Sep 2017
- Web Standards Podcast #85 Sep 2017
- 🇧🇾 CSS-Minsk-JS Sep 2017
- The Ten Twitter Commandments Aug 2017
- The Web Font Loading Glossary Aug 2017
- I made a style guide for my personal web site and you should too. Aug 2017
- NEJS CONF 2017 Jul 2017
- Font Aliasing, or How to Rename a Font in CSS Jun 2017
- Laissez-faire Font Smoothing and Anti-aliasing May 2017
- Quick Demo: Animating on an Oval Path May 2017
- Wait, WebP is actually worth it. Apr 2017
- What Are You Excited About? Apr 2017
- Selecthor: A Better way to Learn and Demo CSS Selectors Apr 2017
- Randsom: A Random Web Fonts Ransom Note Apr 2017
- Bernie Tweets Mar 2017
- CSS-Tricks Video Screencasts #152: Font Loading Jan 2017
- Shop Talk Show #247: The Performance Equation Jan 2017
- In Case You Missed It: 2016 Jan 2017
- 2016 ×16
- No @font-face Syntax will ever be Bulletproof, Nor Should It Be. Dec 2016
- Lazy Loading Web Fonts Is Probably Not What You Want Nov 2016
- Separating Fact from Fiction on the Internet Sep 2016
- I Wanted to Type a Number Aug 2016
- NEJS CONF 2016 Recap Aug 2016
- Beyond Code #4 at NEJS CONF 2015 Aug 2016
- A Comprehensive Guide to Font Loading Strategies Jul 2016
- CSS Position Sticky Jun 2016
- Web Fonts for President 2016 Apr 2016
- The Web Fonts: Preloaded Apr 2016
- Trying out a new Font Stack Apr 2016
- Web Font Anti-pattern: Data URIs Mar 2016
- A Versatile 2KB of JS Mar 2016
- A Story About Proxy Filters Feb 2016
- Critical Web Fonts Jan 2016
- In Case You Missed It: 2015 Jan 2016
- 2015 ×19
- The Infinity Hamburger Menu Dec 2015
- Using Custom Fonts Responsibly, an Akamai Animated Short Dec 2015
- Frameworks, not Blameworks Nov 2015
- 🇪🇸 A Brief History of that Time You Used Web Fonts—SmashingConf Barcelona Oct 2015
- 🇺🇸 The Performance and Usability of Web Fonts—Velocity New York City Oct 2015
- Filament Group is Agency of the Year at Net Awards Sep 2015
- A Hypocrite’s Guide to Public Speaking Sep 2015
- Changelog #166, NEJS CONF 2015 Aug 2015
- NEJS CONF 2015 Recap Aug 2015
- Smashing Book #5 Jul 2015
- The Mitt Romney Web Font Problem May 2015
- 🇺🇸 The Performance and Usability of Font Loading—Velocity Santa Clara May 2015
- 🇺🇸 Tech Meetup at the White House Apr 2015
- Compatibility Tables Compendium Mar 2015
- 🇨🇦 Better @font-face with Font Load Events—SmashingConf Whistler Feb 2015
- Flash of Faux Text—still more on Font Loading Jan 2015
- Performance and Responsive Web Design (2015) Jan 2015
- How we use web fonts responsibly, or, avoiding a @font-face-palm Jan 2015
- In Case You Missed It: 2014 Jan 2015
- 2014 ×13
- The Making of fontfamily.io Nov 2014
- word-break Podcast #1 Nov 2014
- WOFF2 See the Wizard, a Wonderful JavaScript Feature Test Oct 2014
- A Font Family Reunion Sep 2014
- Better @font-face with Font Load Events on Dev.Opera Sep 2014
- The Perfect GIF Sep 2014
- W3C Status Banners Aug 2014
- Tablesaw: A Flexible Tool for Responsive Tables Aug 2014
- A Frugal and Simple Guide to Putting Lights on your Bike Jul 2014
- Pastry Box: Impostor Syndrome Jun 2014
- 🇺🇸 Bulletproof Icon Fonts—CSSConf May 2014
- Politespace, an unobtrusive alternative to input masks Apr 2014
- Bulletproof Accessible Icon Fonts Jan 2014
- 2013 ×12
- In Case You Missed It: 2013 Dec 2013
- Domain Swap: A Google Chrome Extension Dec 2013
- The Elusive :target Feature Test Nov 2013
- Impostor Syndrome Oct 2013
- A Nodecopter Informercial (at HOW Conf) Sep 2013
- A Sliver of What I Learned at JSConf 2013 Jun 2013
- You Should Follow Fewer People on Twitter Jun 2013
- Performance and Responsive Web Design (2013) May 2013
- zachleat.com is Dead, Long Live zachleat.com May 2013
- Tool or Die, a Web Developer’s Workflow Mar 2013
- Side Projects (at Awesome Camp) Mar 2013
- A Web Developer Fumbling with Social Media Jan 2013
- 2012 ×6
- SocialCount, Faster & Lighter Social Networking Widgets Nov 2012
- Performance in Responsive Web Design (2012) Nov 2012
- A Front End Engineer’s Manifesto Sep 2012
- CSS3 Job Transition May 2012
- Let’s get parseIntimate. Feb 2012
- Placeholder Title for Article about HTML5 Placeholders Feb 2012
- 2011 ×10
- Deferreds and a Better Geolocation API Nov 2011
- A Mobile Web Divided Aug 2011
- Progressive Enhancement (at jQuery Omaha) Aug 2011
- FitText + BigText: A Tale of Two Plugins May 2011
- Pragmatic Progressive Enhancement May 2011
- HTML5 vs. Native Applications, The Presentation Mar 2011
- Raging Netflix Queue, a Google Chrome Extension Feb 2011
- The JavaScript Testing Challenge Winner Feb 2011
- Et tu, X-UA-Compatible? Feb 2011
- BigText Makes Text Big Jan 2011
- An Update to The JavaScript Testing Challenge Jan 2011
- 2010 ×12
- The JavaScript Testing Challenge Nov 2010
- Faking Onload for Link Elements Jul 2010
- ALARMd is now on Github Jul 2010
- Maiden Voyage of the DOM Sailbloat Jul 2010
- A Race Against Time Pickers Jun 2010
- Point, Charset, Match: Character Encoding in JavaScript Mar 2010
- Internet Explorer Array.sort Unreliable Feb 2010
- If the Menu Fitts, We Must Acquit Feb 2010
- CSS 3 Text: A Tale of writing-mode Woe Feb 2010
- Trash that “Back to Top” Link Feb 2010
- The 24 Clock on ALARMd Jan 2010
- DIY Webdings—CSS Sprites using @font-face Jan 2010
- 2009 ×9
- Don’t Give Up on Internet Explorer Yet Dec 2009
- Device Independence on the Open Web Aug 2009
- Quick Performance Tip: jQuery and addClass Jun 2009
- Adobe Reverts Flex Store to Open Web May 2009
- Performance Caveat with jQuery Selectors and Live Events May 2009
- Jonathan Sharp at The Ajax Experience Feb 2009
- ALARMd Unix Time Format for 1234567890 Day Feb 2009
- Registration Forms Suck, Let’s Mitigate Suckiness Jan 2009
- Scare Your Visitors with this JavaScript Gravatar Plugin Jan 2009
- 2008 ×20
- DOMContentLoaded Inconsistencies (in Browsers and JavaScript Libraries) Dec 2008
- jQuery Bug: IE reports incorrect $.browser.version Oct 2008
- Dear IE6: Please Cache my Images. Oct 2008
- Relative URLs including the Domain Oct 2008
- ALARMd is a Google Code Project Oct 2008
- Fight Registrastination. Register to vote! Sep 2008
- Writing a Front End Engineer’s Resume (or CV) Sep 2008
- Emulating onhashchange without setInterval Aug 2008
- Double Whammy: OpenID and Microformats May 2008
- Selecting XML Nodes with JavaScript, or the Peril of getElementsByTagName May 2008
- Javascript Objects are NOT JSON May 2008
- Surnamespacing May 2008
- Don’t Let the Door Hit You Onunload and Onbeforeunload Apr 2008
- Forgive My Feed Apr 2008
- Rethinking JavaScript Grids and DataTables Apr 2008
- ALARMd 2 Beta, with Google Calendar Integration Apr 2008
- 20000 Leagues Under the API: YouTube JavaScript Apr 2008
- Code Like the Big Boys: Flickr Mar 2008
- Tips for Programming JavaScript Functions Mar 2008
- Architecture Choices: Callbacks and Events in JavaScript Mar 2008
- Yet Another Pretty Date JavaScript Mar 2008
- Minor Annoyances with Firefox Development Mar 2008
- Specific Inheritance with TIBCO’s General Interface Mar 2008
- PHP Pretty Date Feb 2008
- Online Movie Rental Review – Amazon Unbox Jan 2008
- 2007 ×35
- Quine using XHTML and JavaScript Dec 2007
- Faster YUI DataTable with 5 Lines of Code Dec 2007
- Problems with Looping through window.setInterval Dec 2007
- enterval, an automatic setInterval chainer. Dec 2007
- Speed up Including Google Analytics Nov 2007
- Obscurity, Security, and Captcha Nov 2007
- Forward Compatibility and JavaScript Nov 2007
- Nursery Rhyme Code Poem [CSS] Oct 2007
- Nursery Rhyme Code Poem [PHP] Oct 2007
- Nursery Rhyme Code Poem [JavaScript] Oct 2007
- Write More Efficient Javascript in YUI with CSS Selectors Sep 2007
- Cross Domain XHR with Firefox 2 Aug 2007
- Namespacing outside of the YAHOO Namespace Aug 2007
- Enlarging your YUI DataTable in 29 Seconds or Less! Aug 2007
- ALARMd now supports URLs Aug 2007
- maLArquee, Bringing Back the Marquee Aug 2007
- Using Phing to automate JavaScript and CSS Minimization Aug 2007
- YUI Code Review: YAHOO.namespace Aug 2007
- Using DOM Query Libraries in YUI Jul 2007
- 8 Things the YUI Library Needs to Win Me Back Jul 2007
- What Sound Does a Cow Make? MooTools. Jul 2007
- 20/20 Hindsight, a Look Back at ALARMd Jul 2007
- JavaScript Frameworks and JSF Jul 2007
- DOMDom, easy DOM Element Creation Jul 2007
- Wake up to YouTube on my Internet Alarm Clock Jun 2007
- Enlarging your YUI DataTable in 30 Seconds or Less! Jun 2007
- Screen Readers and Listening at the Speed of Sound May 2007
- Wash your mouth out with SOAP and the YUI Connection Manager May 2007
- YUI DataTable and You: Making the Marriage Work Apr 2007
- I-Frame Shims or How I Learned to Stop Worrying and Love the Bomb Apr 2007
- JavaScript Code Coverage Tool for Firebug Apr 2007
- Google Using YUI Grids CSS Apr 2007
- Problems with YUI DataTable Apr 2007
- YUI Button Lite Mar 2007
- Logical XOR in JavaScript Mar 2007
- Conservative Design Example: Hierarchical Options Mar 2007
- Fundamental Problem with YUI Button Mar 2007
- OMG SOA Mar 2007
- Conservative Design Example: Multiple Option List Mar 2007
- Conservative Design: Command Line Interface Mar 2007
- Namespaces in Ext DomQuery Mar 2007
- Beaten to the Spiked Punch Mar 2007
- Conservative Design: Option List Feb 2007
- Conservative Design Patterns for Form Elements Feb 2007
- Conservative Design: Hierarchical Select Feb 2007
- Screen Printing, Fake Interfaces Part 1 Feb 2007
- Checklist for Web Applications Feb 2007