David Walsh Tutorials
![Professional & Personal Goals for 2015]()
Professional & Personal Goals for 2015
The turn of the year is a natural time to get deep, think about how the past year went and put together goals for the new year. Most goals become "pie in the sky" but it's important to aim high, right? I've been thinking about the past...
![Confessions of a Web Developer XIV]()
Confessions of a Web Developer XIV
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: I've been at Mozilla for almost three years now and I don't feel as though I've left...
![Detect “Do Not Track” with JavaScript]()
Detect “Do Not Track” with JavaScript
Do Not Track is an excellent idea. The DNT website describes it best: Do Not Track is a technology and policy proposal that enables users to opt out of tracking by websites they do not visit, including analytics services, advertising networks, and social platforms. At...
![10 Premium Bootstrap Joomla Templates]()
10 Premium Bootstrap Joomla Templates
Joomla is a powerful and feature-rich content management system that enables users to build custom websites or web apps. Joomla is open source, so it's freely available to everyone and has a loyal following. There are some amazing websites using Joomla to power their...
![How to Batch Update Git Commit Messages]()
How to Batch Update Git Commit Messages
At Mozilla we're mostly strict about receiving contributions via git/GitHub. Aside from requiring tests and enforcing code quality, one basic of submitting a commit (or several) is that the commit message begins with "bug #######", which is a reference to its Bugzilla bug. The message requirement makes sense...
![Change Tab Title with JavaScript]()
Change Tab Title with JavaScript
Changing the tab (or window) title is an age old practice. Gmail does it to notify the user of a new chat message and this blog does it to update the tab title after a new page loads via AJAX. How is it done? By setting a property...
![JavaScript Regex: String Does Not Contain]()
JavaScript Regex: String Does Not Contain
For some reason I think that regular expressions can solve every problem and for some reason I always find out the regular expression I'm trying to create is too complicated and probably not the best route to getting what I want. Case in point: I needed to...
![The Absolute Best Black Friday Deals in Web Development]()
The Absolute Best Black Friday Deals in Web Development
Psst…hey, yeah, you. Looking for the best Black Friday deals for everything web development and design related? Well, you've come to the right place, scroll on to see what awesome deals we've gathered for you. 1. X by Themeco Probably the market leader for premium elegant...
![Template Literals]()
Template Literals
Seemingly every language has a template string enhancement, and within JavaScript we've written our own to allow more seamless development without the need to concatenate everything. Some of these template helpers even allow for looping, iteration, and conditional support. Native implementations always start small but I'm excited about template literals in...
![20 Tools To Make A Web Developer’s Life Easier]()
20 Tools To Make A Web Developer’s Life Easier
If you work as a web developer nowadays, you're sure to have your work cut out for you. The influence the Internet has in our everyday lives is undeniable, therefore it is natural for all businesses and organizations to have a strong presence online. This means...








