anchor.diff:  // and to get access to events on canvas use window object.
   
    window.addEventListener('keydown', handleKeydown, false);
  - 
  - 
  +
  +
    ** The tabindex attribute of the canvas element makes it focusable. Without it, it will never get the focus!
   
   The trick is to declare the canvas like this:
  
positive.code: .url
  .week
  
  === App Cache and Manifest File generator 
  
  http://westciv.com/tools/manifestR/[manifestR] is a bookmarklet, meaning that you are able to drag it to your bookmarks bar. 
  Then, when you visit a page, you will click on the manifestR button, and it will 
  create an HTML5 appcache manifest file for that page.
  
  App Cache Best Practice - Updating the manifest file server side will update the 
  files cached by browsers: the easiest way to make the browser update the cache
  is to update the manifest file itself.
  
  WEB Audio API 
  
  Some third party libraries
  ====
  
  . http://goldfirestudios.com/blog/104/howler.js-Modern-Web-Audio-Javascript-Library
  [Howler.js - useful for loading and playing sound sample in video games.]
  . https://github.com/Tonejs/Tone.js[Tone.js - For writing musical applications]
negative.code: canvas=document.getElementById('myCanvas');
  ...
  canvas.focus();
  
  HTML5 forms
  --------------
  
  HTML5 introduced 13 new input types, covering most of the needs reported by Web
  developers who until now had relied on JavaScript frameworks.
  .color
  .date
  