<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkQGQH46cSp7ImA9WhRUGEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433</id><updated>2012-01-29T09:32:01.019-08:00</updated><category term="RubyGem" /><category term="Jasmine" /><category term="Hash" /><category term="actiWate" /><category term="CommonJS" /><category term="scrAPI" /><category term="String" /><category term="SVG" /><category term="Credit Card" /><category term="UI" /><category term="jsplumb" /><category term="Apple" /><category term="Trace" /><category term="Test" /><category term="watchr" /><category term="Job" /><category term="Rhodes" /><category term="Shindig" /><category term="Open source" /><category term="WebROaR" /><category term="JRuby" /><category term="Backbone" /><category term="ORM" /><category term="Yehuda Katz" /><category term="Loader" /><category term="Apache" /><category term="Narwhal" /><category term="SlickEdit" /><category term="Bowline" /><category term="turn" /><category term="Deep_merge" /><category term="Ruote" /><category term="fog" /><category term="rails 3" /><category term="XHTML Editor" /><category term="Popup" /><category term="Modernizr" /><category term="Tips" /><category term="Concordion" /><category term="SDK" /><category term="GX" /><category term="gameQuery" /><category term="jsAnim" /><category term="WebM" /><category term="will_paginate" /><category term="modulr" /><category term="Awesome Print" /><category term="Array" /><category term="Signature Pad" /><category term="Guide" /><category term="GromJS" /><category term="DB" /><category term="Reference" /><category term="Watir" /><category term="PhantomJS" /><category term="Greenhouse" /><category term="Webkit" /><category term="Sizzle" /><category term="Disable text selection" /><category term=".NET" /><category term="Capistrano" /><category term="Nettuts+" /><category term="RMagick" /><category term="Skeleton" /><category term="Attachment" /><category term="Microsoft" /><category term="Email" /><category term="cluster" /><category term="enumerated_attribute" /><category term="Shopify" /><category term="VirtualBox" /><category term="Selenium" /><category term="Timeout" /><category term="CORS" /><category term="jQuery UI" /><category term="ieHTTPHeaders" /><category term="CorMVC" /><category term="CodeKit" /><category term="TeleHash" /><category term="Mathematics" /><category term="Chrome" /><category term="plugin" /><category term="Cucumber" /><category term="Marshal" /><category term="Framework" /><category term="TorqueBox" /><category term="Dump" /><category term="SSL" /><category term="Terminal" /><category term="Deploy" /><category term="Fat Free CRM" /><category term="Mac OSX" /><category term="Gallery" /><category term="JSON-P" /><category term="ujs" /><category term="gDEBugger" /><category term="OLAP" /><category term="PLT Scheme" /><category term="Smoothie Charts" /><category term="vestal_versions" /><category term="webkit2png" /><category term="Protolicious" /><category term="rbenv" /><category term="Countries" /><category term="Parallel Extension" /><category term="Racket" /><category term="Business" /><category term="JSLint" /><category term="Sly" /><category term="PHP" /><category term="Canvas" /><category term="kratko" /><category term="cgi" /><category term="CUPS" /><category term="Ruby" /><category term="Chosen" /><category term="packer" /><category term="Tools" /><category term="Lotus Symphony" /><category term="htaccess" /><category term="jspp" /><category term="CodeMirror" /><category term="Passenger" /><category term="replication" /><category term="Silverlight" /><category term="$.grep" /><category term="HTML2PDF" /><category term="CSSLint" /><category term="Indexing" /><category term="MVVM" /><category term="Bootstrap" /><category term=".live()" /><category term="Amazon" /><category term="krpano" /><category term="firebug" /><category term="TinyMCE" /><category term="Clojure" /><category term="Sencha" /><category term="Memory leak" /><category term="DbCharmer" /><category term="Smooth Div Scroll" /><category term="Lawer" /><category term="presentation" /><category term="Mouse-Weel" /><category term="$.proxy" /><category term="Flash" /><category term="Polymaps" /><category term="css" /><category term="Jam Session" /><category term="rack" /><category term="EcmaScript" /><category term="Console" /><category term="Squeak" /><category term="Social Stream" /><category term="Work" /><category term="rails 3.1" /><category term="Device" /><category term="Lua" /><category term="Error" /><category term="Preview" /><category term="Alignment" /><category term="Guassian Blur" /><category term="Command Line" /><category term="Adobe" /><category term="QuickSand" /><category term="normalize.css" /><category term="nested relations" /><category term="Underscore.js" /><category term="Tracking Database tool" /><category term="jQuery" /><category term="CRM" /><category term="gury" /><category term="Version Control" /><category term="AIR" /><category term="ruby-prof" /><category term="$fx" /><category term="MariaDB" /><category term="Whenever" /><category term="Programmer’s Notepad" /><category term="PostgreSQL" /><category term="Abbot Java GUI Test Framework" /><category term="Data Attribute" /><category term="Free" /><category term="xhtmlrenderer" /><category term="Io" /><category term="Live HTTP headers" /><category term="compressor" /><category term="Avignon" /><category term="Equality" /><category term="HumaneJS" /><category term="OS" /><category term="TransformJS" /><category term="node.js" /><category term="RailwayJS" /><category term="unobtrusive" /><category term="NETEYE Activity Indicator" /><category term="roo" /><category term="MVC" /><category term="Messaging" /><category term="Patch" /><category term="Shopping cart" /><category term="rails-firephp" /><category term="Zepto.js" /><category term="Calendar" /><category term="jsUnit" /><category term="TraceWatch" /><category term="Rails Magazine" /><category term="DrX" /><category term="tooltip" /><category term="Reset" /><category term="free storage" /><category term="UiUIKit" /><category term="PhoneGap" /><category term="JSctypes" /><category term="File" /><category term="PostgreQUEL" /><category term="JSGI" /><category term="Platypus" /><category term="Rainbows" /><category term="Blocks" /><category term="hirb" /><category term="Conference" /><category term="Constructable" /><category term="getJSON" /><category term="Amp" /><category term="IE fix" /><category term="less.js" /><category term="Book" /><category term="E-Help" /><category term="Crop" /><category term="merge" /><category term="JVM" /><category term="OurDelta" /><category term="Wirble" /><category term="syze" /><category term="background image" /><category term="Thread" /><category term="Panorama" /><category term="Cache Provider" /><category term="Library" /><category term="ExecJS" /><category term="Data URI" /><category term="ØMQ" /><category term="Single user mode" /><category term="YUI" /><category term="Search" /><category term="Java" /><category term="API" /><category term="NOSQL Patterns" /><category term="clearfix" /><category term="Snow Leopard" /><category term="Chrome-Frame" /><category term="YAML" /><category term="Algorithm" /><category term="Redis" /><category term="Snippet" /><category term="Browser" /><category term="Enyo" /><category term="GitHub" /><category term="BugMash" /><category term="Mootools" /><category term="Arbiter" /><category term="Hijack" /><category term="Blerby Test Runner" /><category term="Dart" /><category term="LightningDOM" /><category term="Scripty2" /><category term="RailConf 2011" /><category term="ISO 3166" /><category term="acts_as_archive" /><category term="ZeroMQ" /><category term="Performance" /><category term="Run" /><category term="icons" /><category term="Print" /><category term="KeyboardJS" /><category term="Timing API" /><category term="Gosu" /><category term="rails_sql_views" /><category term="VML" /><category term="Windows" /><category term="Load Impact" /><category term="DHTMLX Touch" /><category term="Rack::Offline" /><category term="clarity" /><category term="Win32::Screenshot" /><category term="Unicorn" /><category term="Burst Engine" /><category term="Parallel Processing" /><category term="send" /><category term="Slider" /><category term="rotate3Di" /><category term="SAP" /><category term="Railscasts" /><category term="jXHR" /><category term="Backup" /><category term="gem" /><category term="nginx" /><category term="rails" /><category term="jQote2" /><category term="Flex" /><category term="Cron Job" /><category term="presenters" /><category term="iOS" /><category term="transform" /><category term="Context Menu" /><category term="PEG" /><category term="Video" /><category term="EC2" /><category term="Procs" /><category term="ExtJS" /><category term="Cube" /><category term="Screenshot" /><category term="IBM" /><category term="SockJS" /><category term="Codec" /><category term="AutoTestFlash" /><category term="GestureWorks" /><category term="PDF" /><category term="rbwebkitgtk" /><category term="Design" /><category term="jquery-pjax" /><category term=".delegate()" /><category term="Perl" /><category term="diff" /><category term="TermKit" /><category term="Hemi" /><category term="jQTouch" /><category term="Regular expression" /><category term="Accordion" /><category term="Fluidium" /><category term="Renderer" /><category term="Netbeans" /><category term="Date Picker" /><category term="Uninstall" /><category term="iPhone" /><category term="Layout" /><category term="Link checking tools" /><category term="Dom" /><category term="Scriptio" /><category term="OOP" /><category term="DRb" /><category term="SWFObject" /><category term="MacBook Air" /><category term="SlowGrowl" /><category term="Password reset" /><category term="Apodora" /><category term="RVM" /><category term="Private method" /><category term="QuickConnect" /><category term="MarkUp" /><category term="Python" /><category term="Captcha" /><category term="ActiveRecord" /><category term="lowpro" /><category term="Enigmamachine" /><category term="Packet-Fu" /><category term="irb" /><category term="OCaml" /><category term="Migrating" /><category term="FirePHP" /><category term="Tutorial" /><category term="merb" /><category term="Sort" /><category term="Linda" /><category term="IDE" /><category term="png" /><category term="IxEdit" /><category term="Configuration" /><category term="GUI" /><category term="routes" /><category term="Dimension" /><category term="Scala" /><category term="Charts" /><category term="DiffMerge" /><category term="WKShake" /><category term="Logs" /><category term="Meetup" /><category term="XFN" /><category term="Online Tools" /><category term="Progress bar" /><category term="Reactive Extensions" /><category term="JSON" /><category term="jQuery 1.5" /><category term="Docs" /><category term="JSZip" /><category term="Growl" /><category term="Isotope" /><category term="MacRuby" /><category term="Credit Card Processing" /><category term="Mongrel" /><category term="RequireJS" /><category term="Office" /><category term="Site map" /><category term="FlatironJs" /><category term="Server" /><category term="Image processing" /><category term="Jaml" /><category term="Project" /><category term="Fossil" /><category term="modules" /><category term="Prototype" /><category term="UIZE" /><category term="Sinatra" /><category term="Google" /><category term="Splatter" /><category term="Parslet" /><category term="DOM Monster" /><category term="iso_countries" /><category term="EnhanceJS" /><category term="Subdomain" /><category term="HtmlUnit" /><category term="Canoo WebTest" /><category term="Anteater" /><category term="Data Collection" /><category term="PaintbrushJS" /><category term="Initializr" /><category term="zClip" /><category term="iFrame" /><category term="VIM" /><category term="xc.js" /><category term="Erlang" /><category term="Respond.js" /><category term="Globalize" /><category term="NestedSet" /><category term="Ruby Enterprise Edition" /><category term="SQL" /><category term="Connection" /><category term="SlickMap" /><category term="TMail" /><category term="RDoc" /><category term="FirePHRuby" /><category term="Utility Belt" /><category term="Measure" /><category term="Titanium Desktop" /><category term="Inconsolata" /><category term="Mercurial" /><category term="Animator" /><category term="XAML" /><category term="Processing.js" /><category term="MongoDB" /><category term="firefox" /><category term="jQuery Lint" /><category term="Knockout" /><category term="Redcar" /><category term="Celerity" /><category term="History" /><category term="WebApp.Net" /><category term="eBook" /><category term="Lion" /><category term="Proc" /><category term="Webcam Max" /><category term="Autonet" /><category term="MySQL" /><category term="FCKeditor" /><category term="Moz snap shooter" /><category term="Closure Compiler" /><category term="WebSocket" /><category term="Cross Browser" /><category term="safary" /><category term="Anemone" /><category term="css3" /><category term="cloud" /><category term=".bind()" /><category term="Refactoring" /><category term="Rest" /><category term="Multitouch" /><category term="Haskell" /><category term="Browsershots" /><category term="Maps" /><category term="Symbol" /><category term="delayed_job" /><category term="XPath" /><category term="Animator.js" /><category term="Table" /><category term="Copy" /><category term="Tree" /><category term="html" /><category term="Lambda" /><category term="Cheat sheets" /><category term="session" /><category term="LIKE" /><category term="qooxdoom" /><category term="Local storage" /><category term="Process" /><category term="Debug" /><category term="Jailbreak" /><category term="Upload" /><category term="Shadow" /><category term="Vagrant" /><category term="JavaScript" /><category term="WKTouch" /><category term="Redmine" /><category term="Glimmer" /><category term="Color picker" /><category term="Legal" /><category term="Dojo" /><category term="dydl" /><category term="SproutCore" /><category term="Template" /><category term="Cross domain" /><category term="Dragdealer JS" /><category term="Watir Recorder" /><category term="Moonshine" /><category term="Open office" /><category term="Pingdom" /><category term="Security" /><category term="Factor" /><category term="Ajax" /><category term="Font" /><category term="C++" /><category term="iUI" /><category term="SpiderMonkey Server-Side" /><category term="Mozilla" /><category term="helper" /><category term="rails-upgrade" /><category term="Sammy" /><category term="pjax" /><category term="Software" /><category term="Ruby 2.0" /><category term="html 5" /><category term="RabbitMQ" /><category term="Caja" /><category term="Animation" /><category term="RubyConf 2011" /><category term="Style" /><category term="rake" /><category term="StartUp" /><category term="CKEditor" /><category term="PageGlimpse" /><category term="Rust" /><category term="Mobile" /><category term="Clipboard" /><category term="Slanger" /><category term="JBoss" /><category term="Compatibility" /><category term="Scroller" /><category term="BREAKPOINTS.JS" /><category term="IMAP" /><category term="Optimize" /><category term="impress.js" /><category term="SQL View" /><category term="odf" /><category term="jVectorMap" /><category term="WeasyPrint" /><category term="Callback" /><category term="pagination" /><category term="Sun" /><category term="Data Grid" /><category term="Data" /><category term="html5shiv" /><category term="SEO" /><category term="HTTP Server" /><category term="3D" /><category term="mondrian" /><category term="PSD" /><category term="BackgrounDRb" /><category term="IE" /><category term="Patterns" /><category term="Bluepill" /><title>TeamCo AntHill</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://teamco-anthill.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>648</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TeamcoAnthill" /><feedburner:info uri="teamcoanthill" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEcMQXo4cCp7ImA9WhRUFkU.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-5793646657716314994</id><published>2012-01-27T09:41:00.001-08:00</published><updated>2012-01-27T09:41:20.438-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-27T09:41:20.438-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Enyo" /><title>Enyo</title><content type="html">&lt;br /&gt;
&lt;div style="color: #414f60; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;
Enyo is an open source object-oriented JavaScript framework emphasizing encapsulation and modularity. Enyo contains everything you need to create a fast, scalable mobile or web application:&lt;/div&gt;
&lt;ul style="color: #414f60; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px;"&gt;
&lt;li&gt;&lt;div class="importantStuff" style="color: #212b38; display: inline; font-weight: bold;"&gt;
Built from the ground-up for mobile first&lt;/div&gt;
&amp;nbsp;- Enyo powers webOS, and was designed from the beginning to be fast and work great on mobile devices&lt;/li&gt;
&lt;li&gt;&lt;div class="importantStuff" style="color: #212b38; display: inline; font-weight: bold;"&gt;
Now available for desktop and cross-browser development&lt;/div&gt;
&amp;nbsp;- Enyo 2.0 now runs across mobile environments and desktop browsers including Chrome, Firefox, and Internet Explorer&lt;/li&gt;
&lt;li&gt;&lt;div class="importantStuff" style="color: #212b38; display: inline; font-weight: bold;"&gt;
Highly customizable and extensible&lt;/div&gt;
&amp;nbsp;- Enyo core can be expanded with modules, UI widgets, and more&lt;/li&gt;
&lt;li&gt;&lt;div class="importantStuff" style="color: #212b38; display: inline; font-weight: bold;"&gt;
Lightweight and fast&lt;/div&gt;
&amp;nbsp;- Enyo 2.0 core is about 13KB gzipped, and built for fast application rendering and performance&lt;/li&gt;
&lt;li&gt;&lt;div class="importantStuff" style="color: #212b38; display: inline; font-weight: bold;"&gt;
Simple, self-contained, and easy to digest&lt;/div&gt;
&amp;nbsp;- Build increasingly complex functionality starting with simple, reusable components&lt;/li&gt;
&lt;li&gt;&lt;div class="importantStuff" style="color: #212b38; display: inline; font-weight: bold;"&gt;
Built to scale&lt;/div&gt;
&amp;nbsp;- Enyo was created on the principles needed to build vast, complex mobile and web applications&lt;/li&gt;
&lt;li&gt;&lt;div class="importantStuff" style="color: #212b38; display: inline; font-weight: bold;"&gt;
Open Source&lt;/div&gt;
&amp;nbsp;- Enyo is available under the&amp;nbsp;&lt;a href="http://enyojs.com/?utm_source=javascriptweekly&amp;amp;utm_medium=email#license" style="color: #174c8f; text-decoration: none;"&gt;Apache License, Version 2.0&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;a href="http://enyojs.com/"&gt;http://enyojs.com&lt;/a&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-5793646657716314994?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/35nSlIvYrPNdwWhpD_54Tbc7WKM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/35nSlIvYrPNdwWhpD_54Tbc7WKM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/35nSlIvYrPNdwWhpD_54Tbc7WKM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/35nSlIvYrPNdwWhpD_54Tbc7WKM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/5793646657716314994/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=5793646657716314994" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/5793646657716314994?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/5793646657716314994?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/rVDSlUt6jPQ/enyo.html" title="Enyo" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/enyo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUANRHs8eCp7ImA9WhRVE00.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-1242856050673325133</id><published>2012-01-11T09:42:00.001-08:00</published><updated>2012-01-11T09:43:15.570-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-11T09:43:15.570-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="html 5" /><category scheme="http://www.blogger.com/atom/ns#" term="Canvas" /><title>Pure javascript / HTML5 canvas bilinear image interpolation</title><content type="html">&lt;span style="background-color: white; color: #3e4349; font-family: Georgia, serif; font-size: 17px; line-height: 23px;"&gt;This code is written to be easy to read, there’s plenty of room for optimization. First, the inner function call in the inner part of the two-levels pixel processing loop is probably a performance killer.&lt;/span&gt;
&lt;br /&gt;
&lt;a href="http://www.philou.ch/pic/fear_makes_the_wolf_look_bigger.jpg"&gt;http://www.philou.ch/pic/fear_makes_the_wolf_look_bigger.jpg&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.philou.ch/playground.html"&gt;http://www.philou.ch/playground.html&lt;/a&gt;

