David Walsh Blog

  • Array.From

    In the past we used a variety of hacks to convert Array-like objects (like arguments and NodeList) to a true array.  You can see a few of those hacks here: Convert arguments to Array Convert NodeList to Array Essentially we would use Array.prototype.slice.call() on the arguments or NodeList to do the conversion.  These days...

  • Create a Basic Loader with JavaScript Promises

    I've used JavaScript loaders for years; whether it was the Dojo loader, curl.js, or even using jQuery as a JavaScript loader, it's incredibly useful to request a set of resources and react once they've completed loading.  Each JavaScript loader is feature-packed, efficient, and does a wonderful job...

  • Welcome to My Office

    For many developers their office is their home away from home -- hell, some developers are at that office more often than they're at home.  For that reason most of us take great pride in our offices, keeping them as tidy (...or not) as we'd like and injecting as...

  • Stylish, Secure Forms with Wufoo

    I've said consistently over my entire professional career that I absolutely hate working with web forms.  Forms have always been a pain to style, you usually have to write server-side and client-side logic, you need to write spam prevention logic, there's security (especially if you take payment) and XSS prevention...

  • Add META Tags to WordPress Head

    The reason that WordPress is so developer-friendly is their awesome hook system.  Depending on a post category (or seemingly anything else), you can modify the contents of the page, the theme templates, and everything else.  WordPress is amazing. One recent use case I had was wanting to modify...

  • 2016’s Most Important Web Apps & Tools

    Tickera.com If you are looking for a plugin to help you with selling and delivering tickets for your event to your attendees, then Tickera is probably one of the best choices to help you with this! Not only does it take care of...

  • Getting Started with ES6 (ES2015) and Babel

    If you don't do much work with Node.js there's a good chance you haven't explored the new syntax additions to the JavaScript language provided by ES2015.  These language additions include arrow functions, classes, block scoping, and more.  These language additions have slowly made their way to Chrome...

  • Get a Single Header with cURL

    Debugging third party apps can be difficult for a variety of reasons.  You take for granted that the third party has not only properly coded their app but that their server is also serving files properly.  As more a developer than a sysadmin I tend to spend a long...

  • To Get Things Done You Need Both Sides of the Brain

    On the surface, design agency teams might appear to corner the market on creative thinking; leaving the developers the task of transforming their creative ideas into code. Projects should go more smoothly when the two groups work closely together, but a wall often separates them. Designers toss...

  • Manage Service Worker Caches with JavaScript

    The awesome ServiceWorker API is meant to give developers a bit more control over what is and isn't cached, and how.  Sure we can play games with ETags and the like but doing it programmatically with JavaScript just feels better, more controllable.  As with every API, however, adding stuff to...

Track.js Error Reporting

Popular Features

  • JavaScript Promise API

    While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready?  Promises are becoming a big part of the JavaScript world...

  • Chris Coyier’s Favorite CodePen Demos II

    Hey everyone! Before we get started, I just want to say it's damn hard to pick this few favorites on CodePen. Not because, as a co-founder of CodePen, I feel like a dad picking which kid he likes best (RUDE). But because there is just so...

  • 7 Essential JavaScript Functions

    I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent.  Times have changed but there are still a few functions each developer should...

  • I’m an Impostor

    This is the hardest thing I've ever had to write, much less admit to myself.  I've written resignation letters from jobs I've loved, I've ended relationships, I've failed at a host of tasks, and let myself down in my life.  All of those feelings were very...

  • fetch API

    One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for.  We've done well to create elegant APIs around XHR but we know we can do better.  Our effort to...