Multiple language code snippets have been added to the site

I finally got around to implementing multiple programming languages to display on a single post.
Continue readingMultiple language code snippets have been added to the site
I finally got around to implementing multiple programming languages to display on a single post.
Continue readingMultiple language code snippets have been added to the site
This snippet is useful when applied to events that occur many times such as resize
and scroll
, particularly when the callback does heavy processing. It throttles the calls to the callback by only calling in to the callback if the event has not occurred again in the last 300ms. This technique is called ‘debouncing’.
Continue readingPerforming heavy actions on events that fire frequently
Three years have passed since I posted my first article on the blog. Time for a retrospective!
When doing my last big redesign I needed to redirect some URLs, here’s how I did it.
Ever used an abbr
element in your HTML only to have it rendered completely unusable when viewing the page on a mobile browser? Me too, so I made a library to fix it.
For a long time, measuring web performance was all about minimizing the time it took for various browser events to fire, such as window.onload
or the loadEventEnd
navigation timing. But these timings were never really that good at capturing the actual user experience. That’s where speed index comes in.
Continue readingSpeed index: measuring page load time a different way
Mozilla Firefox recently implemented the highly anticipated CSS variables spec. Since then, some articles started appearing hinting that they are now largely obsolete with the advent and widespread use of preprocessors like Sass, Less, and Stylus. I would argue however that they provide something that preprocessors can’t, well at least can’t efficiently.
Continue readingWhat CSS variables can do that preprocessors can’t
There are various ways to detect a standard ‘tap’ gesture in JavaScript, this article presents a few of them.
Continue readingDetecting tap events on touch-enabled devices