<?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;A0EFSHc_eip7ImA9WhRUFko.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627</id><updated>2012-01-27T16:53:39.942+01:00</updated><category term="mobile" /><category term="webm" /><category term="mpaa" /><category term="astronomy" /><category term="html5" /><category term="web" /><category term="free" /><category term="latex" /><category term="jstools" /><category term="comic" /><category term="gwt" /><category term="textbook" /><category term="hosting" /><category term="flattr" /><category term="meta-data" /><category term="nature" /><category term="jsmyth" /><category term="lion" /><category term="dvd" /><category term="occupy" /><category term="thunderbolt" /><category term="chrome" /><category term="jsguide" /><category term="dzone" /><category term="jsengine" /><category term="firefox" /><category term="audio" /><category term="psychology" /><category term="travel" /><category term="iphone" /><category term="css" /><category term="universaljs" /><category term="git" /><category term="society" /><category term="light peak" /><category term="bookmarklet" /><category term="michael j. fox" /><category term="software engineering" /><category term="video" /><category term="app" /><category term="v8" /><category term="eclipse" /><category term="tv" /><category term="star trek" /><category term="ecmascript.next" /><category term="webdev" /><category term="facets" /><category term="safari" /><category term="humor" /><category term="winphone" /><category term="facebook" /><category term="home entertainment" /><category term="business" /><category term="meego" /><category term="java" /><category term="talk" /><category term="tizen" /><category term="hci" /><category term="security" /><category term="semantic web" /><category term="cloud" /><category term="ted" /><category term="gaming" /><category term="computers" /><category term="pdf" /><category term="vlc" /><category term="oracle" /><category term="info mgmt" /><category term="scifi-fantasy" /><category term="obama" /><category term="movie" /><category term="read" /><category term="windows 8" /><category term="android" /><category term="photo" /><category term="chromeos" /><category term="theora" /><category term="presenting" /><category term="german" /><category term="opinion" /><category term="intel" /><category term="software" /><category term="html" /><category term="mac" /><category term="dsl" /><category term="marketing" /><category term="design" /><category term="dev" /><category term="airbender" /><category term="fun" /><category term="architecture" /><category term="crowdsourcing" /><category term="blogging" /><category term="coffeescript" /><category term="journalism" /><category term="itunes" /><category term="hp" /><category term="web design" /><category term="google" /><category term="yahoo" /><category term="app store" /><category term="education" /><category term="media" /><category term="münchen" /><category term="futurama" /><category term="scitech" /><category term="pl fundamentals" /><category term="javascript" /><category term="2ality" /><category term="apple" /><category term="tablet" /><category term="ipad" /><category term="social" /><category term="environment" /><category term="gadget" /><category term="organizing" /><category term="fringe" /><category term="openoffice" /><category term="pixar" /><category term="hyena" /><category term="dart" /><category term="guice" /><category term="feedback" /><category term="nokia" /><category term="ios" /><category term="python" /><category term="leopard" /><category term="shell" /><category term="steve jobs" /><category term="amazon" /><category term="ecommerce" /><category term="browser" /><category term="macbook" /><category term="nodejs" /><category term="gimp" /><category term="layout" /><category term="facetator" /><category term="motorola" /><category term="programming languages" /><category term="thunderbird" /><category term="basic income" /><category term="hardware" /><category term="linux" /><category term="javafx" /><category term="hack" /><category term="math" /><category term="idea" /><category term="emacs" /><category term="law" /><category term="english" /><category term="internet explorer" /><category term="usb" /><category term="aol" /><category term="howto" /><category term="politics" /><category term="back to the future" /><category term="wwdc" /><category term="htc" /><category term="music" /><category term="h.264" /><category term="book" /><category term="samsung" /><category term="cross-platform" /><category term="googleplus" /><category term="life" /><category term="kindle" /><category term="fritzbox" /><category term="icloud" /><category term="bluetooth" /><category term="energy" /><category term="blogger" /><category term="angry birds" /><category term="voice control" /><category term="nike" /><category term="food" /><category term="unix" /><category term="webos" /><category term="twitter" /><category term="entertainment" /><category term="history" /><category term="house" /><category term="microsoft" /><category term="foreign languages" /><category term="mozilla" /><category term="traffic" /><category term="webapp" /><category term="series" /><category term="health" /><category term="clientjs" /><title>2ality - technology, life</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.2ality.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.2ality.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>701</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/2ality" /><feedburner:info uri="2ality" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A08GRn08eyp7ImA9WhRUFkg.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-8995535673068264548</id><published>2012-01-27T11:14:00.000+01:00</published><updated>2012-01-27T11:23:47.373+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-27T11:23:47.373+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><title>The increasing pervasiveness of JavaScript – a few historic milestones</title><content type="html">JavaScript is used in more and more places. It started out as a scripting language for web content and has migrated to many areas. This post presents the historic milestones of this process. Note: The milestones are about things that changed the public perception of what JavaScript could be used for. Some of these milestones would not have been possible without prior work by others. For example: Mozilla’s contributions in advancing the state of JavaScript cannot be overestimated. The following are the milestones, in chronological order:
&lt;a href="http://www.2ality.com/2012/01/javascript-pervasiveness.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-8995535673068264548?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/mf7xsrmq04A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/8995535673068264548/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=8995535673068264548" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8995535673068264548?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8995535673068264548?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/mf7xsrmq04A/javascript-pervasiveness.html" title="The increasing pervasiveness of JavaScript – a few historic milestones" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/javascript-pervasiveness.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEFQXY-eSp7ImA9WhRUE0w.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-1694860634770949550</id><published>2012-01-23T08:50:00.000+01:00</published><updated>2012-01-23T12:20:10.851+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-23T12:20:10.851+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="society" /><category scheme="http://www.blogger.com/atom/ns#" term="life" /><category scheme="http://www.blogger.com/atom/ns#" term="politics" /><category scheme="http://www.blogger.com/atom/ns#" term="mpaa" /><title>Remedies for SOPA causes (a greedy industry in decline, corrupt politics)</title><content type="html">This post examines two reasons for why a bill such as SOPA &lt;a class="ptr"&gt;[1]&lt;/a&gt; could come into being: First, Hollywood is a greedy industry in decline. Second, it wields significant power via corrupt politics.