&lt;br /&gt;
&lt;span style="color: #3e4349; font-family: Georgia, serif;"&gt;&lt;span style="font-size: 17px; line-height: 23px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.philou.ch/js-bilinear-interpolation.html"&gt;http://www.philou.ch/js-bilinear-interpolation.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-1242856050673325133?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/G8JAjGdoaeDkYzxxZxGmrMGegFo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G8JAjGdoaeDkYzxxZxGmrMGegFo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/G8JAjGdoaeDkYzxxZxGmrMGegFo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G8JAjGdoaeDkYzxxZxGmrMGegFo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/1242856050673325133/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=1242856050673325133" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1242856050673325133?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1242856050673325133?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/Uow3X7rhCz4/pure-javascript-html5-canvas-bilinear.html" title="Pure javascript / HTML5 canvas bilinear image interpolation" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/pure-javascript-html5-canvas-bilinear.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUINQX87eip7ImA9WhRVE00.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-514864903696680117</id><published>2012-01-11T09:38:00.000-08:00</published><updated>2012-01-11T09:39:50.102-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-11T09:39:50.102-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Template" /><category scheme="http://www.blogger.com/atom/ns#" term="Skeleton" /><category scheme="http://www.blogger.com/atom/ns#" term="css" /><title>A Beautiful Boilerplate for Responsive, Mobile-Friendly Development</title><content type="html">&lt;b&gt;What Is It?&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
Skeleton is a small collection of CSS &amp;amp; JS files that can help you rapidly develop sites that look beautiful at any size, be it a 17" laptop screen or an iPhone. Skeleton is built on three core principles:&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://getskeleton.com/documentation-assets/images/responsive.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="responsive" border="0" src="http://getskeleton.com/documentation-assets/images/responsive.jpg" /&gt;&lt;/a&gt;&lt;b&gt;Responsive Grid Down To Mobile&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Skeleton has a familiar, lightweight 960 grid as its base, but elegantly scales down to downsized browser windows, tablets, mobile phones (in landscape and portrait). Go ahead, resize this page!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://getskeleton.com/documentation-assets/images/fast.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="responsive" border="0" src="http://getskeleton.com/documentation-assets/images/fast.jpg" /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;&lt;b&gt;Fast to Start&lt;/b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;
&lt;/b&gt;Skeleton is a tool for rapid development. Get started fast with CSS best practices, a well-structured grid that makes mobile consideration easy, an organized file structure and super basic UI elements like lightly styled forms, buttons, tabs and more.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://getskeleton.com/documentation-assets/images/foundation.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="responsive" border="0" src="http://getskeleton.com/documentation-assets/images/foundation.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Style Agnostic&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Skeleton is not a UI framework. It's a development kit that provides the most basic styles as a foundation, but is ready to adopt whatever your design or style is.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://getskeleton.com/"&gt;http://getskeleton.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-514864903696680117?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XY60Xn6gl0NkpnJ8WJhZlMfU5rU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XY60Xn6gl0NkpnJ8WJhZlMfU5rU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XY60Xn6gl0NkpnJ8WJhZlMfU5rU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XY60Xn6gl0NkpnJ8WJhZlMfU5rU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/514864903696680117/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=514864903696680117" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/514864903696680117?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/514864903696680117?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/Ey_WgsCyWtY/beautiful-boilerplate-for-responsive.html" title="A Beautiful Boilerplate for Responsive, Mobile-Friendly Development" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/beautiful-boilerplate-for-responsive.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYDRnwyfSp7ImA9WhRVE00.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-1204361953828289486</id><published>2012-01-11T09:32:00.000-08:00</published><updated>2012-01-11T09:32:57.295-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-11T09:32:57.295-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Cross Browser" /><category scheme="http://www.blogger.com/atom/ns#" term="html 5" /><category scheme="http://www.blogger.com/atom/ns#" term="Progress bar" /><title>Cross Browser HTML5 Progress Bars In Depth</title><content type="html">&lt;span style="background-color: white; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;As a web application developer,&lt;/span&gt;&lt;strong style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;nbsp;progress bars are great when you want to show the user that some action is happening,&lt;/strong&gt;&lt;span style="background-color: white; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;&amp;nbsp;especially when it can take a long time. They can be&amp;nbsp;&lt;/span&gt;&lt;strong style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;animated&lt;/strong&gt;&lt;span style="background-color: white; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;&amp;nbsp;(like the one in Gmail does when it shows the user how long it is going to take for it to load and initialize),&amp;nbsp;&lt;/span&gt;&lt;strong style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;or static&lt;/strong&gt;&lt;span style="background-color: white; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;&amp;nbsp;(like some shopping cart applications have to show the user how many pages it will take to check out an order). I used to&amp;nbsp;&lt;/span&gt;&lt;a href="http://css-tricks.com/css3-progress-bars/" style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #4c7864; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;create progress bars using&amp;nbsp;&lt;code style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: CPMono_v07Plain, 'Courier New', monospace; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;/code&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;a href="http://css-tricks.com/css3-progress-bars/" style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #4c7864; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&amp;nbsp;tags, CSS and a litle bit of math&lt;/a&gt;&lt;span style="background-color: white; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;, but now I like to do it the HTML5 way using the&amp;nbsp;&lt;/span&gt;&lt;code style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #330000; font-family: CPMono_v07Plain, 'Courier New', monospace; font-size: 14px; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;progress&gt;&lt;/progress&gt;&lt;/code&gt;&lt;span style="background-color: white; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;&amp;nbsp;tag. This article will discuss&amp;nbsp;&lt;/span&gt;&lt;strong style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;how this tag is rendered by default&lt;/strong&gt;&lt;span style="background-color: white; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;&amp;nbsp;in all operating systems and browsers and how to&amp;nbsp;&lt;/span&gt;&lt;strong style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;style the&amp;nbsp;&lt;code style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #330000; font-family: CPMono_v07Plain, 'Courier New', monospace; font-weight: inherit; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;progress&lt;/code&gt;&amp;nbsp;tag with CSS&lt;/strong&gt;&lt;span style="background-color: white; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;, even in browsers that don’t officially support the it. It will also discuss some interesting&lt;/span&gt;&lt;strong style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;limitations of all the browser implementations&lt;/strong&gt;&lt;span style="background-color: white; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"&gt;&amp;nbsp;amd show some&amp;nbsp;&lt;/span&gt;&lt;strong style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;interesting examples using advanced CSS3 techniques.&lt;/strong&gt;
&lt;br /&gt;
&lt;strong style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span style="background-color: white; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: DroidSans, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://www.useragentman.com/blog/2012/01/03/cross-browser-html5-progress-bars-in-depth"&gt;http://www.useragentman.com/blog/2012/01/03/cross-browser-html5-progress-bars-in-depth&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-1204361953828289486?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QHT2En-8quQvd33QZ9gvMEVrDL8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QHT2En-8quQvd33QZ9gvMEVrDL8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QHT2En-8quQvd33QZ9gvMEVrDL8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QHT2En-8quQvd33QZ9gvMEVrDL8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/1204361953828289486/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=1204361953828289486" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1204361953828289486?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1204361953828289486?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/EUxZXIxefdQ/cross-browser-html5-progress-bars-in.html" title="Cross Browser HTML5 Progress Bars In Depth" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/cross-browser-html5-progress-bars-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4AR3c_fip7ImA9WhRVE00.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6702953822170504808</id><published>2012-01-11T09:28:00.001-08:00</published><updated>2012-01-11T09:29:06.946-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-11T09:29:06.946-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="html 5" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="PhoneGap" /><title>How to create HTML5 applications on Windows Phone thanks to PhoneGap</title><content type="html">&lt;br /&gt;
&lt;div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px; text-align: left;"&gt;
We will first see in this article what the added values of PhoneGap for HTML5 applications are. We’ll then discover how to create our very first project where we will retrieve the accelerometer’s values from our JavaScript code. At last, we will review a complete HTML5 gaming sample almost ported as-is to PhoneGap to use the accelerometer available on the Windows Phones.&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;ol style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px; text-align: left;"&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davrous/archive/2011/12/23/tutorial-how-to-create-html5-applications-on-windows-phone-thanks-to-phonegap.aspx?utm_source=html5weekly&amp;amp;utm_medium=email#introduction" style="color: #0066dd; cursor: pointer; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davrous/archive/2011/12/23/tutorial-how-to-create-html5-applications-on-windows-phone-thanks-to-phonegap.aspx?utm_source=html5weekly&amp;amp;utm_medium=email#phonegap" style="color: #0066dd; cursor: pointer; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;PhoneGap: a framework filling the gap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davrous/archive/2011/12/23/tutorial-how-to-create-html5-applications-on-windows-phone-thanks-to-phonegap.aspx?utm_source=html5weekly&amp;amp;utm_medium=email#firstproject" style="color: #0066dd; cursor: pointer; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;Let’s create our first PhoneGap project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davrous/archive/2011/12/23/tutorial-how-to-create-html5-applications-on-windows-phone-thanks-to-phonegap.aspx?utm_source=html5weekly&amp;amp;utm_medium=email#accelero" style="color: #0066dd; cursor: pointer; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;Getting the accelerometer’s values from JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davrous/archive/2011/12/23/tutorial-how-to-create-html5-applications-on-windows-phone-thanks-to-phonegap.aspx?utm_source=html5weekly&amp;amp;utm_medium=email#html5platformer" style="color: #0066dd; cursor: pointer; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;Review of a complete sample with the HTML5 Platformer game&lt;/a&gt;&lt;ol style="list-style-type: lower-alpha;"&gt;
&lt;li&gt;Forcing the landscape orientation&lt;/li&gt;
&lt;li&gt;Handling various resolutions&lt;/li&gt;
&lt;li&gt;Loading the levels with calls to the file system instead of using XHR&lt;/li&gt;
&lt;li&gt;Modification of the gameplay to use the accelerometer&lt;/li&gt;
&lt;li&gt;Screenshots of the result and FPS on some phones&lt;/li&gt;
&lt;li&gt;Complete Visual Studio Solution to download&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davrous/archive/2011/12/23/tutorial-how-to-create-html5-applications-on-windows-phone-thanks-to-phonegap.aspx?utm_source=html5weekly&amp;amp;utm_medium=email#conclusion" style="color: #0066dd; cursor: pointer; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align: left;"&gt;
&lt;a href="http://blogs.msdn.com/b/davrous/archive/2011/12/23/tutorial-how-to-create-html5-applications-on-windows-phone-thanks-to-phonegap.aspx"&gt;http://blogs.msdn.com/b/davrous/archive/2011/12/23/tutorial-how-to-create-html5-applications-on-windows-phone-thanks-to-phonegap.aspx&lt;/a&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6702953822170504808?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eMMEfjl48kO6XEaTfJMfXUnWNDs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eMMEfjl48kO6XEaTfJMfXUnWNDs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eMMEfjl48kO6XEaTfJMfXUnWNDs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eMMEfjl48kO6XEaTfJMfXUnWNDs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6702953822170504808/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6702953822170504808" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6702953822170504808?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6702953822170504808?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/4adRzvjPAKs/tutorial-how-to-create-html5.html" title="How to create HTML5 applications on Windows Phone thanks to PhoneGap" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/tutorial-how-to-create-html5.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEENRXY6fCp7ImA9WhRWGEs.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-5454302148089134440</id><published>2012-01-06T08:18:00.000-08:00</published><updated>2012-01-06T08:18:14.814-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-06T08:18:14.814-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Bootstrap" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery UI" /><title>jQuery UI Bootstrap</title><content type="html">&lt;br /&gt;
&lt;h1 style="background-color: whitesmoke; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #404040; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 30px; line-height: 36px; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&amp;nbsp;&lt;small style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #bfbfbf; font-family: inherit; font-size: 18px; line-height: 1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;A Bootstrap-themed kickstart for jQuery UI widgets&lt;/small&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;small style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #bfbfbf; font-family: inherit; font-size: 18px; line-height: 1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="background-color: #fdf5d9; color: #404040; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px;"&gt;With this theme, not only do you get the ability to use Bootstrap-themed widgets, but you can now also use (most) of Twitter Bootstrap side-by-wide with it without components breaking visually.&lt;/span&gt;
&lt;/small&gt;&lt;/div&gt;
&lt;div&gt;
&lt;small style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #bfbfbf; font-family: inherit; font-size: 18px; line-height: 1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span style="background-color: #fdf5d9; color: #404040; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/small&gt;&lt;/div&gt;
&lt;div&gt;
&lt;small style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #bfbfbf; font-family: inherit; font-size: 18px; line-height: 1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://addyosmani.github.com/jquery-ui-bootstrap"&gt;http://addyosmani.github.com/jquery-ui-bootstrap&lt;/a&gt;
&lt;/small&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-5454302148089134440?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QT8yj-RzlokGVYAcp_b52Gx0GZ8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QT8yj-RzlokGVYAcp_b52Gx0GZ8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QT8yj-RzlokGVYAcp_b52Gx0GZ8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QT8yj-RzlokGVYAcp_b52Gx0GZ8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/5454302148089134440/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=5454302148089134440" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/5454302148089134440?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/5454302148089134440?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/BEod6dddP8s/jquery-ui-bootstrap.html" title="jQuery UI Bootstrap" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/jquery-ui-bootstrap.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEABQH8_fyp7ImA9WhRWGEs.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6338869067261205325</id><published>2012-01-06T08:14:00.001-08:00</published><updated>2012-01-06T08:19:11.147-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-06T08:19:11.147-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="OOP" /><title>Understanding JavaScript OOP</title><content type="html">&lt;span style="background-color: white; color: #555555; font-family: 'DejaVu serif', Constantia, serif; font-size: 18px; line-height: 1.4em; text-align: left;"&gt;JavaScript is an object oriented (OO) language, with its roots in the&amp;nbsp;&lt;/span&gt;&lt;a href="http://selflanguage.org/" style="-webkit-transition-duration: 0.3s; -webkit-transition-property: all; -webkit-transition-timing-function: ease-out; background-color: white; color: #336699; font-family: 'DejaVu serif', Constantia, serif; font-size: 18px; line-height: 1.4em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none;"&gt;Self&lt;/a&gt;&lt;span style="background-color: white; color: #555555; font-family: 'DejaVu serif', Constantia, serif; font-size: 18px; line-height: 1.4em; text-align: left;"&gt;&amp;nbsp;programming language, although it's (sadly) designed to look like Java. This makes the language's really powerful and sweet features stay covered by some pretty ugly and counter-intuitive&amp;nbsp;&lt;/span&gt;&lt;i style="background-color: white; color: #555555; font-family: 'DejaVu serif', Constantia, serif; font-size: 18px; line-height: 1.4em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;"&gt;work-arounds&lt;/i&gt;&lt;span style="background-color: white; color: #555555; font-family: 'DejaVu serif', Constantia, serif; font-size: 18px; line-height: 1.4em; text-align: left;"&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;div style="background-color: white; color: #555555; font-family: 'DejaVu serif', Constantia, serif; font-size: 18px; line-height: 1.4em; margin-bottom: 1.5em; margin-top: 1.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;"&gt;
One such affected feature is the implementation of prototypical inheritance. The concepts are simple yet flexible and powerful. It makes inheritance and behaviourism first-class citizens, just like functions are first-class in functional-ish languages (JavaScript included).&lt;/div&gt;
&lt;div style="background-color: white; color: #555555; font-family: 'DejaVu serif', Constantia, serif; font-size: 18px; line-height: 1.4em; margin-bottom: 1.5em; margin-top: 1.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;"&gt;
Fortunately,&amp;nbsp;&lt;a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm" style="-webkit-transition-duration: 0.3s; -webkit-transition-property: all; -webkit-transition-timing-function: ease-out; color: #336699; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;ECMAScript 5&lt;/a&gt;&amp;nbsp;has gotten plenty of things to move the language in the right way, and it's on those sweet features that this article will expand.&amp;nbsp;&lt;/div&gt;
&lt;div style="background-color: white; color: #555555; font-family: 'DejaVu serif', Constantia, serif; font-size: 18px; line-height: 1.4em; margin-bottom: 1.5em; margin-top: 1.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;"&gt;
It's important to note, though, that this article assumes you have knowledge over other basic JavaScript functionality, like functions (including the concepts of closures and first-class functions), primitive values, operators and such.&lt;/div&gt;
&lt;div style="background-color: white; color: #555555; font-family: 'DejaVu serif', Constantia, serif; font-size: 18px; line-height: 1.4em; margin-bottom: 1.5em; margin-top: 1.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;"&gt;
&lt;a href="http://killdream.github.com/blog/2011/10/understanding-javascript-oop/index.html"&gt;http://killdream.github.com/blog/2011/10/understanding-javascript-oop/index.html&lt;/a&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6338869067261205325?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FuZHY9xGfbdpaKBHV5tRW2miJ4Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FuZHY9xGfbdpaKBHV5tRW2miJ4Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FuZHY9xGfbdpaKBHV5tRW2miJ4Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FuZHY9xGfbdpaKBHV5tRW2miJ4Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6338869067261205325/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6338869067261205325" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6338869067261205325?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6338869067261205325?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/N4f17us_JoQ/understanding-javascript-oop.html" title="Understanding JavaScript OOP" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/understanding-javascript-oop.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIDQXY-fCp7ImA9WhRWGEs.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6735914101934166330</id><published>2012-01-06T07:26:00.000-08:00</published><updated>2012-01-06T07:26:10.854-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-06T07:26:10.854-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CSSLint" /><title>CSSLint</title><content type="html">&lt;span style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 20px;"&gt;CSSLint is a tool to help point out problems with your CSS code. It does basic syntax checking as well as applying a set of rules to the code that look for problematic patterns or signs of inefficiency. The rules are all pluggable, so you can easily write your own or omit ones you don't want.&lt;/span&gt;
&lt;br /&gt;
&lt;span style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="https://github.com/stubbornella/csslint"&gt;https://github.com/stubbornella/csslint&lt;/a&gt;&lt;br /&gt;&lt;a href="http://csslint.net/"&gt;http://csslint.net/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6735914101934166330?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OUkb-bG0QxRDlyOZI67vpM_tIs4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OUkb-bG0QxRDlyOZI67vpM_tIs4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OUkb-bG0QxRDlyOZI67vpM_tIs4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OUkb-bG0QxRDlyOZI67vpM_tIs4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6735914101934166330/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6735914101934166330" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6735914101934166330?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6735914101934166330?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/F2gMMTAmFMU/csslint.html" title="CSSLint" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/csslint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIFSXk6fSp7ImA9WhRWGEs.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-2321934280013109490</id><published>2012-01-06T07:25:00.000-08:00</published><updated>2012-01-06T07:25:18.715-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-06T07:25:18.715-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DOM Monster" /><title>DOM Monster</title><content type="html">&lt;div style="color: #444444; font-family: 'Lucida Grande', Verdana, sans-serif; font-size: 14px; line-height: 20px;"&gt;
&lt;b&gt;DOM Monster&lt;/b&gt;&amp;nbsp;is our answer to JavaScript performance tools that just don't give you the full picture.&lt;/div&gt;
&lt;div style="color: #444444; font-family: 'Lucida Grande', Verdana, sans-serif; font-size: 14px; line-height: 20px;"&gt;
&lt;b&gt;DOM Monster&lt;/b&gt;&amp;nbsp;is a cross-platform, cross-browser bookmarklet that will analyze the DOM &amp;amp; other features of the page you're on, and give you its bill of health.&lt;/div&gt;
&lt;div style="color: #444444; font-family: 'Lucida Grande', Verdana, sans-serif; font-size: 14px; line-height: 20px;"&gt;
If there are problems,&amp;nbsp;&lt;b&gt;DOM Monster&lt;/b&gt;&amp;nbsp;will point them out—and even make suggestions on how to fix 'em.&lt;/div&gt;
&lt;div class="important" style="color: #5d2a10; font-family: 'Lucida Grande', Verdana, sans-serif; font-size: 17px; line-height: 21px;"&gt;
Drag the&amp;nbsp;&lt;a class="bookmarklet" href="http://mir.aculo.us/dom-monster/" style="background-attachment: initial; background-clip: initial; background-color: #5d2a10; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; color: white; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;DOM Monster!&lt;/a&gt;&amp;nbsp;to your bookmarks bar!&lt;/div&gt;
&lt;div style="color: #444444; font-family: 'Lucida Grande', Verdana, sans-serif; font-size: 14px; line-height: 20px;"&gt;
DOM Monster! is the brainchild of&amp;nbsp;&lt;a href="http://unicornfree.com/" style="color: #5d2a10;"&gt;Amy Hoy&lt;/a&gt;&amp;nbsp;and was programmed by&lt;a href="http://mir.aculo.us/" style="color: #5d2a10;"&gt;Thomas Fuchs&lt;/a&gt;.&lt;/div&gt;
&lt;div style="color: #444444; font-family: 'Lucida Grande', Verdana, sans-serif; font-size: 14px; line-height: 20px;"&gt;
&lt;em style="font-style: normal; font-weight: bold;"&gt;We'll keep the DOM Monster! up to date&lt;/em&gt;&amp;nbsp;and feed it with the latest in page analyzing features for you!&amp;nbsp;&lt;em style="font-style: normal; font-weight: bold;"&gt;You don't have to update or reinstall&lt;/em&gt;&amp;nbsp;the bookmarklet to always get the latest and greatest version! Be sure to drag the DOM Monster! to your bookmarks bar in&amp;nbsp;&lt;em style="font-style: normal; font-weight: bold;"&gt;all browsers&lt;/em&gt;&amp;nbsp;you want to test in!&lt;/div&gt;
&lt;div style="color: #444444; font-family: 'Lucida Grande', Verdana, sans-serif; font-size: 14px; line-height: 20px;"&gt;
&lt;em style="font-style: normal; font-weight: bold;"&gt;The DOM Monster is open source.&lt;/em&gt;&amp;nbsp;Contribute your own tips and tests. Visit the&amp;nbsp;&lt;a href="http://github.com/madrobby/dom-monster" style="color: #5d2a10;"&gt;DOM Monster repository on GitHub&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://mir.aculo.us/dom-monster/"&gt;http://mir.aculo.us/dom-monster/&lt;/a&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-2321934280013109490?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_s9_JYwtaVyHfFBH7Q2v_43vOmo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_s9_JYwtaVyHfFBH7Q2v_43vOmo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_s9_JYwtaVyHfFBH7Q2v_43vOmo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_s9_JYwtaVyHfFBH7Q2v_43vOmo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/2321934280013109490/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=2321934280013109490" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2321934280013109490?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2321934280013109490?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/dbvTmvapDs8/dom-monster.html" title="DOM Monster" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/dom-monster.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUGSX4_eyp7ImA9WhRWFkQ.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-53208912796190392</id><published>2012-01-04T07:17:00.000-08:00</published><updated>2012-01-04T07:17:08.043-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-04T07:17:08.043-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="syze" /><category scheme="http://www.blogger.com/atom/ns#" term="css" /><title>syze</title><content type="html">&lt;br /&gt;
&lt;div class="doc-head" style="background-attachment: initial; background-clip: initial; background-color: whitesmoke; background-image: -webkit-linear-gradient(top, rgb(255, 255, 255), rgb(245, 245, 245)); background-origin: initial; border-bottom-color: rgb(223, 223, 223); border-bottom-style: solid; border-bottom-width: 1px; font-family: Calibri, sans-serif; font-size: 16px; line-height: 24px; padding-bottom: 29px; padding-left: 10px; padding-right: 10px; padding-top: 0px;"&gt;
&lt;div class="doc-head-content" style="margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; max-width: 860px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; padding-top: 20px;"&gt;
&lt;subline style="display: block;"&gt;&lt;h2 style="font-size: 1.5em; line-height: 1.1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Think @media queries powered by Javascript&lt;/h2&gt;
&lt;/subline&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="doc-body" style="font-family: Calibri, sans-serif; font-size: 16px; line-height: 24px; padding-bottom: 0px; padding-left: 10px; padding-right: 10px; padding-top: 0px;"&gt;
&lt;div class="doc-body-content" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 1em 1em; border-bottom-right-radius: 1em 1em; border-top-left-radius: 1em 1em; border-top-right-radius: 1em 1em; box-shadow: rgb(221, 221, 221) 0px 0px 4px; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; max-width: 860px; padding-bottom: 20px; padding-left: 25px; padding-right: 25px; padding-top: 20px; position: relative; top: -2.25em;"&gt;
&lt;div style="margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em;"&gt;
&lt;strong&gt;syze&lt;/strong&gt;&amp;nbsp;is a library for JavaScript that lets you easily target your designs by device or browser sizes.&amp;nbsp;&lt;strong&gt;syze&lt;/strong&gt;&amp;nbsp;makes designing for desktops, televisions, tablets, and mobile devices simultaneously as easy as CSS.&amp;nbsp;&lt;strong&gt;syze&lt;/strong&gt;&amp;nbsp;works before page load so there is no flicker. Size can update on window resize and orientation change - it works cross-browser, cross-device, cross-library and is less than 1KB.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-53208912796190392?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O7GNctFFB-vQza5nWXd56QFmvxQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O7GNctFFB-vQza5nWXd56QFmvxQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O7GNctFFB-vQza5nWXd56QFmvxQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O7GNctFFB-vQza5nWXd56QFmvxQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/53208912796190392/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=53208912796190392" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/53208912796190392?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/53208912796190392?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/lU6Awlaim98/syze.html" title="syze" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/syze.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04CSH48cSp7ImA9WhRWFkU.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6249770579588724167</id><published>2012-01-04T07:12:00.000-08:00</published><updated>2012-01-04T07:12:49.079-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-04T07:12:49.079-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="css3" /><category scheme="http://www.blogger.com/atom/ns#" term="presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="impress.js" /><title>impress.js</title><content type="html">&lt;span class="Apple-style-span" style="font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 20px;"&gt;It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 20px;"&gt;&lt;a href="https://github.com/bartaz/impress.js"&gt;https://github.com/bartaz/impress.js&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://bartaz.github.com/impress.js"&gt;http://bartaz.github.com/impress.js&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6249770579588724167?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kpuOmAiiXqem_iAPC-k1jRun0Yo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kpuOmAiiXqem_iAPC-k1jRun0Yo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kpuOmAiiXqem_iAPC-k1jRun0Yo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kpuOmAiiXqem_iAPC-k1jRun0Yo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6249770579588724167/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6249770579588724167" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6249770579588724167?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6249770579588724167?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/ZOp1c1Phgy4/impressjs.html" title="impress.js" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2012/01/impressjs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQFRXg9fCp7ImA9WhRXFUs.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6685383051641284486</id><published>2011-12-22T06:31:00.001-08:00</published><updated>2011-12-22T06:31:54.664-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-22T06:31:54.664-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Template" /><category scheme="http://www.blogger.com/atom/ns#" term="jQote2" /><title>jQote2</title><content type="html">&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 20px;"&gt;&lt;em&gt;jQote2&lt;/em&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 20px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 20px;"&gt;is the second major release of jQuery’s most powerful and versatile client-side templating engine. Version 2 now incorporates a faster and more accurate parsing/conversion part that does away with its predecessor’s shortcomings in escaping quotes and multiline support.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 20px;"&gt;&lt;a href="http://aefxx.com/jquery-plugins/jqote2/"&gt;http://aefxx.com/jquery-plugins/jqote2/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="https://github.com/aefxx/jQote2"&gt;https://github.com/aefxx/jQote2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6685383051641284486?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/smkBT4bcDF_YbhoOVZB-nNFK2L4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/smkBT4bcDF_YbhoOVZB-nNFK2L4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/smkBT4bcDF_YbhoOVZB-nNFK2L4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/smkBT4bcDF_YbhoOVZB-nNFK2L4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6685383051641284486/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6685383051641284486" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6685383051641284486?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6685383051641284486?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/oTS3DAwaZkY/jqote2.html" title="jQote2" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/jqote2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UFSHw8fip7ImA9WhRXFEo.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-5058569600210074227</id><published>2011-12-21T05:46:00.001-08:00</published><updated>2011-12-21T05:46:59.276-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-21T05:46:59.276-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Slanger" /><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="Redis" /><title>Slanger</title><content type="html">&lt;br /&gt;
&lt;div style="font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Slanger is an open source server implementation of the Pusher protocol written in Ruby. It is designed to scale horizontally across N nodes and to be agnostic as to which Slanger node a subscriber is connected to, i.e subscribers to the same channel are NOT required to be connected to the same Slanger node. Multiple Slanger nodes can sit behind a load balancer with no special configuration. In essence it was designed to be very easy to scale.&lt;/div&gt;
&lt;div style="font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Presence channel state is shared using Redis. Channels are lazily instantiated internally within a given Slanger node when the first subscriber connects. When a presence channel is instantiated within a Slanger node, it queries Redis for the global state across all nodes within the system for that channel, and then copies that state internally. Afterwards, when subscribers connect or disconnect the node publishes a presence message to all interested nodes, i.e. all nodes with at least one subscriber interested in the given channel.&lt;/div&gt;
&lt;div style="font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Slanger is smart enough to know if a new channel subscription belongs to the same user. It will not send presence messages to subscribers in this case. This happens when the user has multiple browser tabs open for example. Using a chat room backed by presence channels as a real example, one would not want "Barrington" to show up N times in the presence roster because Barrington is a retard and has the chat room open in N browser tabs.&lt;/div&gt;
&lt;div style="font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Slanger was designed to be highly available and partition tolerant with eventual consistency, which in practise is instantaneous.&lt;/div&gt;
&lt;div style="font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;a href="https://github.com/stevegraham/slanger"&gt;https://github.com/stevegraham/slanger&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-5058569600210074227?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hDg_bIFDL2PUu4UXcXnE-x_mLKc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hDg_bIFDL2PUu4UXcXnE-x_mLKc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hDg_bIFDL2PUu4UXcXnE-x_mLKc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hDg_bIFDL2PUu4UXcXnE-x_mLKc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/5058569600210074227/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=5058569600210074227" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/5058569600210074227?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/5058569600210074227?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/uMdt-uHjgJs/slanger.html" title="Slanger" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/slanger.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUDRX85cCp7ImA9WhRQGE0.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-138378531932549438</id><published>2011-12-13T10:51:00.000-08:00</published><updated>2011-12-13T10:51:14.128-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-13T10:51:14.128-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><title>Programming With Nothing</title><content type="html">&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, sans-serif; font-size: 16px; font-style: italic; line-height: 24px;"&gt;Ruby is a powerful language, but how much power does it have if you remove all of its datatypes except for&amp;nbsp;&lt;/span&gt;&lt;code class=" language-ruby prettyprint" style="background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #3c3c3c; font-size: 16px; font-style: italic; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="typ" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #660066; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Proc&lt;/span&gt;&lt;/code&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, sans-serif; font-size: 16px; font-style: italic; line-height: 24px;"&gt;&amp;nbsp;and all of its features except for&amp;nbsp;&lt;/span&gt;&lt;code class=" language-ruby prettyprint" style="background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #3c3c3c; font-size: 16px; font-style: italic; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="typ" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #660066; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Proc&lt;/span&gt;&lt;span class="pun" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #666600; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;.&lt;/span&gt;&lt;span class="kwd" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #000088; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;new&lt;/span&gt;&lt;/code&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, sans-serif; font-size: 16px; font-style: italic; line-height: 24px;"&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;code class=" language-ruby prettyprint" style="background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #3c3c3c; font-size: 16px; font-style: italic; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="typ" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #660066; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Proc&lt;/span&gt;&lt;span class="com" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #880000; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;#call&lt;/span&gt;&lt;/code&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;i&gt;?&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, sans-serif;"&gt;&lt;b&gt;Contents&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;
&lt;div&gt;
&lt;ul style="background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 1em; margin-left: 2em; margin-right: 2em; margin-top: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#ruining-ruby" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Ruining Ruby&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#thinking-procs" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Thinking procs&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#aiming-high" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Aiming high&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#numbers" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Numbers&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#booleans" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Booleans&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#predicates" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Predicates&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#numeric-operations" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Numeric operations&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#lists-briefly" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Lists, briefly&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#strings-briefly" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Strings, briefly&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#victory" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Victory&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#why" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Why?&lt;/a&gt;&lt;/li&gt;
&lt;li style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://experthuman.com/programming-with-nothing#epilogue" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Epilogue&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;a href="http://experthuman.com/programming-with-nothing"&gt;http://experthuman.com/programming-with-nothing&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-138378531932549438?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0heiVmr8p03wAkXKve9zuI1R5Fc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0heiVmr8p03wAkXKve9zuI1R5Fc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0heiVmr8p03wAkXKve9zuI1R5Fc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0heiVmr8p03wAkXKve9zuI1R5Fc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/138378531932549438/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=138378531932549438" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/138378531932549438?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/138378531932549438?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/8BeOV7mRwis/programming-with-nothing.html" title="Programming With Nothing" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/programming-with-nothing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8DR344fyp7ImA9WhRRGEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-7047637954871043309</id><published>2011-12-02T11:40:00.001-08:00</published><updated>2011-12-02T11:41:16.037-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T11:41:16.037-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="BREAKPOINTS.JS" /><title>BREAKPOINTS.JS</title><content type="html">Define breakpoints for your responsive design, and Breakpoints.js will fire custom events when the browser enters and/or exits that breakpoint.

