Tutorials Page 116
![:valid, :invalid, and :required CSS Pseudo Classes]()
:valid, :invalid, and :required CSS Pseudo Classes
Let's be honest, form validation with JavaScript can be a real bitch. On a real basic level, however, it's not that bad. HTML5 has jumped in to some extent, providing a few attributes to allow us to mark fields as required or only valid if matching...
![Resize an Image Using Canvas, Drag and Drop and the File API]()
Resize an Image Using Canvas, Drag and Drop and the File API
Recently I was asked to create a user interface that allows someone to upload an image to a server (among other things) so that it could be used in the various web sites my company provides to its clients. Normally this would be an easy task—create a...
![CSS Triangles]()
CSS Triangles
I was recently redesigning my website and wanted to create tooltips. Making that was easy but I also wanted my tooltips to feature the a triangular pointer. I'm a disaster when it comes to images and the prospect of needing to make an image for...
![Mighty Deals: Responsive Bootstrap Templates]()
Mighty Deals: Responsive Bootstrap Templates
I recently saw a tweet saying that 1% of the web is now powered by the Bootstrap framework. That's an incredible number for a project that doesn't seem that old. When you look at what Bootstrap encompasses, however, you can see why so many developers start...
![9 More Mind-Blowing WebGL Demos]()
9 More Mind-Blowing WebGL Demos
With Firefox OS, asm.js, and the push for browser performance improvements, canvas and WebGL technologies are opening a world of possibilities. I featured 9 Mind-Blowing Canvas Demos and then took it up a level with 9 Mind-Blowing WebGL Demos, but I want to outdo...
![Create a CSS Cube]()
Create a CSS Cube
CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals. Add animation and you've got something really neat. Unfortunately each CSS cube tutorial I've read is a bit...
![Mobile and Desktop Event Normalization with pointer.js]()
Mobile and Desktop Event Normalization with pointer.js
The mobile revolution brought in a variety of new challenges, one being interaction and event handling. We have a set of new touch events and the traditional desktop events, and click events work on both devices, but mousemove and touchmove aren't always in sync, and there...
![Remove a Submodule within git]()
Remove a Submodule within git
For many git-based projects, submodules are useful in avoiding duplicate work and easing utility library updates. There are times, however, when a submodule needs to be removed from a project. Submodules aren't removed with git rm submoduledir, they must be removed in a more tedious, manual...
![Immediately Executing Functions]()
Immediately Executing Functions
JavaScript is full of nifty little tricks to accomplish tasks with less code. One of those tricks is immediately executing functions. We oftentimes see this pattern for executing anonymous functions to limit variable scope: What many developers don't know is that this code can be shorted by...
![Replicating the DOOM Screen Melt with JavaScript and Canvas]()
Replicating the DOOM Screen Melt with JavaScript and Canvas
I love retro games almost as much as I love development and from time to time I find myself addicted to games I haven't played in 20 or more years. This weekend while loading up DOOM on my speedy 486/SX (a full 66mhz of speed!) I...