&lt;a href="http://www.2ality.com/2012/01/sopa-causes.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-1694860634770949550?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/OOBkowAVIIE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/1694860634770949550/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=1694860634770949550" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/1694860634770949550?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/1694860634770949550?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/OOBkowAVIIE/sopa-causes.html" title="Remedies for SOPA causes (a greedy industry in decline, corrupt politics)" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-LqUbIbM9RP8/Tx0Myet4JMI/AAAAAAAAAko/1ttAtGCjMNA/s72-c/sopa-opera-count.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/sopa-causes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUCRH88fCp7ImA9WhRUEko.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-7902500370953362933</id><published>2012-01-22T16:00:00.000+01:00</published><updated>2012-01-22T23:11:05.174+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-22T23:11:05.174+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="jsmyth" /><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><title>JavaScript myth: JavaScript needs a standard bytecode</title><content type="html">The idea is obvious: Why not standardize the bytecode of the virtual machines (VMs) that JavaScript runs on? That would mean that JavaScript programs could be delivered as bytecode and thus would be smaller and start more quickly (after having been loaded). Additionally, it would seem to be easier to port other languages to web browsers, by targeting that bytecode. This post makes its case in two steps: First, it shows that bytecode has several disadvantages. Second, it explains that source code is not as bad a solution as it seems.