Get it from &lt;a href="https://github.com/xoxco/breakpoints"&gt;Github&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://xoxco.com/projects/code/breakpoints/"&gt;http://xoxco.com/projects/code/breakpoints/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-7047637954871043309?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hXttwhYcN5BPBfc7J8XB26Ky6Bo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hXttwhYcN5BPBfc7J8XB26Ky6Bo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hXttwhYcN5BPBfc7J8XB26Ky6Bo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hXttwhYcN5BPBfc7J8XB26Ky6Bo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/7047637954871043309/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=7047637954871043309" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7047637954871043309?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7047637954871043309?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/r0pC4Pfbqg4/breakpointsjs.html" title="BREAKPOINTS.JS" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/breakpointsjs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkENSXc_eSp7ImA9WhRRGEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-719410129314518040</id><published>2011-12-02T11:37:00.001-08:00</published><updated>2011-12-02T11:38:18.941-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T11:38:18.941-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="HumaneJS" /><title>Humane JS</title><content type="html">A simple, modern, framework-independent, well-tested, unobtrusive, notification system. 
Utilizes CSS transitions when available, falls back to JS animation when not. Includes mobile support.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://wavded.github.com/humane-js"&gt;http://wavded.github.com/humane-js&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-719410129314518040?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-j4dtcT-ebnXo8Gfh654IBQaDgE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-j4dtcT-ebnXo8Gfh654IBQaDgE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-j4dtcT-ebnXo8Gfh654IBQaDgE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-j4dtcT-ebnXo8Gfh654IBQaDgE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/719410129314518040/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=719410129314518040" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/719410129314518040?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/719410129314518040?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/V3JKGS3y6MY/humane-js.html" title="Humane JS" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/humane-js.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIGRX47eip7ImA9WhRRGEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6152098398934440593</id><published>2011-12-02T11:33:00.001-08:00</published><updated>2011-12-02T11:35:24.002-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T11:35:24.002-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="KeyboardJS" /><title>KeyboardJS</title><content type="html">&lt;b&gt;What is KeyboardJS?&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
KeyboardJS&lt;b&gt; &lt;/b&gt;is a library for binding to keys or key combos. Its available as an AMD module or a standard Library.&lt;br /&gt;
&lt;b&gt;Language Support&lt;/b&gt;&lt;br /&gt;
KeyboardJS is for binding to keyboards with the US character set. Adding other character sets is possible by editing the key code map variable named 'keys' in the module.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://robertwhurst.github.com/KeyboardJS"&gt;http://robertwhurst.github.com/KeyboardJS&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6152098398934440593?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7n37_HAz1jIXkVUzCNlaSzOVDP8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7n37_HAz1jIXkVUzCNlaSzOVDP8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7n37_HAz1jIXkVUzCNlaSzOVDP8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7n37_HAz1jIXkVUzCNlaSzOVDP8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6152098398934440593/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6152098398934440593" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6152098398934440593?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6152098398934440593?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/IGeUGuMwP_4/keyboardjs.html" title="KeyboardJS" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/keyboardjs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQBQ34-fyp7ImA9WhRRGEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-324979793527499148</id><published>2011-12-02T11:31:00.001-08:00</published><updated>2011-12-02T11:32:32.057-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T11:32:32.057-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="RequireJS" /><title>RequireJS</title><content type="html">RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino andNode. Using a modular script loader like RequireJS will improve the speed and quality of your code.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://requirejs.org/"&gt;http://requirejs.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-324979793527499148?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-h8ffI3RAbTAgxnKhcpvyBtyJKE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-h8ffI3RAbTAgxnKhcpvyBtyJKE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-h8ffI3RAbTAgxnKhcpvyBtyJKE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-h8ffI3RAbTAgxnKhcpvyBtyJKE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/324979793527499148/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=324979793527499148" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/324979793527499148?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/324979793527499148?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/vMN5MFdqgzs/requirejs.html" title="RequireJS" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/requirejs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYFQHYyfyp7ImA9WhRRGEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-9112355360311717697</id><published>2011-12-02T11:27:00.001-08:00</published><updated>2011-12-02T11:28:31.897-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T11:28:31.897-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><title>Principles of Writing Consistent, Idiomatic JavaScript</title><content type="html">&lt;br /&gt;
&lt;h2 style="background-color: #f8f8f8; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-color: rgb(224, 224, 224) !important; border-top-style: solid !important; border-top-width: 4px !important; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 20px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1.5em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0.5em !important;"&gt;
Important, Non-Idiomatic Stuff:&lt;/h2&gt;
&lt;h3 style="background-color: #f8f8f8; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; font-family: helvetica, arial, freesans, clean, sans-serif; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Code Quality: Awesome Tools, Resources &amp;amp; References&lt;/h3&gt;
&lt;ul style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; margin-bottom: 1em !important; margin-left: 2em !important; margin-right: 0px !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://jsperf.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;jsPerf&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://jsfiddle.net/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;jsFiddle&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://jsbin.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;jsbin&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://javascriptlint.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;JavaScript Lint (JSL)&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://jshint.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;jshint&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://jslint.org/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;jslint&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;a href="http://anton.kovalyov.net/slides/gothamjs/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Leveraging Code Quality Tools by Anton Kovalyov&lt;/a&gt;&lt;/div&gt;
&lt;h3 style="background-color: #f8f8f8; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; font-family: helvetica, arial, freesans, clean, sans-serif; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Get Smart&lt;/h3&gt;
&lt;div style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;a href="http://es5.github.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;&lt;/a&gt;&lt;a href="http://es5.github.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;http://es5.github.com/&lt;/a&gt;&lt;/div&gt;
&lt;div style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
The following should be considered 1) incomplete, and 2)&amp;nbsp;&lt;em style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;REQUIRED READING&lt;/em&gt;. I don't always agree with the style written by the authors below, but one thing is certain: They are consistent. Furthermore, these are authorities on the language.&lt;/div&gt;
&lt;ul style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; margin-bottom: 1em !important; margin-left: 2em !important; margin-right: 0px !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://eloquentjavascript.net/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Eloquent JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://javascriptweblog.wordpress.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;JavaScript, JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.rebeccamurphey.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Rebecca Murphey&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="http://rmurphey.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Adventures in JavaScript Development&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://perfectionkills.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Perfection Kills&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://www.crockford.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Douglas Crockford's Wrrrld Wide Web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style="background-color: #f8f8f8; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; font-family: helvetica, arial, freesans, clean, sans-serif; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Build &amp;amp; Deployment Process&lt;/h3&gt;
&lt;div style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Projects should always attempt to include some generic means by which source can be compressed in preparation for production use. Some popular and proven tools include the JavaScript-based&amp;nbsp;&lt;a href="https://github.com/mishoo/UglifyJS" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Uglify.js&lt;/a&gt;, as well as the Java-based&amp;nbsp;&lt;a href="http://code.google.com/closure/compiler/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Google Closure Compiler&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://developer.yahoo.com/yui/compressor/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;YUI Compressor&lt;/a&gt;. Choose one and support it.&lt;/div&gt;
&lt;div style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
You can now find a functional, generic "build kit" in the&amp;nbsp;&lt;code style="background-color: rgb(248, 248, 255) !important; border-bottom-color: rgb(222, 222, 222) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-color: rgb(222, 222, 222) !important; border-left-style: solid !important; border-left-width: 1px !important; border-right-color: rgb(222, 222, 222) !important; border-right-style: solid !important; border-right-width: 1px !important; border-top-color: rgb(222, 222, 222) !important; border-top-style: solid !important; border-top-width: 1px !important; color: rgb(68, 68, 68) !important; font-size: 12px !important; font: normal normal normal 12px/normal 'Bitstream Vera Sans Mono', Courier, monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px !important; padding-left: 0.2em !important; padding-right: 0.2em !important; padding-top: 0px !important;"&gt;/kits&lt;/code&gt;&amp;nbsp;directory of this repository. Usage is easy: 1) copy the contents of a kit found in&amp;nbsp;&lt;code style="background-color: rgb(248, 248, 255) !important; border-bottom-color: rgb(222, 222, 222) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-color: rgb(222, 222, 222) !important; border-left-style: solid !important; border-left-width: 1px !important; border-right-color: rgb(222, 222, 222) !important; border-right-style: solid !important; border-right-width: 1px !important; border-top-color: rgb(222, 222, 222) !important; border-top-style: solid !important; border-top-width: 1px !important; color: rgb(68, 68, 68) !important; font-size: 12px !important; font: normal normal normal 12px/normal 'Bitstream Vera Sans Mono', Courier, monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px !important; padding-left: 0.2em !important; padding-right: 0.2em !important; padding-top: 0px !important;"&gt;/kits&lt;/code&gt;&amp;nbsp;to a new working directory, 2) save your project .js file in the&amp;nbsp;&lt;code style="background-color: rgb(248, 248, 255) !important; border-bottom-color: rgb(222, 222, 222) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-color: rgb(222, 222, 222) !important; border-left-style: solid !important; border-left-width: 1px !important; border-right-color: rgb(222, 222, 222) !important; border-right-style: solid !important; border-right-width: 1px !important; border-top-color: rgb(222, 222, 222) !important; border-top-style: solid !important; border-top-width: 1px !important; color: rgb(68, 68, 68) !important; font-size: 12px !important; font: normal normal normal 12px/normal 'Bitstream Vera Sans Mono', Courier, monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px !important; padding-left: 0.2em !important; padding-right: 0.2em !important; padding-top: 0px !important;"&gt;/src&lt;/code&gt;&amp;nbsp;directory, 3) put the name of the project in&amp;nbsp;&lt;code style="background-color: rgb(248, 248, 255) !important; border-bottom-color: rgb(222, 222, 222) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-color: rgb(222, 222, 222) !important; border-left-style: solid !important; border-left-width: 1px !important; border-right-color: rgb(222, 222, 222) !important; border-right-style: solid !important; border-right-width: 1px !important; border-top-color: rgb(222, 222, 222) !important; border-top-style: solid !important; border-top-width: 1px !important; color: rgb(68, 68, 68) !important; font-size: 12px !important; font: normal normal normal 12px/normal 'Bitstream Vera Sans Mono', Courier, monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px !important; padding-left: 0.2em !important; padding-right: 0.2em !important; padding-top: 0px !important;"&gt;project.txt&lt;/code&gt;, 4) run&amp;nbsp;&lt;code style="background-color: rgb(248, 248, 255) !important; border-bottom-color: rgb(222, 222, 222) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-color: rgb(222, 222, 222) !important; border-left-style: solid !important; border-left-width: 1px !important; border-right-color: rgb(222, 222, 222) !important; border-right-style: solid !important; border-right-width: 1px !important; border-top-color: rgb(222, 222, 222) !important; border-top-style: solid !important; border-top-width: 1px !important; color: rgb(68, 68, 68) !important; font-size: 12px !important; font: normal normal normal 12px/normal 'Bitstream Vera Sans Mono', Courier, monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px !important; padding-left: 0.2em !important; padding-right: 0.2em !important; padding-top: 0px !important;"&gt;make&lt;/code&gt;&amp;nbsp;from command line. (Even easier directions: replace occurrences of "foo")&lt;/div&gt;
&lt;h3 style="background-color: #f8f8f8; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; font-family: helvetica, arial, freesans, clean, sans-serif; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Test Facility&lt;/h3&gt;
&lt;div style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 1.5em !important; margin-bottom: 1em !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
Projects&amp;nbsp;&lt;em style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;must&lt;/em&gt;&amp;nbsp;include some form of unit, reference, implementation or functional testing. Use case demos DO NOT QUALIFY as "tests".&lt;/div&gt;
&lt;ul style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; margin-bottom: 1em !important; margin-left: 2em !important; margin-right: 0px !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://github.com/jquery/qunit" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;QUnit&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/pivotal/jasmine" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Jasmine&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/cloudhead/vows" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Vows&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://hirojs.com/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Hiro&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://code.google.com/p/js-test-driver/" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;JsTestDriver&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style="background-color: #f8f8f8; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-color: rgb(224, 224, 224) !important; border-top-style: solid !important; border-top-width: 4px !important; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 20px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1.5em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0.5em !important;"&gt;
Table of Contents&lt;/h2&gt;
&lt;ul style="background-color: #f8f8f8; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; margin-bottom: 1em !important; margin-left: 2em !important; margin-right: 0px !important; margin-top: 1em !important; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js?utm_source=javascriptweekly&amp;amp;utm_medium=email#whitespace" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Whitespace&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js?utm_source=javascriptweekly&amp;amp;utm_medium=email#spacing" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Beautiful Syntax&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js?utm_source=javascriptweekly&amp;amp;utm_medium=email#type" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Type Checking (Courtesy jQuery Core Style Guidelines)&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js?utm_source=javascriptweekly&amp;amp;utm_medium=email#cond" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Conditional Evaluation&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js?utm_source=javascriptweekly&amp;amp;utm_medium=email#practical" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Practical Style&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js?utm_source=javascriptweekly&amp;amp;utm_medium=email#naming" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Naming&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js?utm_source=javascriptweekly&amp;amp;utm_medium=email#misc" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Misc&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js?utm_source=javascriptweekly&amp;amp;utm_medium=email#native" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Native &amp;amp; Host Objects&lt;/a&gt;&lt;/li&gt;
&lt;li style="margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js?utm_source=javascriptweekly&amp;amp;utm_medium=email#comments" style="color: #4183c4; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"&gt;Comments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: helvetica, arial, freesans, clean, sans-serif; font-size: x-small;"&gt;&lt;a href="https://github.com/rwldrn/idiomatic.js"&gt;https://github.com/rwldrn/idiomatic.js&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-9112355360311717697?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/v8OfziM90n2OujiCbeL7LGgXwF0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v8OfziM90n2OujiCbeL7LGgXwF0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/v8OfziM90n2OujiCbeL7LGgXwF0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v8OfziM90n2OujiCbeL7LGgXwF0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/9112355360311717697/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=9112355360311717697" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/9112355360311717697?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/9112355360311717697?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/G7LXyy8LyQU/principles-of-writing-consistent.html" title="Principles of Writing Consistent, Idiomatic JavaScript" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/principles-of-writing-consistent.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4BRXY8fip7ImA9WhRRGEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6644462152795843008</id><published>2011-12-02T11:25:00.001-08:00</published><updated>2011-12-02T11:25:54.876-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T11:25:54.876-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><title>Efficient JavaScript</title><content type="html">&lt;br /&gt;
&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #111111; font-family: 'helvetica neue', helvetica-neue, helvetica, arial, sans-serif; font-size: 13px; line-height: 18px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
Traditionally, a Web page would not contain much scripting, or at least, not much that would affect the performance of that Web page. However, as Web pages become more like applications, the performance of scripts is having a bigger effect. With more and more applications being developed using Web technologies, improving the performance of scripts is becoming increasingly important.&lt;/div&gt;
&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #111111; font-family: 'helvetica neue', helvetica-neue, helvetica, arial, sans-serif; font-size: 13px; line-height: 18px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
With a desktop application, a compiler is normally used to convert the source into the final binary. The compiler can take its time, and optimize as much as possible for good performance of the final application. Web applications do not have that luxury. Since they need to run on multiple browsers, platforms, and architectures, they cannot be completely precompiled. The browser has to do the interpretation and compilation each time it retrieves a script, and yet the final application has to run as smoothly as a desktop application, and load quickly as well. It is expected to run on a large variety of devices, from an ordinary desktop computer, to a mobile phone.&lt;/div&gt;
&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #111111; font-family: 'helvetica neue', helvetica-neue, helvetica, arial, sans-serif; font-size: 13px; line-height: 18px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
Browsers are fairly good at achieving this, and Opera has one of the fastest scripting engines of any current browser. However, browsers do have their limits, and that is where the Web developer has to take over. Ensuring that a Web application runs as fast as possible can be a simple matter of trading one type of loop for another, making one combined style change instead of three, or adding only the script that will actually be used.&lt;/div&gt;
&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #111111; font-family: 'helvetica neue', helvetica-neue, helvetica, arial, sans-serif; font-size: 13px; line-height: 18px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
This article will show several simple changes that can be made to improve the performance of your Web applications. Areas covered will be ECMAScript - the core language used by JavaScript, DOM, and document loading.&lt;/div&gt;
&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #111111; font-family: 'helvetica neue', helvetica-neue, helvetica, arial, sans-serif; font-size: 13px; line-height: 18px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&lt;/div&gt;
&lt;h3 style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 20px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
ECMAScript&lt;/h3&gt;
&lt;ol style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em; margin-left: 1.5em; margin-right: 0px; margin-top: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#avoideval" style="color: #1096d5; text-decoration: none;"&gt;Avoid using&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;eval&lt;/code&gt;&amp;nbsp;or the&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;Function&lt;/code&gt;&amp;nbsp;constructor&lt;/a&gt;&lt;ol style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em; margin-left: 1.5em; margin-right: 0px; margin-top: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#rewriteeval" style="color: #1096d5; text-decoration: none;"&gt;Rewrite that&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;eval&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#usefunction" style="color: #1096d5; text-decoration: none;"&gt;If you want a function, use a function&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#avoidwith" style="color: #1096d5; text-decoration: none;"&gt;Avoid using&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;with&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#trycatch" style="color: #1096d5; text-decoration: none;"&gt;Don't use&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;try-catch-finally&lt;/code&gt;&amp;nbsp;inside performance-critical functions&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#isolate" style="color: #1096d5; text-decoration: none;"&gt;Isolate uses of&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;eval&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;with&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#avoidglobal" style="color: #1096d5; text-decoration: none;"&gt;Avoid using global variables&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#implicitconversion" style="color: #1096d5; text-decoration: none;"&gt;Beware of implicit object conversion&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#forin" style="color: #1096d5; text-decoration: none;"&gt;Avoid&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;for-in&lt;/code&gt;&amp;nbsp;in performance-critical functions&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#stringaccumulator" style="color: #1096d5; text-decoration: none;"&gt;Use strings accumulator-style&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#primitiveoperator" style="color: #1096d5; text-decoration: none;"&gt;Primitive operations can be faster than function calls&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#timeouts" style="color: #1096d5; text-decoration: none;"&gt;Pass functions, not strings, to&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;setTimeout()&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;setInterval()&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 20px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
DOM&lt;/h3&gt;
&lt;ol style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em; margin-left: 1.5em; margin-right: 0px; margin-top: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#reflow" style="color: #1096d5; text-decoration: none;"&gt;Repaint and reflow&lt;/a&gt;&lt;ol style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em; margin-left: 1.5em; margin-right: 0px; margin-top: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#minimumreflow" style="color: #1096d5; text-decoration: none;"&gt;Keeping the number of reflows to a minimum&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#minimalreflow" style="color: #1096d5; text-decoration: none;"&gt;Minimal reflow&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#modifyingtree" style="color: #1096d5; text-decoration: none;"&gt;Document tree modification&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#invisibleelement" style="color: #1096d5; text-decoration: none;"&gt;Modifying an invisible element&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#measuring" style="color: #1096d5; text-decoration: none;"&gt;Taking measurements&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#stylechanges" style="color: #1096d5; text-decoration: none;"&gt;Making several style changes at once&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#smoothspeed" style="color: #1096d5; text-decoration: none;"&gt;Trading smoothness for speed&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#manynodes" style="color: #1096d5; text-decoration: none;"&gt;Avoid inspecting large numbers of nodes&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#xpath" style="color: #1096d5; text-decoration: none;"&gt;Improve speed with XPath&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#traversemodify" style="color: #1096d5; text-decoration: none;"&gt;Avoid modifications while traversing the DOM&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#cachevalues" style="color: #1096d5; text-decoration: none;"&gt;Cache DOM values in script variables&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 16px; line-height: 20px; margin-bottom: 20px; margin-left: 0px; margin-right: 0px; margin-top: 20px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
Document loading&lt;/h3&gt;
&lt;ol style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 1em; margin-left: 1.5em; margin-right: 0px; margin-top: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=4#docreferences" style="color: #1096d5; text-decoration: none;"&gt;Avoid keeping alive references from one document to another&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=4#fasthistory" style="color: #1096d5; text-decoration: none;"&gt;Fast history navigation&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=4#xmlhttprequest" style="color: #1096d5; text-decoration: none;"&gt;Use XMLHttpRequest&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=4#dynamicscript" style="color: #1096d5; text-decoration: none;"&gt;Create SCRIPT elements dynamically&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=4#locationnreplace" style="color: #1096d5; text-decoration: none;"&gt;&lt;code style="font-family: 'Andale Mono', Courier, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', monospace;"&gt;location.replace()&lt;/code&gt;&amp;nbsp;keeps the history under control&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;a href="http://dev.opera.com/articles/view/efficient-javascript"&gt;http://dev.opera.com/articles/view/efficient-javascript&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6644462152795843008?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aq_yAw_IG1v7e0pAMm5tZKdDl7k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aq_yAw_IG1v7e0pAMm5tZKdDl7k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aq_yAw_IG1v7e0pAMm5tZKdDl7k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aq_yAw_IG1v7e0pAMm5tZKdDl7k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6644462152795843008/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6644462152795843008" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6644462152795843008?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6644462152795843008?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/esHPWq7xTk4/efficient-javascript.html" title="Efficient JavaScript" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/efficient-javascript.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAGRnk6fyp7ImA9WhRRF04.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-2891198699633207713</id><published>2011-12-01T03:22:00.001-08:00</published><updated>2011-12-01T03:25:27.717-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-01T03:25:27.717-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Chrome-Frame" /><category scheme="http://www.blogger.com/atom/ns#" term="IE" /><category scheme="http://www.blogger.com/atom/ns#" term="html 5" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Google Chrome Frame</title><content type="html">&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Enable open web technologies in Internet Explorer&lt;/b&gt;&lt;br /&gt;Google Chrome Frame is an open source plug-in that seamlessly brings Google Chrome's open web technologies and speedy JavaScript engine to Internet Explorer. With Google Chrome Frame, you can:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Start using open web technologies - like the HTML5 canvas tag - right away, even technologies that aren't yet supported in Internet Explorer 6, 7, 8, or 9.&lt;/li&gt;
&lt;li&gt;Take advantage of JavaScript performance improvements to make your apps faster and more responsive. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Get started with Google Chrome Frame&lt;/b&gt;&lt;br /&gt;Enabling Google Chrome Frame is simple. For most web pages, all you have to do is add a single tag to your pages and detect whether your users have installed Google Chrome Frame.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;If Google Chrome Frame is not installed, you can direct your users to an installation page. &lt;/li&gt;
&lt;li&gt;If Google Chrome Frame is installed, it detects the tag you added and works automatically.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;a href="http://code.google.com/chrome/chromeframe/"&gt;http://code.google.com/chrome/chromeframe/&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-2891198699633207713?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2hb82HUaJuYDVnVRrwLirTnmV5w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2hb82HUaJuYDVnVRrwLirTnmV5w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2hb82HUaJuYDVnVRrwLirTnmV5w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2hb82HUaJuYDVnVRrwLirTnmV5w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/2891198699633207713/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=2891198699633207713" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2891198699633207713?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2891198699633207713?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/G0VPUpYaUSE/google-chrome-frame.html" title="Google Chrome Frame" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/google-chrome-frame.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUMSHg9fCp7ImA9WhRRF04.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-9059866714683360662</id><published>2011-12-01T01:54:00.001-08:00</published><updated>2011-12-01T01:54:49.664-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-01T01:54:49.664-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="css3" /><category scheme="http://www.blogger.com/atom/ns#" term="Modernizr" /><category scheme="http://www.blogger.com/atom/ns#" term="html 5" /><title>Modernizr</title><content type="html">&lt;div class="intro"&gt;
&lt;strong&gt;Modernizr&lt;/strong&gt; is an open-source JavaScript library that helps you build the next generation of HTML5 and CSS3-powered websites.&lt;/div&gt;
&lt;h2&gt;
Why use Modernizr?&lt;/h2&gt;
Taking advantage of the new capabilities of HTML5 
and CSS3 can mean sacrificing control over the experience in 
older&amp;nbsp;browsers. Modernizr 2 is your starting point for making the best 
websites and applications that work exactly right no matter what browser
 or device your visitors use.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.modernizr.com/"&gt;http://www.modernizr.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-9059866714683360662?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mxezaMZvKYF0dkqiBqB4VnCweVs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mxezaMZvKYF0dkqiBqB4VnCweVs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mxezaMZvKYF0dkqiBqB4VnCweVs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mxezaMZvKYF0dkqiBqB4VnCweVs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/9059866714683360662/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=9059866714683360662" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/9059866714683360662?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/9059866714683360662?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/HJb05sgpKJ8/modernizr.html" title="Modernizr" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/12/modernizr.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04FQ38-eip7ImA9WhRREE4.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-7041838993670314704</id><published>2011-11-23T00:11:00.001-08:00</published><updated>2011-11-23T00:11:52.152-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-23T00:11:52.152-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="html 5" /><category scheme="http://www.blogger.com/atom/ns#" term="Reset" /><title>HTML5 Reset</title><content type="html">&lt;h2&gt;

