navigator.clipboard API

Reading from and writing to the user's clipboard can be both a very useful and dangerous capability. Used correctly and it's a huge convenience to the | Continue reading


@davidwalsh.name | 2 years ago

GraphQL Editor – The Journey from Initial Release to Version 5.0

From the very beginning of our adventure with GraphQL, we were impressed by how great its community is. The amount of content, libraries and great tools | Continue reading


@davidwalsh.name | 2 years ago

Array.prototype.at

Working with arrays is an essential skill in any programming language, especially JavaScript, as we continue to rely on external data APIs. JavaScript has | Continue reading


@davidwalsh.name | 2 years ago

Fast, Accurate Geolocation Data with IPWHOIS.io (Sponsored)

In the world of marketing and content targeting, having accurate geolocation data can be the difference between a thriving enterprise and a floundering | Continue reading


@davidwalsh.name | 2 years ago

Command Line trash

One of the first commands you learn when experimenting with command line is rm, the utility for deleting files and directories. Deletion is a core | Continue reading


@davidwalsh.name | 2 years ago

Terminate Process on a Port from Command Line

Once a week I have to deal with a zombie process or try to start a process that's already running on its designated port. In most cases I use macOS's | Continue reading


@davidwalsh.name | 2 years ago

CSS accent-color

The accent-color CSS property allows us to change the accent of input, input[type=radio], and input[type=checkbox] elements! | Continue reading


@davidwalsh.name | 2 years ago

How to Create a UUID in JavaScript

The UUID identifier has been used in programming since the days a baby-faced David Walsh became a professional software engineer. My first exposure to | Continue reading


@davidwalsh.name | 2 years ago

AggregateError

One of the big themes of the web these days is concurrency, which leads to accomplishing tasks asynchronously. In doing so, the possibility of multiple | Continue reading


@davidwalsh.name | 2 years ago

jq for JSON

I old enough to remember when we thought XML was going to change the programming world...then JSON saved us from that hell. Parsing and querying JSON data | Continue reading


@davidwalsh.name | 2 years ago

React usePrevious Hook

Hooks are essential for the functional component pattern in React. One frequent logic comparison with class components was comparing a previous prop value | Continue reading


@davidwalsh.name | 2 years ago

Set a Default Node Version with nvm

As I've shown you in the past, nvm an excellent utility for switching between Node.js versions. Whether your host machine or CI, building and testing your | Continue reading


@davidwalsh.name | 2 years ago

onInput Event

Coding HTML forms has been painful my entire career. Form controls look different between operating systems and browsers, coding client side and server | Continue reading


@davidwalsh.name | 2 years ago

Dark Mode in One Line of Code!

Though it's not a true "dark mode", you can use CSS' filter to create dark mode of your own. | Continue reading


@davidwalsh.name | 2 years ago

Fix Seeing “0” in Your JSX Code

The early days of the web felt like the wild west when it came to coding practices -- just make it work. Then we became enlightened to better practices, | Continue reading


@davidwalsh.name | 2 years ago

How to Upload a File via SSH and Command Line

scp ~/Downloads/NestedT.png root@64.207.144.103:/var/www/vhosts/davidwalsh.name/httpdocs/demo My preference for daily work is usually GUI applications, | Continue reading


@davidwalsh.name | 2 years ago

Always Show Arrows for Number Input

While I enjoy small details that make user interfaces more elegant, I also believe that less is more, especially when it comes to native behavior. One | Continue reading


@davidwalsh.name | 2 years ago

Gather Feedback Using the Amazing UserWell (Sponsored)

Most websites and mobile apps collect all sorts of data to try to gain insights into what users are doing, not doing, and to gain insight into what users | Continue reading


@davidwalsh.name | 2 years ago

JavaScript Numeric Separators

The JavaScript language lets engineers separator numbers by underscores to make the code more readable and maintainable. | Continue reading


@davidwalsh.name | 2 years ago

How to Restart a BAT file on Windows at an Interval

I recently wrote a .bat script on Windows to mine Ethereum when I'm not using my gaming PC to frag noobs. I have a friend who also tries to mine | Continue reading


@davidwalsh.name | 2 years ago

CSS :is

There are scores of developers who hate CSS; don't get it, don't want to get it, etc. Most of that is either down to inefficiencies within the language or | Continue reading


@davidwalsh.name | 2 years ago

Prevent Windows from Sleeping

I have a few processes on my Windows gaming PC that are critical but sometimes get impacted over night as Windows tells my beloved machine to tone it | Continue reading


@davidwalsh.name | 3 years ago

Not All Advice is Good Advice

From the time we're children, we're trusting people. We rely on those close and older than us to point us toward success and "the right way". One of the | Continue reading


@davidwalsh.name | 3 years ago

React Authentication, Simplified

Authentication is one of those things that just always seems to take a lot more effort than we want it to. To set up auth, you have to re-research topics you haven’t thought about since the last time you did authentication, and the fast-paced nature of the space means things have … | Continue reading


@davidwalsh.name | 3 years ago

Image Optimization Strategies Compared (Sponsored)

We all know the stats. Slower website performance is strongly linked to higher abandon rates and lower conversions. What you may not know is that the main | Continue reading


@davidwalsh.name | 3 years ago

