David Walsh Tutorials
![Pro JavaScript with MooTools by Mark Obcena]()
Pro JavaScript with MooTools by Mark Obcena
With Christmas almost upon us, I wanted to throw a gift idea out there to everyone. MooTools Contributor Mark Obcena (keeto) has just finished writing his MooTools book: Pro JavaScript with MooTools. As you would expect, this book covers not just the basics of MooTools...
![CSS Selection Styling]()
CSS Selection Styling
The goal of CSS is to allow styling of content and structure within a web page. We all know that, right? As CSS revisions arrive, we're provided more opportunity to control. One of the little known styling option available within the browser is text selection styling.
![Confessions Friday II]()
Confessions Friday II
It's Friday. You know you've had a tough week. A client ripped you a new one. The specs on a tough project got changed without prior notification. WebSocket is getting pulled. You just found out that your latest project requires...
![WebSocket Update]()
WebSocket Update
A few weeks back I published a post about the awesome new technology that is WebSockets and a great WebSocket wrapper called Socket.IO. The HTML5 WebSocket API provides socket connection support for faster messaging between client and server. Consider WebSocket an optimized AJAX solution. SocketIO...
![JavaScript Feature Detection with has.js]()
JavaScript Feature Detection with has.js
Dojo Toolkit Project Lead Peter Higgins has been working on an exciting new project called has.js. Higgins describes this project best: Browser sniffing and feature inference are flawed techniques for detecting browser support in client side JavaScript. The goal of has.js is to provide a...
![Smarter Script Loading with LABjs]()
Smarter Script Loading with LABjs
We all know that asynchronous resource loading is the key to preventing unwanted and unnecessary blocking within the browser. There are many scripts/libraries available to help with async script loading but the ones that succeed are simple, compact, and reliable. Those words describe Kyle Simpson's LABjs...
![WebSocket and Socket.IO]()
WebSocket and Socket.IO
My favorite web technology is quickly becoming the WebSocket API. WebSocket provides a welcomed alternative to the AJAX technologies we've been making use of over the past few years. This new API provides a method to push messages from client to server efficiently...
![What I’m Thankful For: 2010 Edition]()
What I’m Thankful For: 2010 Edition
With another Thanksgiving upon us in the United States, it's time for me to look back at all of the people I should be thankful for. Without further adieu, I'd like to give props to following people. SitePen I joined SitePen in May 2010 after...
![JSON Validation with JSON Schema]()
JSON Validation with JSON Schema
It didn't take long for JSON to become the hottest thing since Pam Anderson slowly bounced her way down the BayWatch beaches. And why shouldn't it be? JSON is easy to understand visually, easy to parse on both the client and server sides, and...
![Generate Dojo GFX Drawings from SVG Files]()
Generate Dojo GFX Drawings from SVG Files
One of the most awesome parts of the Dojo / Dijit / DojoX family is the amazing GFX library. GFX lives within the dojox.gfx namespace and provides the foundation of Dojo's charting, drawing, and sketch libraries. GFX allows you to create vector graphics (SVG, VML...