Summary:&lt;/h2&gt;
HTML5 Reset is a simple set of best practices to get web projects off on the right foot.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;A style sheet designed to strip initial files from browsers, meaning you start off with a blank slate.&lt;/li&gt;
&lt;li&gt;Easy to customize -- remove whatever you don't need, keep what you do.&lt;/li&gt;
&lt;li&gt;Analytics and jQuery snippets in place&lt;/li&gt;
&lt;li&gt;Meta tags ready for population&lt;/li&gt;
&lt;li&gt;Empty mobile and print style sheets, including blocks for device orientation&lt;/li&gt;
&lt;li&gt;Modernizr.js &lt;a href="http://www.modernizr.com/"&gt;http://www.modernizr.com/&lt;/a&gt; enables HTML5 compatibility with IE (and a dozen other great features)&lt;/li&gt;
&lt;li&gt;IE-specific classes for simple CSS-targeting&lt;/li&gt;
&lt;li&gt;iPhone/iPad/iTouch icon snippets&lt;/li&gt;
&lt;li&gt;Lots of other keen stuff...&lt;/li&gt;
&lt;/ol&gt;
&lt;a href="http://html5reset.org/"&gt;http://html5reset.org&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://github.com/murtaugh/HTML5-Reset"&gt;https://github.com/murtaugh/HTML5-Reset&lt;/a&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-7041838993670314704?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/D6nHyjxtecNJ1amcoowCA7TdQ7g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D6nHyjxtecNJ1amcoowCA7TdQ7g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/D6nHyjxtecNJ1amcoowCA7TdQ7g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D6nHyjxtecNJ1amcoowCA7TdQ7g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/7041838993670314704/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=7041838993670314704" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7041838993670314704?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7041838993670314704?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/kA3USoDRGw8/html5-reset.html" title="HTML5 Reset" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/11/html5-reset.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cFRnc5fCp7ImA9WhRSFEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-4365990284641066557</id><published>2011-11-16T07:56:00.001-08:00</published><updated>2011-11-16T07:56:57.924-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-16T07:56:57.924-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Reference" /><category scheme="http://www.blogger.com/atom/ns#" term="Mozilla" /><category scheme="http://www.blogger.com/atom/ns#" term="css" /><title>CSS Reference</title><content type="html">This an alphabetical list of CSS features. If you are going to add or modify a page, please fit in with the template &lt;a href="https://developer.mozilla.org/en/CSS/CSS_Reference/Property_Template" rel="internal" title="en/CSS_Reference/Property_Template"&gt;CSS Reference:Property Template&lt;/a&gt; and modify as required. The basic template for example pages can be found here: &lt;a class="new internal" href="https://developer.mozilla.org/samples/cssref/TEMPLATE.html" rel="internal" title="https://developer.mozilla.org/samples/cssref/TEMPLATE.html"&gt;samples/cssref/TEMPLATE.html&lt;/a&gt;. Feel free to discuss any questions or suggestions on the &lt;a href="https://developer.mozilla.org/Talk:en/CSS/CSS_Reference" rel="internal" title="Talk:en/CSS_Reference"&gt;Talk:CSS Reference&lt;/a&gt; page.&lt;br /&gt;