&lt;a href="http://www.2ality.com/2012/01/bytecode-myth.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-7902500370953362933?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/X31kuaVuoug" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/7902500370953362933/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=7902500370953362933" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/7902500370953362933?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/7902500370953362933?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/X31kuaVuoug/bytecode-myth.html" title="JavaScript myth: JavaScript needs a standard bytecode" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/bytecode-myth.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMFR34zfip7ImA9WhRUEEo.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-7546810349771839460</id><published>2012-01-20T16:10:00.004+01:00</published><updated>2012-01-20T16:30:16.086+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-20T16:30:16.086+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="computers" /><category scheme="http://www.blogger.com/atom/ns#" term="education" /><category scheme="http://www.blogger.com/atom/ns#" term="life" /><title>Apple and the online education revolution</title><content type="html">Yesterday’s Apple event on education reflects current trends in computerized learning. So what has Apple introduced?
&lt;a href="http://www.2ality.com/2012/01/apple-education.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-7546810349771839460?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/Q9hFXs9AAhI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/7546810349771839460/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=7546810349771839460" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/7546810349771839460?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/7546810349771839460?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/Q9hFXs9AAhI/apple-education.html" title="Apple and the online education revolution" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/apple-education.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUHSXs5eSp7ImA9WhRUEEQ.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-8754418829012701360</id><published>2012-01-20T05:24:00.002+01:00</published><updated>2012-01-20T22:17:18.521+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-20T22:17:18.521+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><title>What is JavaScript’s typeof operator used for?</title><content type="html">JavaScript’s &lt;tt&gt;typeof&lt;/tt&gt; is a complicated beast – it can be used for many things, but also has many quirks. This post lists its use cases, points out problems and presents alternatives.
&lt;a href="http://www.2ality.com/2012/01/typeof-use-cases.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-8754418829012701360?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/RG88eA2lZyo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/8754418829012701360/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=8754418829012701360" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8754418829012701360?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8754418829012701360?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/RG88eA2lZyo/typeof-use-cases.html" title="What is JavaScript’s typeof operator used for?" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>9</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/typeof-use-cases.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQNRHoycSp7ImA9WhRVGUs.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-8976097077604693371</id><published>2012-01-19T08:50:00.000+01:00</published><updated>2012-01-19T11:03:15.499+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T11:03:15.499+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="computers" /><category scheme="http://www.blogger.com/atom/ns#" term="social" /><category scheme="http://www.blogger.com/atom/ns#" term="psychology" /><category scheme="http://www.blogger.com/atom/ns#" term="life" /><category scheme="http://www.blogger.com/atom/ns#" term="blogging" /><title>The “no asshole comments” option</title><content type="html">This post contains a few thoughts on what can be done about negative comments.

&lt;a href="http://www.2ality.com/2012/01/negative-comments.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-8976097077604693371?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/Ty8emr0BkcU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/8976097077604693371/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=8976097077604693371" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8976097077604693371?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8976097077604693371?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/Ty8emr0BkcU/negative-comments.html" title="The “no asshole comments” option" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/negative-comments.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQAQ305eCp7ImA9WhRVGEo.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-5137380964122543881</id><published>2012-01-18T10:02:00.000+01:00</published><updated>2012-01-18T10:02:22.320+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T10:02:22.320+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="computers" /><category scheme="http://www.blogger.com/atom/ns#" term="vlc" /><title>VLC keyboard shortcuts</title><content type="html">Tip: “Preferences... → Hotkeys” lists VLC shortcuts. Two handy ones:
&lt;a href="http://www.2ality.com/2012/01/vlc-keyboard-shortcuts.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-5137380964122543881?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/E6oczDi7nBI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/5137380964122543881/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=5137380964122543881" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/5137380964122543881?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/5137380964122543881?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/E6oczDi7nBI/vlc-keyboard-shortcuts.html" title="VLC keyboard shortcuts" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/vlc-keyboard-shortcuts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEGR308eSp7ImA9WhRUE08.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-623280971034584241</id><published>2012-01-17T23:05:00.003+01:00</published><updated>2012-01-23T15:23:46.371+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-23T15:23:46.371+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="ecmascript.next" /><title>The first ECMAScript.next features in Firefox and Chrome</title><content type="html">&lt;b&gt;Update 2012-01-23:&lt;/b&gt; “&lt;a href="https://developer.mozilla.org/en/JavaScript/ECMAScript_6_support_in_Mozilla"&gt;ECMAScript 6 support in Mozilla&lt;/a&gt;” on the Mozilla Development Network.
&lt;p&gt;
The next version of ECMAScript (code-named ECMAScript.next &lt;a class="ptr"&gt;[1]&lt;/a&gt;) will be standardized by 2013. This post enumerates the first features that are currently being tested in Firefox and Chrome.

