David Walsh Blog
URL.canParse
![URL.canParse]()
Parsing of URLs on the client side has been a common practice for two decades. The early days included using illegible regular expressions but the JavaScript specification eventually evolved into a
new URLmethod of parsing URLs. WhileURLis incredibly useful when a valid URL...![JavaScript closest]()
JavaScript closest
When it comes to finding relationships between elements, we traditionally think of a top-down approach. We can thank CSS and
querySelector/querySelectorAllfor that relationship in selectors. What if we want to find an element's parent based on selector?To look up the element tree and find...![ChatGPT via WYSIWYG]()
ChatGPT via WYSIWYG
Artificial intelligence applications have hit like a massive wave over this past year, with ChatGPT being the most prominent. ChatGPT can take any written command and suggest content to match. What better than having the power of AI content creation than doing so within your own...
![JavaScript: Reverse Arrays]()
JavaScript: Reverse Arrays
Manipulating data is core to any programming language. JavaScript is no exception, especially as JSON has token over as a prime data delivery format. One such data manipulation is reversing arrays. You may want to reverse an array to show most recent transactions, or...
![Confessions of a Web Developer XX]()
Confessions of a Web Developer XX
It's been quite a while since I've gotten a few things off of my chest and since I'm always full of peeves and annoyances I thought it was time to unleash:One day you're getting recruited by another crypto wallet vendor, the next their users are getting...
![How to Create a Screen Recording with Quicktime]()
How to Create a Screen Recording with Quicktime
Creating screen recordings is an essential skill for web developers. Screen recordings can illustrate new features, bugs, or a variety of other ideas. I'm often asked what app I use to create screen recordings and people are shocked when I tell them Quicktime!
![Restart Mac From Command Line]()
Restart Mac From Command Line
Restarting and shutting down a computer remotely is a frequent task for remote system administrators. As someone that writes many shell scripts, I also find myself automating system restarts. Let's look at a few ways to restart Mac systems from command line!Restart a Local MacTo...
![How to Use Your Domain on Bluesky]()
How to Use Your Domain on Bluesky
Bluesky is a hot new social networking platform that functions like Twitter from Twitter's original founder. New users are flooding into the platform as a respite from Elon Musk's vision of Twitter and the fumbles that have happened since his takeover. Upon signing up...
![10 Great Multipurpose WordPress Themes]()
10 Great Multipurpose WordPress Themes
Multipurpose themes are flexible WordPress templates that can be used to create virtually any kind of website. They are often best-sellers, and because they are so popular there are a lot of them to choose from. Too many in fact unless you have time to spare...
![How to Blur Faces in a Video from Command Line]()
How to Blur Faces in a Video from Command Line
Privacy is always incredibly important, especially with visual media where you may not have the permission of individuals in the video. If you're filming something in public, it's likely you'll catch someone's face who simply doesn't want or need to be identified. This recently...
Popular Features
![39 Shirts – Leaving Mozilla]()
39 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...
![Interview with a Pornhub Web Developer]()
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...
![Welcome to My New Office]()
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...
![How to Create a RetroPie on Raspberry Pi – Graphical Guide]()
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...
![Conquering Impostor Syndrome]()
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...
![Being a Dev Dad]()
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...
![JavaScript Promise API]()
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...