See also &lt;a href="https://developer.mozilla.org/en/CSS/CSS_Reference/Mozilla_Extensions" rel="internal" title="en/CSS_Reference/Mozilla_Extensions"&gt;Mozilla CSS Extensions&lt;/a&gt; for Gecko-specific properties prefixed with &lt;code&gt;-moz-&lt;/code&gt;. See &lt;a class="external" href="http://peter.sh/experiments/vendor-prefixed-css-property-overview/" rel="external" target="_blank" title="http://peter.sh/experiments/vendor-prefixed-css-property-overview/"&gt;Vendor-prefixed CSS Property Overview&lt;/a&gt; by Peter&amp;nbsp;Beverloo for all prefixed properties.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://developer.mozilla.org/en/CSS/CSS_Reference"&gt;https://developer.mozilla.org/en/CSS/CSS_Reference&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-4365990284641066557?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2zzhD8hbkQrdlOodnTLCx2gwTuw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2zzhD8hbkQrdlOodnTLCx2gwTuw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2zzhD8hbkQrdlOodnTLCx2gwTuw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2zzhD8hbkQrdlOodnTLCx2gwTuw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/4365990284641066557/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=4365990284641066557" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/4365990284641066557?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/4365990284641066557?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/ws5HsANgZJM/css-reference.html" title="CSS Reference" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/11/css-reference.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4HQXk-eCp7ImA9WhRSFEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6000114795488630090</id><published>2011-11-16T07:55:00.001-08:00</published><updated>2011-11-16T07:55:30.750-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-16T07:55:30.750-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><title>Announcing Firefox Aurora 10</title><content type="html">In additional to the normal improvements that you’ve come to expect 
like performance, security and bug fixes, Aurora 10 focuses in &lt;a href="https://developer.mozilla.org/en/html/html5" title="HTML5"&gt;HTML5&lt;/a&gt; enhancements. &lt;br /&gt;