&lt;/p&gt;&lt;a href="http://www.2ality.com/2012/01/esnext-features.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-623280971034584241?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/3ARJQGKP_ko" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/623280971034584241/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=623280971034584241" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/623280971034584241?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/623280971034584241?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/3ARJQGKP_ko/esnext-features.html" title="The first ECMAScript.next features in Firefox and Chrome" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/esnext-features.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYFSXkycCp7ImA9WhRVF0g.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-4385321493677690413</id><published>2012-01-14T21:15:00.000+01:00</published><updated>2012-01-16T22:41:58.798+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T22:41:58.798+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="intel" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="tizen" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="samsung" /><title>Samsung to merge its Bada and Tizen mobile operating systems – Intel still on board?</title><content type="html">Quoting “&lt;a href="http://www.forbes.com/sites/elizabethwoyke/2012/01/13/samsung-merging-its-bada-os-with-intel-backed-tizen-project/"&gt;Samsung Merging Its Bada OS With Intel-Backed Tizen Project&lt;/a&gt;” by Elizabeth Woyke for Forbes [via &lt;a href="https://twitter.com/#!/ariyahidayat/status/158243348258369538"&gt;Ariya Hidayat&lt;/a&gt;]:
&lt;a href="http://www.2ality.com/2012/01/bada-tizen.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-4385321493677690413?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/q7Yr2zjFkiw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/4385321493677690413/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=4385321493677690413" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/4385321493677690413?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/4385321493677690413?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/q7Yr2zjFkiw/bada-tizen.html" title="Samsung to merge its Bada and Tizen mobile operating systems – Intel still on board?" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/bada-tizen.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcERns5eCp7ImA9WhRVFUo.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-3713334913961286228</id><published>2012-01-14T20:40:00.000+01:00</published><updated>2012-01-14T20:40:07.520+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-14T20:40:07.520+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="computers" /><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><category scheme="http://www.blogger.com/atom/ns#" term="vlc" /><title>Streaming a DVD to another Mac via VLC</title><content type="html">This post shows you how to stream a DVD from a sending Mac (e.g. an iMac) to a receiving Mac (e.g. a MacBook Air) using the free &lt;a href="http://www.videolan.org/vlc/"&gt;VLC media player&lt;/a&gt;. The explanation is also valid for other systems running VLC, but you will have to substitute a VNC server and client for the Mac’s built-in Screen Sharing (which is, in fact, based on VNC).
&lt;a href="http://www.2ality.com/2012/01/vlc-dvd-streaming.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-3713334913961286228?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/UHOMnlm-djg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/3713334913961286228/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=3713334913961286228" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/3713334913961286228?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/3713334913961286228?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/UHOMnlm-djg/vlc-dvd-streaming.html" title="Streaming a DVD to another Mac via VLC" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/vlc-dvd-streaming.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8BSHk6fip7ImA9WhRVE0Q.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-5723596467190641295</id><published>2012-01-12T21:07:00.003+01:00</published><updated>2012-01-12T21:07:39.716+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T21:07:39.716+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="html" /><category scheme="http://www.blogger.com/atom/ns#" term="css" /><title>Automatically numbering headings via CSS</title><content type="html">This post shows you how to number HTML headings with CSS. That is, given the following HTML.
&lt;pre&gt;
    &amp;lt;h1&amp;gt;My Article&amp;lt;/h1&amp;gt;
    &amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;
    &amp;lt;h3&amp;gt;Rationale&amp;lt;/h3&amp;gt;
    &amp;lt;h2&amp;gt;Background&amp;lt;/h2&amp;gt;
