David Walsh Blog

  • By

    Hello Fenix!

    Over seven years ago I made the massive career leap to Mozilla. Two years ago I realized a dream of joining the Firefox DevTools team -- it's been a rewarding adventure helping to improve the Firefox DevTools Debugger and other super helpful tools. I'm...

  • By
    JavaScript waitForTime

    I write a lot of tests for new features within Firefox DevTools. We have hundreds of "mochitests" which open the browser and perform synthetic actions like clicking, typing, and other user actions. I've previously written about waitForever which essentially halts following actions without locking the...

  • By
    Simple Scraping API with zenscrape

    So many developers believe that scraping a URL's content is easy -- just a simple curl and you're done, right? Nope. CAPTCHAs, rate limitations, origin-specific limitations -- they make getting content off the web a nightmare. Luckily we now have services like zenscrape...

  • By
    5 Easy Ways to Earn Cryptocurrency

    The days of individuals mining popular cryptocurrencies are over. The amount of time and energy required to mine bitcoin is immense and you'd be competing with business with massive mining farms. What you can do, however, is chip away at earning cryptocurrency via a few...

  • By
    How to Use JPEG 2000 (JP2) for a Faster Images on iPhone

    Images Slow Down WebsitesImages slow down the page-loading performance of many websites. Audit tools like Google’s Lighthouse can quickly tell you how many seconds you can save by optimizing your images. When you are delivering to desktops or android devices running Chrome browser, a quick solution...

  • By
    Firefox Kiosk Mode

    As someone who loves the HTML and web APIs, I want to see them used in all different types of devices and mediums. Being that I work for the amazing Mozilla Corporation, seeing Firefox and the gecko web engine thrive in those spaces is important...

  • By
    How to Create a QR Code

    QR codes aren't everyone's cup of tea but I quite like them. If I see something I want to remember or check out later, especially when on the road, it's super easy to take a quick picture -- it's much easier than trying to remember a...

  • By
    Scrape the Web with scrapestack

    I first grew to love Firefox not as a web developer but as user, and what drew me to this amazing new browser was its add-on ecosystem. The add-on I used the most? Web scrapers. Piracy had just hit mainstream and I also need imagery...

  • By
    How to Detect an Ad Blocker

    One of the unspoken rules of the internet is that most content is "free"... at the cost of webpage being littered with advertisements and trackers. This was't a big problem in the early internet days but trackers and advertisements have become so intrusive and unapologetically aggressive...

  • By
    Interview with a Pornhub Web Developer

    Regardless of your stance on pornography, it would be impossible to deny the massive impact the adult website industry has had on pushing the web forward. From pushing the browser's video limits to pushing ads through WebSocket so ad blockers don't detect them, you have...

Popular Features

  • By
    Interview with a Pornhub Web Developer

    Regardless of your stance on pornography, it would be impossible to deny the massive impact the adult website industry has had on pushing the web forward. From pushing the browser's video limits to pushing ads through WebSocket so ad blockers don't detect them, you have...

  • By
    Welcome to My New Office

    My first professional web development was at a small print shop where I sat in a windowless cubical all day. I suffered that boxed in environment for almost five years before I was able to find a remote job where I worked from home. The first...

  • By
    How to Create a RetroPie on Raspberry Pi – Graphical Guide

    Today we get to play amazing games on our super powered game consoles, PCs, VR headsets, and even mobile devices.  While I enjoy playing new games these days, I do long for the retro gaming systems I had when I was a kid: the original Nintendo...

  • By
    Conquering Impostor Syndrome

    Two years ago I documented my struggles with Imposter Syndrome and the response was immense.  I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions.  I've even caught myself reading the post...

  • By
    Being a Dev Dad

    I get asked loads of questions every day but I'm always surprised that they're rarely questions about code or even tech -- many of the questions I get are more about non-dev stuff like what my office is like, what software I use, and oftentimes...

  • By
    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...

  • By
    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...