&lt;h2&gt;
New additions&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en/DOM/Using_the_Page_Visibility_API"&gt;HTML5 Visibility API &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en/DOM/document.createProcessingInstruction"&gt;createProcessingInstruction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en/WebGL" title="WebGL"&gt;WebGL&lt;/a&gt; antialiasing&lt;/li&gt;
&lt;li&gt;3D Transforms&lt;/li&gt;
&lt;li&gt;Visibility API&lt;/li&gt;
&lt;li&gt;Document.mozFullScreenEnabled&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Developer Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://wiki.mozilla.org/DevTools/Features/CodeEditor" title="DevTools/Features/CodeEditor"&gt;Code Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.mozilla.org/DevTools/Features/RulesView" title="DevTools/Features/RulesView"&gt;CSS Rules View&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.mozilla.org/DevTools/Features/Highlighter" title="DevTools/Features/Highlighter"&gt;Page Inspector/Highlighter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.mozilla.org/DevTools/Features/ConsoleObjectCompletion" title="DevTools/Features/ConsoleObjectCompletion"&gt;Console Object Completion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.mozilla.org/DevTools/Features/StyleInspector" title="DevTools/Features/StyleInspector"&gt;Style Inspector&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Aurora 10 also implements incremental enhancements like &lt;a href="https://developer.mozilla.org/en/IndexedDB" title="IndexedDB"&gt;IndexedDB&lt;/a&gt;
 setVersion API changes. Ongoing detailed attention to evolving 
