David Walsh Blog
Object.freeze: Immutable Objects
![Object.freeze: Immutable Objects]()
One of my favorite part of JavaScript has always been mutability of objects. I loved that MooTools and likewise frameworks could modify native prototypes to enhance them with functionality we knew the language need; in fact, I credit MooTools with pushing the web forward. There are cases...
![Popular Web Tools and Services Among Designers & Developers]()
Popular Web Tools and Services Among Designers & Developers
Today we will present you the most popular 30 web tools and services among designers and developers. We handpicked solutions that are offering the best functionalities, support, and pricing on the market. You will find probably the best logo design creating software, the very well-known Hotjar...
Twilio: the Ultimate Communication Tool
My favorite part of the mobile revolution was the explosion of communication tools. I grew up chatting on AOL Instant Messenger, MSN Messenger, and other desktop messaging tools, so when mobile phones took on text messaging, I was hyped for a new generation of mobile...
![Repeat Bash Prompts]()
Repeat Bash Prompts
I'm sure you wont be surprised when I tell you it's my job to automate things in our my household. My wife is tech savvy but she relies on me to make tech matters easy for everyone; I guess it's flattering that she trusts me to do...
![Slides Review: Create Awesome Animated Websites]()
Slides Review: Create Awesome Animated Websites
Many of the impressive product websites I see these days are single-page sites with elegant animations and responsive elements; responsive images, responsive font-sizes, and responsive backgrounds. Whenever I see these sites I wonder how these sites were made, and what CSS units and JavaScript magic...
![Array and Boolean]()
Array and Boolean
One of the annoyances of old-school JavaScript was side effects; then
Array.prototypegot methods likefilter,map, andforEachso we didn't need to burn variables before looping over values. I can't explain how happy I am that the JavaScript language continues to evolve. Every once in a...![Open Multiple Firefox Tabs from Command Line]()
Open Multiple Firefox Tabs from Command Line
Now that I work on Firefox Developer Tools, I'm really starting to learn some of the tricks of building, debugging, and launching Firefox. Once I start using Firefox at a developer level each day, the more I become amazed at how configurable and easy to work...
![Responsive IFRAMEs]()
Responsive IFRAMEs
Responsive web design revolutionized the web and spurred a movement away from native apps to web apps easily customizable for a mobile environment. We use media queries and non-pixel-based dimensions to make responsive design easier; in fact,
img { max-width: 100% }is one of my favorite...![React Emoji Picker]()
React Emoji Picker
When emojis first hit the web scene I rolled my eyes -- they seemed like a lame communication method for giggling kids. After years more experience working remotely, managing open source communities, and communicating with people that may not get my sense of humor, I've realized...
![monday.com: the Total Team Management Tool]()
monday.com: the Total Team Management Tool
Whether you're a solo freelancer, an open source team, a large company, or a worldwide organization, having a consistent and usable team management tool is the difference between a well oiled machine and chaos. Managing people, projects, tasks, payments...there's always so much going on!
Popular Features
![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...
![7 Essential JavaScript Functions]()
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
addEventListenerandattachEvent. Times have changed but there are still a few functions each developer should...![I’m an Impostor]()
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]()
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...