&lt;/pre&gt;
With the proper CSS, the above will be displayed as
&lt;blockquote&gt;
    &lt;b&gt;My Article&lt;/b&gt;&lt;br&gt;
    &lt;b&gt;1. Introduction&lt;/b&gt;&lt;br&gt;
    &lt;b&gt;1.1. Rationale&lt;/b&gt;&lt;br&gt;
    &lt;b&gt;2. Background&lt;/b&gt;
&lt;/blockquote&gt;

&lt;a href="http://www.2ality.com/2012/01/numbering-headingshtml.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-5723596467190641295?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/MsN2j_iirHM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/5723596467190641295/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=5723596467190641295" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/5723596467190641295?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/5723596467190641295?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/MsN2j_iirHM/numbering-headingshtml.html" title="Automatically numbering headings via CSS" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/numbering-headingshtml.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AFRHc4fSp7ImA9WhRVEUQ.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-7773858121014764008</id><published>2012-01-10T13:48:00.001+01:00</published><updated>2012-01-10T13:48:35.935+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-10T13:48:35.935+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="git" /><title>GitHub: serve files to the web, with a single branch</title><content type="html">GitHub has a nifty feature called &lt;a href="http://pages.github.com/"&gt;GitHub Pages&lt;/a&gt; that allows you to serve files in your repository to the web. Those files have to reside in the branch gh-pages, which is different from the usual master branch. To avoid the slightly cumbersome maintenance of two branches, this post shows you how to only work with gh-pages.
&lt;a href="http://www.2ality.com/2012/01/gh-pages.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-7773858121014764008?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/ubZ4sU-Vk_s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/7773858121014764008/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=7773858121014764008" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/7773858121014764008?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/7773858121014764008?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/ubZ4sU-Vk_s/gh-pages.html" title="GitHub: serve files to the web, with a single branch" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/gh-pages.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUESXs-eip7ImA9WhRVEEg.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-8290729264801778254</id><published>2012-01-08T19:05:00.001+01:00</published><updated>2012-01-08T20:50:08.552+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T20:50:08.552+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><title>JavaScript inheritance by example</title><content type="html">This blog post illustrates several JavaScript inheritance topics via an example: We start with naive implementations of a constructor &lt;tt&gt;Point&lt;/tt&gt; and its sub-constructor &lt;tt&gt;ColorPoint&lt;/tt&gt; and then improve them, step by step. This post should be self-explanatory, but where it isn’t, you can consult the more thorough introduction to JavaScript inheritance at &lt;a class="ptr"&gt;[1]&lt;/a&gt;.

&lt;a href="http://www.2ality.com/2012/01/js-inheritance-by-example.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-8290729264801778254?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/NUVji2ktkFU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/8290729264801778254/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=8290729264801778254" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8290729264801778254?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8290729264801778254?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/NUVji2ktkFU/js-inheritance-by-example.html" title="JavaScript inheritance by example" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/js-inheritance-by-example.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QGRno9eSp7ImA9WhRWF0g.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-6121235690882343332</id><published>2012-01-05T08:28:00.000+01:00</published><updated>2012-01-05T09:15:27.461+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T09:15:27.461+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jstools" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><title>Crockford’s JSDev: switching off privacy for testing</title><content type="html">Today, Douglas Crockford &lt;a href="https://plus.google.com/118095276221607585885/posts/CTZ7BNx7a8z"&gt;introduced&lt;/a&gt; a new project: &lt;a href="https://github.com/douglascrockford/JSDev"&gt;JSDev&lt;/a&gt;. It solves a challenge with privacy: On one hand, you don’t want the outside world to have access to private functionality. On the other hand, you want to test it, via external unit tests.
&lt;a href="http://www.2ality.com/2012/01/jsdev.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-6121235690882343332?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/Y82bBGIbbaQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/6121235690882343332/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=6121235690882343332" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/6121235690882343332?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/6121235690882343332?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/Y82bBGIbbaQ/jsdev.html" title="Crockford’s JSDev: switching off privacy for testing" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/jsdev.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEESH4yfSp7ImA9WhRWFkw.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-739161921234831997</id><published>2012-01-03T11:50:00.000+01:00</published><updated>2012-01-03T19:00:09.095+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-03T19:00:09.095+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><title>The pitfalls of using objects as maps in JavaScript</title><content type="html">JavaScript is Spartan when it comes to built-in data structures. One commonly uses objects as maps from strings to values. This post points out three pitfalls when doing so.