specifications help to keep Firefox at the front of the Web revolution. 
(Read more about &lt;a href="https://developer.mozilla.org/en/IndexedDB/IndexedDB_primer"&gt;IndexedDB on MDN&lt;/a&gt;.)&lt;br /&gt;

&lt;h2&gt;
DOM&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We now fire a “load” event on stylesheet linking when the sheet load finishes or “error” if the load fails.&lt;/li&gt;
&lt;li&gt;We turn the POSTDATA prompt into an information page (when navigating in session history).&lt;/li&gt;
&lt;li&gt;We only forward event attributes on body/frameset to the window if we also forward the corresponding on* property.&lt;/li&gt;
&lt;li&gt;We no longer allow more than one call to window.open() when we allow popups.&lt;/li&gt;
&lt;li&gt;We fixed a bug where a success callback never fired when a position update is triggered after getCurrentPosition().&lt;/li&gt;
&lt;li&gt;We removed replaceWholeText().&lt;/li&gt;
&lt;li&gt;We fixed an error with createPattern(zero-size canvas).&lt;/li&gt;
&lt;li&gt;We now handle putImageData(nonfinite) correctly.&lt;/li&gt;
&lt;li&gt;We now throw INVALID_STATE_ERR when dispatching uninitialized events.&lt;/li&gt;
&lt;li&gt;We’ve made Document.documentURI readonly.&lt;/li&gt;
&lt;li&gt;We fixed document.importNode to comply with optional argument omitted.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Web workers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We now allow data URLs.&lt;/li&gt;
&lt;li&gt;We implemented event.stopImmediatePropagation in workers.&lt;/li&gt;
&lt;li&gt;We made XHR2 response/responseType work in Web Workers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Graphics&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We implement the WebGL OES_standard_derivatives extension.&lt;/li&gt;
&lt;li&gt;We implement minimal-capabilities WebGL mode.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
JavaScript&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The function caller property no longer skips over eval frames.&lt;/li&gt;
&lt;li&gt;We fixed E4X syntax so that it is not accepted in ES5 strict mode.&lt;/li&gt;
&lt;li&gt;weakmap.set no longer returns itself instead of undefined.&lt;/li&gt;
&lt;li&gt;We implemented the battery API.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Offline: IndexedDB enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;IndexedDB setVersion API changes&lt;/li&gt;
&lt;li&gt;Added support for IDBObjectStore/IDBIndex.count&lt;/li&gt;
&lt;li&gt;Various methods accept both keys and KeyRanges.&lt;/li&gt;
&lt;li&gt;Added support for IDBCursor.advance.&lt;/li&gt;
&lt;li&gt;Implemented deleteDatabase.&lt;/li&gt;
&lt;li&gt; objectStoreNames are no longer updated on closed databases when another connection adds or removes object stores&lt;/li&gt;
&lt;li&gt;IDBObjectStore.delete and IDBCursor.delete now return undefined.&lt;/li&gt;
&lt;li&gt;No longer throws an error if there are unknown properties in the options objects to createObjectStore/createIndex.&lt;/li&gt;
&lt;li&gt;We now the errorCode to “ABORT_ERR” for all pending requests when IDBTransaction.abort() is called.&lt;/li&gt;
&lt;li&gt;Fixed the sort order for indexes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Layout&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We have updated the current rule for handling malformed media queries.&lt;/li&gt;
&lt;li&gt;We now support the HTML5 &lt;bdi&gt; element and CSS property unicode-bidi: isolate.&lt;/bdi&gt;&lt;/li&gt;
&lt;li&gt;The CSS3 implementation now supports unicode-bidi: plaintext.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Media&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Implemented Document.mozFullScreenEnabled.&lt;/li&gt;
&lt;li&gt;Enabled the DOM full-screen API on desktop Firefox by default.&lt;/li&gt;
&lt;/ul&gt;
&lt;a href="http://hacks.mozilla.org/2011/11/announcing-firefox-aurora-10"&gt;http://hacks.mozilla.org/2011/11/announcing-firefox-aurora-10&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6000114795488630090?l=teamco-anthill.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ckTDNv5VlITpS8NDLDzAfS4EGqU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ckTDNv5VlITpS8NDLDzAfS4EGqU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ckTDNv5VlITpS8NDLDzAfS4EGqU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ckTDNv5VlITpS8NDLDzAfS4EGqU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6000114795488630090/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6000114795488630090" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6000114795488630090?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6000114795488630090?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/DYT22UrMXN0/announcing-firefox-aurora-10.html" title="Announcing Firefox Aurora 10" /><author><name>Vladimir Tkach</name><uri>https://profiles.google.com/112309442019476560804</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-WQo5wAMbnjA/AAAAAAAAAAI/AAAAAAAAZbQ/MH0IyXHE7qU/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2011/11/announcing-firefox-aurora-10.html</feedburner:origLink></entry></feed>

