David Walsh Tutorials

  • By
    Require Parameters for JavaScript Functions

    JavaScript is notorious for being "loose", something that some developers love but other developers loathe.  I hear most of those complaints from server side developers, who want string typing and syntax.  While I like strict coding standards, I also like that JavaScript lets me quickly prototype without having...

  • By
    Inspect jQuery Element Events

    Building on top of other tools can be incredibly difficult, especially when you didn't create the other tool and you can't replace that tool.  And when those other tools create loads of event listeners, you sometimes see odd behavior within the page and have no idea what the...

  • By
    Convert Websites to Apps

    Converting a website to a native app, whether on mobile or desktop, can be quite useful.  The problem with bookmarks, especially for software engineers, is that we often need to work in different browsers, so having everything in one browser's bookmark set can be a pain.  I'd also argue that websites with...

  • By
    Cloudinary Image Uploader

    Over the past months I've detailed how developers can complete a variety of tasks using Cloudinary, an image (and audio and video) hosting, delivery, and transformation provider.  Cloudinary’s client-side integration libraries and SDKs simplify the integration with your development platform of choice: Ruby on Rails, PHP...

  • By
    Six Tiny But Awesome ES6 Features

    Everyone in the JavaScript community loves new APIs, syntax updates, and features -- they provide better, smarter, more efficient ways to accomplish important tasks.  ES6 brings forth a massive wave of new goodies and the browser vendors have worked hard over the past year to get those language updates...

  • By
    Responsive Images with Client Hints

    It doesn't take being a performance fanatic to know that images can really slow down a page's load time.  We've come a long way when it comes to images, from lazy loading them to using better image formats like WebP, but they all involve loading the...

  • By
    Node.js Raw Mode with Keystrokes

    I find the stuff that people are doing with Node.js incredibly interesting.  You here about people using Node.js to control drones, Arduinos, and a host of other devices.  I took advantage of Node.js to create a Roku Remote, a project that was fun and easier than I thought...

  • By
    How to Deliver a Smooth Playback without Interruptions (Buffering)

    There's only one thing worse than no internet:  unreliable internet.  The frustration I feel when one page loads quickly, then the next very slow (if at all), and then a mixture is unmanageable.  Like...throw your device across the room frustrating.  This slowness is most apparent...

  • By
    JavaScript Copy to Clipboard

    "Copy to clipboard" functionality is something we all use dozens of times daily but the client side API around it has always been lacking; some older APIs and browser implementations required a scary "are you sure?"-style dialog before the content would be copied to clipboard -- not great for...

  • By
    ​Let Top Tech Companies Apply to You​

    Indeed Prime upends the traditional hiring hierarchy so you can take control of your job search. Stop applying to jobs. Let jobs apply to YOU. You can sign up for Indeed Prime in a few...