- 2018
- π³π± performance.now(); the Web Performance Conference Nov 2018
- NEJS CONF 2018 is on July 27th 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 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
- 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
- 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
- The Infinity Hamburger Menu 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
Zach is a Web Developer with the award winning Filament Group. Heβs currently fixated on web fonts and static site generators. His public speaking rΓ©sumΓ© includes talks at Smashing Conference, CSS-Minsk-JS, OβReilly Velocity, CSSConf, and The White House. He also helps herd the NebraskaJS meetup and NEJS CONF. Read more about Zach »