&lt;a href="http://www.2ality.com/2012/01/objects-as-maps.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-739161921234831997?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/uVS2hFJzSks" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/739161921234831997/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=739161921234831997" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/739161921234831997?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/739161921234831997?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/uVS2hFJzSks/objects-as-maps.html" title="The pitfalls of using objects as maps in JavaScript" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/objects-as-maps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUCRH09cSp7ImA9WhRWFUU.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-6645181850413280734</id><published>2012-01-03T09:44:00.000+01:00</published><updated>2012-01-03T09:44:25.369+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-03T09:44:25.369+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="webos" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="webdev" /><title>Dion Almaer on the history of webOS</title><content type="html">Dion Almaer was head of webOS developer relations at Palm. He gives a &lt;a href="http://almaer.com/blog/the-rise-and-fall-of-webos-is-an-epic-tale-webos-web-os"&gt;nice account&lt;/a&gt; of the history of webOS. Quote:
&lt;a href="http://www.2ality.com/2012/01/webos-almaer.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-6645181850413280734?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/JpzXEWstXcc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/6645181850413280734/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=6645181850413280734" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/6645181850413280734?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/6645181850413280734?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/JpzXEWstXcc/webos-almaer.html" title="Dion Almaer on the history of webOS" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/webos-almaer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUEQXg4eSp7ImA9WhRWFEk.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-1329642878157382744</id><published>2012-01-01T13:39:00.000+01:00</published><updated>2012-01-01T19:56:40.631+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-01T19:56:40.631+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><title>The multiple roles of JavaScript objects and arrays</title><content type="html">Both objects and arrays play multiple roles in JavaScript. This blog post explains what those roles are.
&lt;a href="http://www.2ality.com/2012/01/roles-objects-arrays.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-1329642878157382744?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/oFD0U_zxcU0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/1329642878157382744/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=1329642878157382744" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/1329642878157382744?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/1329642878157382744?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/oFD0U_zxcU0/roles-objects-arrays.html" title="The multiple roles of JavaScript objects and arrays" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.2ality.com/2012/01/roles-objects-arrays.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QNQX87eCp7ImA9WhRWEEU.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-7472738996084082948</id><published>2011-12-28T16:14:00.001+01:00</published><updated>2011-12-28T16:16:30.100+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-28T16:16:30.100+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><title>Why do some JavaScript methods have such long names?</title><content type="html">Allen Wirfs-Brock (the project editor of the ECMAScript 5 specification) recently &lt;a href="https://mail.mozilla.org/pipermail/es-discuss/2011-October/017175.html"&gt;mentioned&lt;/a&gt; the thought process behind method names such as &lt;tt&gt;Object.getOwnPropertyNames()&lt;/tt&gt;:
&lt;a href="http://www.2ality.com/2011/12/js-api-names.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-7472738996084082948?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/7LXlTmWjb1s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/7472738996084082948/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=7472738996084082948" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/7472738996084082948?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/7472738996084082948?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/7LXlTmWjb1s/js-api-names.html" title="Why do some JavaScript methods have such long names?" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.2ality.com/2011/12/js-api-names.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQARXoyfyp7ImA9WhRWF0o.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-2684819256938131867</id><published>2011-12-27T15:39:00.002+01:00</published><updated>2012-01-05T16:12:24.497+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T16:12:24.497+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><category scheme="http://www.blogger.com/atom/ns#" term="ecmascript.next" /><title>es6-shim – ECMAScript 6 functionality on ECMAScript 5</title><content type="html">Paul Miller’s &lt;a href="https://github.com/paulmillr/es6-shim"&gt;es6-shim&lt;/a&gt; gives you functionality that will be in ECMAScript 6 (code-named ECMAScript.next), on ECMAScript 5 engines. It was initially based on a project of mine, but adds much new functionality, Node.js compatibility, and (not least) tests.
&lt;a href="http://www.2ality.com/2011/12/es6-shim.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-2684819256938131867?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/9y5c7laiymI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/2684819256938131867/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=2684819256938131867" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/2684819256938131867?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/2684819256938131867?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/9y5c7laiymI/es6-shim.html" title="es6-shim – ECMAScript 6 functionality on ECMAScript 5" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://www.2ality.com/2011/12/es6-shim.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QNR3s7fCp7ImA9WhRXGU4.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-4168852661477680482</id><published>2011-12-26T19:10:00.002+01:00</published><updated>2011-12-26T22:36:36.504+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-26T22:36:36.504+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><category scheme="http://www.blogger.com/atom/ns#" term="ecmascript.next" /><title>Subtyping JavaScript built-ins</title><content type="html">JavaScript’s built-ins are difficult to subtype. This post explains why and presents solutions.
&lt;a href="http://www.2ality.com/2011/12/subtyping-builtins.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-4168852661477680482?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/T8dXtCjmSJ8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/4168852661477680482/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=4168852661477680482" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/4168852661477680482?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/4168852661477680482?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/T8dXtCjmSJ8/subtyping-builtins.html" title="Subtyping JavaScript built-ins" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.2ality.com/2011/12/subtyping-builtins.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ACQXs8cSp7ImA9WhRXFkg.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-3633597675136276931</id><published>2011-12-23T15:09:00.000+01:00</published><updated>2011-12-23T15:49:20.579+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-23T15:49:20.579+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="traffic" /><category scheme="http://www.blogger.com/atom/ns#" term="scitech" /><title>Reinventing the tire – without air</title><content type="html">It’s a dream come true: drive a vehicle without worrying about a flat tire or insufficient air pressure. Bridgestone has presented a concept for “&lt;a href="http://www.bridgestonetire.com/NewsArticle/Bridgestone_Announces_Development_of_Non-Pneumatic_%28Airless%29_Concept_Tire/8bbb41e1-8174-4922-bd14-67d71c182129"&gt;airless tires&lt;/a&gt;”.
&lt;a href="http://www.2ality.com/2011/12/airfree-tires.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-3633597675136276931?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/uoKF_L1z7vM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/3633597675136276931/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=3633597675136276931" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/3633597675136276931?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/3633597675136276931?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/uoKF_L1z7vM/airfree-tires.html" title="Reinventing the tire – without air" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-ae5XiUybGS8/TvSKRMLToKI/AAAAAAAAAkc/pJp78m2Z_Dc/s72-c/bridgestone-airless-tires.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.2ality.com/2011/12/airfree-tires.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EBQHwzcSp7ImA9WhRXFkk.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-6289249415295552095</id><published>2011-12-23T14:07:00.001+01:00</published><updated>2011-12-23T14:07:31.289+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-23T14:07:31.289+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="computers" /><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><category scheme="http://www.blogger.com/atom/ns#" term="itunes" /><title>Hello iTunes Account Switcher (goodbye TuneSwitch)</title><content type="html">&lt;a href="http://appletips.nl/itunes-account-switcher/"&gt;iTunes Account Switcher&lt;/a&gt; is a Mac OS X utility for quickly switching between iTunes accounts.
&lt;p&gt;
&lt;/p&gt;&lt;a href="http://www.2ality.com/2011/12/itunes-account-switcher.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-6289249415295552095?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/1TcWIV4ON9w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/6289249415295552095/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=6289249415295552095" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/6289249415295552095?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/6289249415295552095?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/1TcWIV4ON9w/itunes-account-switcher.html" title="Hello iTunes Account Switcher (goodbye TuneSwitch)" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-2BWw2jD1I24/TvR8yoIlOiI/AAAAAAAAAkE/FqB04tNuuew/s72-c/itunes_account_switcher.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.2ality.com/2011/12/itunes-account-switcher.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EGRHc4cSp7ImA9WhRXFk8.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-1800219868750248345</id><published>2011-12-23T07:26:00.003+01:00</published><updated>2011-12-23T07:27:05.939+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-23T07:27:05.939+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><title>JS Central – a website with JavaScript news and links</title><content type="html">Check out my latest project: &lt;a href="http://jscentral.org/"&gt;JS Central&lt;/a&gt;, a website with JavaScript news and links.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-1800219868750248345?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/VvKllPUnWwo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/1800219868750248345/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=1800219868750248345" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/1800219868750248345?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/1800219868750248345?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/VvKllPUnWwo/jscentral.html" title="JS Central – a website with JavaScript news and links" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.2ality.com/2011/12/jscentral.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4FRXwyfSp7ImA9WhRXFE8.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-8216629063261309940</id><published>2011-12-20T07:47:00.002+01:00</published><updated>2011-12-20T23:41:54.295+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-20T23:41:54.295+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="dev" /><category scheme="http://www.blogger.com/atom/ns#" term="clientjs" /><category scheme="http://www.blogger.com/atom/ns#" term="jsguide" /><title>What is the difference between a shim and a polyfill?</title><content type="html">In the JavaScript world, one frequently encounters the words &lt;i&gt;shim&lt;/i&gt; and &lt;i&gt;polyfill&lt;/i&gt;. What are those things and what is the difference between them?
&lt;a href="http://www.2ality.com/2011/12/shim-vs-polyfill.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-8216629063261309940?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/DAM72IBmCDk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/8216629063261309940/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=8216629063261309940" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8216629063261309940?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/8216629063261309940?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/DAM72IBmCDk/shim-vs-polyfill.html" title="What is the difference between a shim and a polyfill?" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-8xHKmoN9yMo/TvAuhYjmRRI/AAAAAAAAAjI/ckWrprsaGt0/s72-c/polyfilla.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://www.2ality.com/2011/12/shim-vs-polyfill.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMAQnc4eip7ImA9WhRXEkQ.&quot;"><id>tag:blogger.com,1999:blog-8100407163665430627.post-3044759452316332816</id><published>2011-12-19T13:05:00.002+01:00</published><updated>2011-12-19T13:24:03.932+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T13:24:03.932+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="education" /><category scheme="http://www.blogger.com/atom/ns#" term="life" /><category scheme="http://www.blogger.com/atom/ns#" term="foreign languages" /><title>Duolingo: using free online language lessons to translate texts</title><content type="html">Duolingo achieves an impressive win-win: Customers get to learn a foreign language for free while helping the company translate texts.

&lt;a href="http://www.2ality.com/2011/12/duolingo.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8100407163665430627-3044759452316332816?l=www.2ality.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/2ality/~4/jqtBuiQXAJg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.2ality.com/feeds/3044759452316332816/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8100407163665430627&amp;postID=3044759452316332816" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/3044759452316332816?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8100407163665430627/posts/default/3044759452316332816?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/2ality/~3/jqtBuiQXAJg/duolingo.html" title="Duolingo: using free online language lessons to translate texts" /><author><name>Axel Rauschmayer</name><uri>http://www.blogger.com/profile/05161748944927386101</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://bp1.blogger.com/_OmQeTejy15k/SFLaRDtJctI/AAAAAAAAAAM/Q_l65asuamY/S220/blog_kopf_12.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-zDCARS88Pt0/Tu8owi8fyUI/AAAAAAAAAjA/EYeAbou0-ac/s72-c/recaptcha.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.2ality.com/2011/12/duolingo.html</feedburner:origLink></entry></feed>