Regular Expression Match Groups

Regular expressions are incredibly powerful but can be difficult to maintain. They're a skill you learn on the job and, when the suits walk by, make you | Continue reading


@davidwalsh.name | 3 years ago

Object.entries

Navigating and managing data structures is a really important skill for every level of engineer to have and improve upon. Over the years, the JavaScript | Continue reading


@davidwalsh.name | 3 years ago

Use Touch ID for Sudo on Mac

The landscape of security is changing quite a bit. We’ve gone from basic username and password to 2FA, facial recognition, fingerprint recognition, and so on. Hell, my Mac unlocks simply when I have my Apple Watch near by. In the end, I probably use the Mac fingerprint key the mo … | Continue reading


@davidwalsh.name | 3 years ago

Navigator.clipboard API

The navigator.clipboard API provides async read and write methods for managing clipboard data. | Continue reading


@davidwalsh.name | 3 years ago

How to Detect When a Sticky Element Gets Pinned

We can determine if an element has become sticky thanks to the IntersectionObserver API! | Continue reading


@davidwalsh.name | 3 years ago

Hacker News Crushed David Walsh Blog

Earlier this month, David’s heartfelt posting about leaving Mozilla made the front page of Hacker News. Traffic increased by 800% to his already-busy website, which slowed and eventually failed under the pressure. Request Metrics monitors performance and uptime for David’s blog, … | Continue reading


@davidwalsh.name | 3 years ago

Shirts – Leaving Mozilla

In 2001 I had just graduated from a small town high school and headed off to a small town college. I found myself in the quaint computer lab where the substandard computers featured two browsers: Internet Explorer and Mozilla. It was this lab where I fell in love with Mozilla — a … | Continue reading


@davidwalsh.name | 3 years ago

Expanding the Future (Of Dev Tooling) with AI

Getify expands efforts to empower developers and help improve coding with AI-powered autocomplete suggestions from Codota / TabNine. | Continue reading


@davidwalsh.name | 3 years ago

Are You a Developer?

“You’re not really a developer. Sooner or later people are going to realize you don’t know what you’re talking about. You’re just not good enough.” You’ve probably had thoughts like these at one point or another. You’ve never heard someone else tell you that you’re not a develope … | Continue reading


@davidwalsh.name | 3 years ago

Forward and Reverse Geocoding API: Positionstack

One awesome web functionality we take for granted is geolocation. Based on geolocation data, we can get someone to their destination, provide them suggestions based on their location, and so on. One downside of native geolocation, especially in the browser, is that it’s limited i … | Continue reading


@davidwalsh.name | 4 years ago

Validate CSP from Command Line

The content security policy spec has been an amazing front-end security tool to help prevent XSS and other types of attacks. I’d go as far to say that every site should implement as specific CSP as possible. If you aren’t familiar with CSPs, here’s a quick example: Content-Securi … | Continue reading


@davidwalsh.name | 4 years ago

IP Geolocation and Threat Intelligence API: Ipdata

An IP address is a simple, numeric piece of information that gets passed to a server, but that IP address can provide a wealth of information with ipdata. With ipdata you can learn user location, language, currency, and much more! Quick Hits ipdata is an IP Geolocation and Threat … | Continue reading


@davidwalsh.name | 4 years ago

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 … | Continue reading


@davidwalsh.name | 4 years ago

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 aggr … | Continue reading


@davidwalsh.name | 4 years ago

How to Build Firefox

Open source is a dream and a gateway to an amazing career — I’m a testament to that. One of the most amazing open source projects to ever exist, Mozilla Firefox, is a project I’m proud to work on as an employee of Mozilla. It’s rewarding, challenging, and a unique experience…and … | Continue reading


@davidwalsh.name | 4 years ago

Build a Decentralized Web Chat in 15 Minutes

In this 15 minute tutorial we’re going to build a simple decentralized chat application which runs entirely in a web browser. All you will need is a text editor, a web browser, and a basic knowledge of how to save HTML files and open them in the browser. We’re going to use Bugout … | Continue reading


@davidwalsh.name | 5 years ago

In this 15 minute tutorial we’re going to build a simple decentralized chat application which runs entirely in a web browser. All you will need is a text editor, a web browser, and a basic knowledge of how to save HTML files and open them in the browser. We’re going to use Bugout … | Continue reading


@davidwalsh.name | 5 years ago

“I Don't Hate Arrow Functions” Blog Post

Discussing why linters and opinions on code are important, and introducing a configurable ESLint plugin for => arrow functions. | Continue reading


@davidwalsh.name | 5 years ago

Lessons in Failure: Removing the Old Debugger from Firefox

Joining the Firefox DevTools team was a dream come true for me.  I shared why in the first episode of the Script & Style show but the quick summary is that I grew up loving Firefox (even before it was called “Firefox”) because Mozilla cared about developers via their early develo … | Continue reading


@davidwalsh.name | 5 years ago

Lightning Fast Font Loading Techniques (2015)

Faster font loading and lazy loading font loading techniques! | Continue reading


@davidwalsh.name | 5 years ago

How to create a Twitter card

Twitter's new Twitter Cards API allows developers to add META tags to their website, and Twitter will build card content from links to a given site. | Continue reading


@davidwalsh.name | 5 years ago