David Walsh Tutorials
![Firefox OS Source Leaked!!!]()
Firefox OS Source Leaked!!!
The complete, commented source code for Mozilla's new Firefox OS effort has been leaked!! In what can only be a massive oversight on Mozilla's part, the holy trinity of Firefox OS (codenamed Boot2Gecko), Gonk (the Linux kernel), Gecko (the renderer), and
![Convert arguments to Array]()
Convert arguments to Array
The
argumentsobject thats automatically available within functions can be a source of confusion for some people; it's kind of an array but it's kinda not. JavaScript is awesome in that you can pass any number ofargumentsto a function, and oftentimes developers need to...![Detect Pseudo-Element Animation Support]()
Detect Pseudo-Element Animation Support
A while back I posted an interesting tidbit from Daniel Buchner which allows developers to detect DOM node insertions with JavaScript and CSS animations; an awesome trick driven by CSS animations. Lea Verou recently posted another detection snippet driven by CSS animations: detecting pseudo-element...
![Learn More, Faster with Treehouse]()
Learn More, Faster with Treehouse
My sponsor, Treehouse, has mastered teaching complex development concepts and techniques using the visual media; something not easy to do, and neither is learning anew technology from scratch without proper guidance. Tutorials are nice but oftentimes make assumptions about current knowledge and don't tend...
![Get Element Attributes with JavaScript]()
Get Element Attributes with JavaScript
What I love so much about JavaScript is that the language is incredibly dynamic. So dynamic that you can modify native objects if you so choose. One dynamic property I've frequently been using lately is the
attributesproperty of DOM elements. Thisattributesproperty provides me...![5 Common Usability Mistakes and Solutions For Avoiding Them]()
5 Common Usability Mistakes and Solutions For Avoiding Them
I'm sort of a grumpy web user, but I think that's part of what drives me to be a good Web Developer. I get so annoyed at things that make using a website difficult, things that should be basic. Here's a list of five common usability...
![JavaScript Functions that Return Functions]()
JavaScript Functions that Return Functions
A few weeks back, I tweeted that I loved functions that returned functions. I got quite a few replies to the tune of....WTF?! It's important that people understand the value of functions that return functions; using this technique can save you code, JavaScript efficiency, and...
![Detect Vendor Prefix with JavaScript]()
Detect Vendor Prefix with JavaScript
Regardless of our position on vendor prefixes, we have to live with them and occasionally use them to make things work. These prefixes can be used in two formats: the CSS format (
-moz-, as in-moz-element) and the JS format (navigator.mozApps). The awesome X-Tag project has...![CSS tab-size]()
CSS tab-size
The ridiculous tabs vs. spaces debate within code can get just as heated as the JavaScript semi-colon debate. I'm a tab guy myself but to each their own...just don't work on a project with me if you aren't. Anyways, I was quite surprised to find...
![Making Sprite-based Games with Canvas]()
Making Sprite-based Games with Canvas
The canvas element was introduced with HTML5 and provides an API for rendering on the web. The API is simple, but if you've never done graphics work before it might take some getting used to. It has great cross-browser support at this point, and...






