• Joining Automattic

    I’m excited to announce that as of November 12th 2018, I will be joining Automattic – the company behind WordPress.com, Akismet and more – as a JavaScript Engineer. This is the culmination of a 3 year journey to focus more deeply on JavaScript, and my new role provides me with the opportunity to work in … Continued

  • What is the JavaScript Event Loop?

    If you’ve been working on significant JavaScript applications for a while, you’ve likely heard engineers using terms like “non-blocking”, “single threaded” and “the event loop”. If you’re anything like me, for a long time I had only a superficial understanding of what those terms meant and even less of an idea how JavaScript worked under … Continued

  • What is a closure in JavaScript?

    If you are working with JavaScript it is critical that you understand the definition of a closure. Closures are widely employed in JavaScript code, for example: as callback functions for information hiding in currying or partial application As a result, without a firm grasp of how closures work you will struggle to produce high quality … Continued

  • Demystifying JavaScript Function Expressions vs Declarations

    I was recently asked to explain the difference between a JavaScript function expression and a function declaration. This one always caught me out until I created a mental model to allow me to understand it. Firstly though, let’s clear up which is which: A function expression looks like this var expressYourself = function() { // … Continued

  • Introducing FetchPjax – PJAX (PushState + Ajax) navigation functionality using the native Fetch API

    For the past couple of weeks I’ve been working on a new JavaScript library to handle PJAX using the native Fetch API that’s build right into modern browsers. As a result of these efforts I’m pleased to announce the release of FetchPjax. TDLR; you can grab fetch-pjax on npm or view the source on Github. What is … Continued

  • A brief intro to Redux

    Recently I’ve been learning a lot about React and it’s associated ecosystem. If you have any awareness of React, you’ll probably be aware that it’s primarily concerned with the View layer. As a result, if you’re looking to build anything beyond the most simple application you’ll need a (sane) way to manage state. One solution to this … Continued

  • Animating CSS text alignment

    This week, a colleague of mine asked whether it was possible to animate the CSS text-align property using CSS transitions. My immediate response was of course “no!”, but despite having said that I had a nagging suspicion it was in fact achievable in some (as yet unknown) way. Given that the animation was fairly critical to … Continued

  • SVG Transitions not working in IE11

    I’ve recently been working a lot with animating SVG graphics. In order to do this I’ve been using CSS3 Animations. By inlining SVGs directly in my HTML document, I simply use CSS to target SVG nodes and apply @keyframe animations as required. This technique has worked well across all my target platforms with one exception – Internet Explorer 11. … Continued